Получить статистику Durbin-Watson и Jarque-Bera из сводки OLS в Python

Я запускаю сводку OLS для столбца значений. Частью OLS является статистика Durbin-Watson и Jarque-Bera (JB), и я хочу извлечь эти значения напрямую, так как они уже рассчитаны, а не выполнять шаги как дополнительные шаги, как я делаю сейчас с durbinwatson.

Вот код, который у меня есть:

import pandas as pd
import statsmodels.api as sm

csv = mydata.csv
df = pd.read_csv(csv)
var = df[variable]
year = df['Year']
model = sm.OLS(var,year)
results = model.fit()
summary = results.summary()
print summary
#print dir(results)
residuals = results.resid
durbinwatson = statsmodels.stats.stattools.durbin_watson(residuals, axis=0)
print durbinwatson

Результаты:

                           OLS Regression Results                            
==============================================================================
Dep. Variable:                    LST   R-squared:                       1.000
Model:                            OLS   Adj. R-squared:                  1.000
Method:                 Least Squares   F-statistic:                 3.026e+05
Date:                Fri, 10 Nov 2017   Prob (F-statistic):           2.07e-63
Time:                        20:37:03   Log-Likelihood:                -82.016
No. Observations:                  32   AIC:                             166.0
Df Residuals:                      31   BIC:                             167.5
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
Year           0.1551      0.000    550.069      0.000       0.155       0.156
==============================================================================
Omnibus:                        1.268   Durbin-Watson:                   1.839
Prob(Omnibus):                  0.530   Jarque-Bera (JB):                1.087
Skew:                          -0.253   Prob(JB):                        0.581
Kurtosis:                       2.252   Cond. No.                         1.00
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Я понял, что печатая

dir(results)

Я мог бы получить список элементов OLS Summary и без проблем вытащить остатки теста, как я делаю здесь (или R в квадрате и прочее), но я не могу вытащить только Дурбина Уотсона или только Жарка Бер. Я попробовал это:

print results.wald_test

Но я просто получаю ошибку:

<bound method OLSResults.wald_test of <statsmodels.regression.linear_model.OLSResults object at 0x0D05B3F0>>

И я даже не могу найти тест Jarque Bera в каталоге резюме. Любая помощь?

1 ответ

      import pandas as pd
import statsmodels.api as sm
from statsmodels.stats.stattools import durbin_watson #add this import 


csv = mydata.csv
df = pd.read_csv(csv)
var = df[variable]
year = df['Year']
model = sm.OLS(var,year)
results = model.fit()
summary = results.summary()
dw = float(durbin_watson(results.resid)) # this line will access the durbin watson score 
print(dw)
Другие вопросы по тегам