Słownik metodologiczny · Testy statystyczne

Test Jarque–Bera – jak sprawdza normalność rozkładu?

Test Jarque–Bera ocenia normalność rozkładu na podstawie skośności i kurtozy z próby. Pokazujemy wzór, przykład w R, opis wyniku do pracy i to, dlaczego w małych próbach lepiej wybrać test Shapiro–Wilka.

Strona główna / Słownik / Test Jarque–Bera
W skrócie: Test Jarque–Bera sprawdza normalność rozkładu na podstawie skośności i kurtozy z próby: JB = n/6 · [S² + (K − 3)²/4], a przy dużym n statystykę porównuje się z rozkładem chi-kwadrat z 2 stopniami swobody. W małych próbach jest zachowawczy, a przy krótkich ogonach ma słabą moc, więc przy małym n lepiej sprawdza się test Shapiro–Wilka.

Co to jest test Jarque–Bera?

Test Jarque–Bera (ang. Jarque–Bera test, test JB) to test normalności oparty na dwóch miarach kształtu rozkładu: skośności i kurtozie z próby. Jarque i Bera (1987) przedstawili go jako test normalności zarówno obserwacji, jak i reszt regresji, dlatego jest popularny w ekonometrii i finansach. Hipoteza zerowa mówi, że dane pochodzą z rozkładu normalnego, czyli skośność wynosi 0, a kurtoza 3.

Jak się go liczy?

JB = n/6 · [S² + (K − 3)²/4], gdzie S to skośność, a K kurtoza (nie nadwyżka kurtozy) policzone z momentów próby. Przy dużym n statystyka ma w przybliżeniu rozkład chi-kwadrat z 2 stopniami swobody, więc wartość krytyczna przy α = .05 wynosi 5.99. Test reaguje na asymetrię i na zbyt grube lub zbyt cienkie ogony, ale nie widzi innych odstępstw: rozkład o S = 0 i K = 3 przejdzie test, nawet jeśli nie jest normalny.

Przykład w R

W 200 obserwacjach z rozkładu normalnego S = 0.096, K = 2.756 i JB = 0.81 (p = .668). W 200 obserwacjach z rozkładu logarytmiczno-normalnego S = 1.524, K = 6.233 i JB = 164.52 (p < .001), bo rozkład jest prawoskośny i ma grube ogony. Ten sam wynik daje funkcja jarque.bera.test() z pakietu tseries.

W małych próbach przybliżenie chi-kwadrat zawodzi. W 10 000 symulowanych próbach normalnych po 20 obserwacji test odrzucił hipotezę zerową w 2.7% przypadków zamiast w 5%, czyli jest zachowawczy. Thadewald i Büning (2007) stwierdzili, że wartości krytyczne z rozkładu chi-kwadrat nie sprawdzają się dobrze, a test ma słabą moc przy krótkich ogonach i rozkładach dwumodalnych. Przy małym n lepiej sięgnąć po test Shapiro–Wilka, który w symulacjach Yap i Sim (2011) był najmocniejszy przy rozkładach asymetrycznych.

Jak opisać w pracy

Normalność rozkładu zmiennej sprawdzono testem Jarque–Bera. Rozkład był prawoskośny i leptokurtyczny (skośność = 1.52, kurtoza = 6.23), a test wskazał na istotne odstępstwo od rozkładu normalnego, JB = 164.52, p < .001 (N = 200).

Na co uważać

Przykład reprodukowalny

Test Jarque–Bera w R

Kod liczy skośność, kurtozę i statystykę JB ze wzoru dla danych normalnych i prawoskośnych, porównuje wynik z funkcją jarque.bera.test() i sprawdza w symulacji, jak często test odrzuca normalność przy 20 obserwacjach.

Statystyka JB ze wzoru i z pakietu tseries

Dane wejściowe: po 200 symulowanych obserwacji z rozkładu normalnego i logarytmiczno-normalnego; 10 000 prób po 20 obserwacji z rozkładu normalnego; set.seed(4341).

Co odczytać: S, K, JB i p dla obu rozkładów, wartość krytyczną 5.99 oraz odsetek odrzuceń w małych próbach (powinien wynosić 5%).

