statsmodels.stats.diagnostic.het_breuschpagan

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$

Parameters
residarray_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_hetarray_like

This contains variables that might create data dependent heteroscedasticity.

Returns
lmfloat

lagrange multiplier statistic

lm_pvalue :float

p-value of lagrange multiplier test

fvaluefloat

f-statistic of the hypothesis that the error variance does not depend on x

f_pvaluefloat

p-value for the f-statistic

Notes

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 preferable.

Verification

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.

References

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