Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OLS Breusch Pagan test in Python

I used the statsmodels package to estimate my OLS regression. Now I want Breusch Pagan test. I used the pysal package for this test but this function returns an error:

import statsmodels.api as sm
import pysal

model = sm.OLS(Y,X,missing = 'drop')
rs = model.fit()
pysal.spreg.diagnostics.breusch_pagan(rs)

returned error:

AttributeError: 'OLSResults' object has no attribute 'u'

What should I do?

like image 607
Eghbal Avatar asked Feb 11 '23 05:02

Eghbal


1 Answers

The problem is that the regression results instance of statsmodels is not compatible with the one in pysal.

You can use breuschpagan from statsmodels, which takes OLS residuals and candidates for explanatory variables for the heteroscedasticity and so it does not rely on a specific model or implementation of a model.

documentation: https://www.statsmodels.org/devel/generated/statsmodels.stats.diagnostic.het_breuschpagan.html

with examples here https://www.statsmodels.org/devel/examples/notebooks/generated/regression_diagnostics.html

I do not know if there are any essential differences in the implementation of the Breusch-Pagan test.

It looks like the name is misspelled in statsmodels.

edit The spelling of the name has been corrected in statsmodels version 0.9. The old incorrect spelling was breushpagan.

like image 86
Josef Avatar answered Feb 13 '23 04:02

Josef