In statistics, the Jarque–Bera test is a goodnessoffit test of whether sample data have the skewness and kurtosis matching a normal distribution. The test is named after Carlos Jarque and Anil K. Bera. The test statistic JB is defined as

\mathit{JB} = \frac{n}{6} \left( S^2 + \frac14 (K3)^2 \right)
where n is the number of observations (or degrees of freedom in general); S is the sample skewness, and K is the sample kurtosis:

S = \frac{ \hat{\mu}_3 }{ \hat{\sigma}^3 } = \frac{\frac1n \sum_{i=1}^n (x_i\bar{x})^3} {\left(\frac1n \sum_{i=1}^n (x_i\bar{x})^2 \right)^{3/2}} ,

K = \frac{ \hat{\mu}_4 }{ \hat{\sigma}^4 } = \frac{\frac1n \sum_{i=1}^n (x_i\bar{x})^4} {\left(\frac1n \sum_{i=1}^n (x_i\bar{x})^2 \right)^{2}} ,
where \hat{\mu}_3 and \hat{\mu}_4 are the estimates of third and fourth central moments, respectively, \bar{x} is the sample mean, and \hat{\sigma}^2 is the estimate of the second central moment, the variance.
If the data come from a normal distribution, the JB statistic asymptotically has a chisquared distribution with two degrees of freedom, so the statistic can be used to test the hypothesis that the data are from a normal distribution. The null hypothesis is a joint hypothesis of the skewness being zero and the excess kurtosis being zero. Samples from a normal distribution have an expected skewness of 0 and an expected excess kurtosis of 0 (which is the same as a kurtosis of 3). As the definition of JB shows, any deviation from this increases the JB statistic.
For small samples the chisquared approximation is overly sensitive, often rejecting the null hypothesis when it is in fact true. Furthermore, the distribution of pvalues departs from a uniform distribution and becomes a rightskewed unimodal distribution, especially for small pvalues. This leads to a large Type I error rate. The table below shows some pvalues approximated by a chisquared distribution that differ from their true alpha levels for small samples.

Calculated pvalue equivalents to true alpha levels at given sample sizes
True α level

20

30

50

70

100

0.1

0.307

0.252

0.201

0.183

0.1560

0.05

0.1461

0.109

0.079

0.067

0.062

0.025

0.051

0.0303

0.020

0.016

0.0168

0.01

0.0064

0.0033

0.0015

0.0012

0.002

(These values have been approximated by using Monte Carlo simulation in Matlab)
In MATLAB's implementation, the chisquared approximation for the JB statistic's distribution is only used for large sample sizes (> 2000). For smaller samples, it uses a table derived from Monte Carlo simulations in order to interpolate pvalues.^{[1]}
Contents

History 1

Jarque–Bera test in regression analysis 2

References 3

Implementations 4
History
Considering normal sampling, and √β_{1} and β_{2} contours, Bowman & Shenton (1975) noticed that the statistic JB will be asymptotically χ^{2}(2)distributed; however they also noted that “large sample sizes would doubtless be required for the χ^{2} approximation to hold”. Bowman and Shelton did not study the properties any further, preferring D’Agostino’s Ksquared test.
A
Jarque–Bera test in regression analysis
According to Robert Hall, David Lilien, et al. (1995) when using this test along with multiple regression analysis the right estimate is:

\mathit{JB} = \frac{nk}{6} \left( S^2 + \frac14 (K3)^2 \right)
where n is the number of observations and k is the number of regressors when examining residuals to an equation.
References

^ "Analysis of the JBTest in MATLAB". MathWorks. Retrieved May 24, 2009.

Bowman, K.O.; Shenton, L.R. (1975). "Omnibus contours for departures from normality based on √b_{1} and b_{2}". Biometrika 62 (2): 243–250.




Judge; et al. (1988). Introduction and the theory and practice of econometrics (3rd ed.). pp. 890–892.

Hall, Robert E.; Lilien, David M.; et al. (1995). EViews User Guide. p. 141.
Implementations

ALGLIB includes implementation of the Jarque–Bera test in C++, C#, Delphi, Visual Basic, etc.

gretl includes an implementation of the Jarque–Bera test

R includes implementations of the Jarque–Bera test: jarque.bera.test in package tseries, for example, and jarque.test in package moments.

MATLAB includes implementation of the Jarque–Bera test, the function "jbtest".

Python statsmodels includes implementation of the Jarque–Bera test, "statsmodels.stats.stattools.py".
This article was sourced from Creative Commons AttributionShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, EGovernment Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a nonprofit organization.