R
library(tseries)
set.seed(4341)
x_norm <- rnorm(200)                 # rozkład normalny
x_log  <- rlnorm(200, sdlog = 0.5)   # rozkład prawoskośny
jb <- function(x) {
  n <- length(x); m <- x - mean(x)
  S <- mean(m^3) / mean(m^2)^1.5     # skośność
  K <- mean(m^4) / mean(m^2)^2       # kurtoza (normalny: 3)
  JB <- n / 6 * (S^2 + (K - 3)^2 / 4)
  round(c(S = S, K = K, JB = JB, p = pchisq(JB, 2, lower.tail = FALSE)), 3)
}
rbind(normalny = jb(x_norm), lognormalny = jb(x_log))
jarque.bera.test(x_log)$statistic    # to samo w pakiecie tseries
round(qchisq(.95, df = 2), 2)        # wartość krytyczna przy α = .05
# Odsetek p < .05 dla danych normalnych przy małym n (powinno być 5%)
mean(replicate(10000, jarque.bera.test(rnorm(20))$p.value < .05))
Wynik w R
                S     K      JB     p
normalny    0.096 2.756   0.806 0.668
lognormalny 1.524 6.233 164.516 0.000
X-squared 
 164.5161 
[1] 5.99
[1] 0.0267

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (z pakietem tseries). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. tseries (wersja 0.10.61): Trapletti, A., & Hornik, K. (2026). tseries: Time series analysis and computational finance (R package version 0.10-61) [Computer software]. https://doi.org/10.32614/CRAN.package.tseries

Najczęstsze pytania

Czy test Jarque–Bera nadaje się do małej próby?

Słabo. Przy 20 obserwacjach w naszej symulacji odrzucał normalność w 2.7% zamiast 5% przypadków, a przy krótkich ogonach ma małą moc. Przy małym n wybierz test Shapiro–Wilka.

Czym test Jarque–Bera różni się od testu Shapiro–Wilka?

Jarque–Bera patrzy tylko na skośność i kurtozę, a Shapiro–Wilk porównuje uporządkowane wyniki z oczekiwanymi przy normalności. W symulacjach Yap i Sim (2011) Shapiro–Wilk był co najmniej równie mocny.

Jak policzyć test Jarque–Bera w R?

Najprościej funkcją jarque.bera.test() z pakietu tseries; podaje statystykę X-squared, df = 2 i p. W regresji zastosuj ją do reszt modelu, np. residuals(model).

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Jarque, C. M., & Bera, A. K. (1987). A test for normality of observations and regression residuals. International Statistical Review, 55(2), 163–172. https://doi.org/10.2307/1403192
  2. Thadewald, T., & Büning, H. (2007). Jarque–Bera test and its competitors for testing normality – A power comparison. Journal of Applied Statistics, 34(1), 87–105. https://doi.org/10.1080/02664760600994539
  3. Yap, B. W., & Sim, C. H. (2011). Comparisons of various types of normality tests. Journal of Statistical Computation and Simulation, 81(12), 2141–2155. https://doi.org/10.1080/00949655.2010.520163 ● Otwarty dostęp

Cytowania BibTeX

@article{jarque1987test, author={Jarque, Carlos M. and Bera, Anil K.}, title={{A test for normality of observations and regression residuals}}, journal={International Statistical Review}, year={1987}, volume={55}, number={2}, pages={163--172}, doi={10.2307/1403192}}
@article{thadewald2007jarque, author={Thadewald, Thorsten and Büning, Herbert}, title={{Jarque–Bera test and its competitors for testing normality – A power comparison}}, journal={Journal of Applied Statistics}, year={2007}, volume={34}, number={1}, pages={87--105}, doi={10.1080/02664760600994539}}
@article{yap2011comparisons, author={Yap, B. W. and Sim, C. H.}, title={{Comparisons of various types of normality tests}}, journal={Journal of Statistical Computation and Simulation}, year={2011}, volume={81}, number={12}, pages={2141--2155}, doi={10.1080/00949655.2010.520163}}
R