statsmodels.stats.diagnostic.het_breuschpagan(resid, exog_het) [source]

Breusch-Pagan Lagrange Multiplier test for heteroscedasticity

The tests the hypothesis that the residual variance does not depend on the variables in x in the form

Math: sigma_i = sigma * f(alpha_0 + alpha z_i)

Homoscedasticity implies that $alpha=0$

  • resid (array-like) – For the Breusch-Pagan test, this should be the residual of a regression. If an array is given in exog, then the residuals are calculated by the an OLS regression or resid on exog. In this case resid should contain the dependent variable. Exog can be the same as x. TODO: I dropped the exog option, should I add it back?
  • exog_het (array_like) – This contains variables that might create data dependent heteroscedasticity.
  • lm (float) – lagrange multiplier statistic
  • lm_pvalue (float) – p-value of lagrange multiplier test
  • fvalue (float) – f-statistic of the hypothesis that the error variance does not depend on x
  • f_pvalue (float) – p-value for the f-statistic


Assumes x contains constant (for counting dof and calculation of R^2). In the general description of LM test, Greene mentions that this test exaggerates the significance of results in small or moderately large samples. In this case the F-statistic is preferrable.


Chisquare test statistic is exactly (<1e-13) the same result as bptest in R-stats with defaults (studentize=True).

Implementation This is calculated using the generic formula for LM test using $R^2$ (Greene, section 17.6) and not with the explicit formula (Greene, section 11.4.3). The degrees of freedom for the p-value assume x is full rank.


http://en.wikipedia.org/wiki/Breusch%E2%80%93Pagan_test Greene 5th edition Breusch, Pagan article

© 2009–2012 Statsmodels Developers
© 2006–2008 Scipy Developers
© 2006 Jonathan E. Taylor
Licensed under the 3-clause BSD License.