2017-04-23 2 views
0

Ich habe gerade ein Problem festgestellt, als ich eine Regressionsanalyse zwischen zwei Datenspalten durchführte.Jupyter Notebook kann die Regressionszusammenfassung nicht anzeigen

In [19]: import statsmodels.api as sm 

     xdat = rets['EUROSTOXX'] 
     ydat = rets['VSTOXX'] 
     model = sm.OLS(ydat, xdat) 
     model 

Out[19]: <statsmodels.regression.linear_model.OLS at 0x4793da0> 

Wie kann ich ein Modellzusammenfassungsergebnis anstelle einer Speicheradresse erhalten? Vielen Dank!!!

+0

Hier haben Sie einige Beispiele, [statsmodels.regression. linear_model.OLS] (http://statsmodels.sourceforge.net/devel/generated/statsmodels.regress.linear_model.OLS.html) – manelfp

+0

Ich kann das Problem immer noch nicht lösen ... Können Sie mir das konkret erklären? – Hot

Antwort

0

Zuerst müssen Sie Ihr Modell passen,

import statsmodels.api as sm 

ydat = rets["VSTOXX"] 
xdat = rets["EUROSTOXX"] 
xdat = sm.add_constant(xdat) 

model = sm.OLS(ydat, xdat) 
results = model.fit() 

Dann können Sie den Koeffizienten Ergebnis drucken,

print(results.t_test([1, 0])) 

und die Zusammenfassung der Ergebnisse,

print(results.summary()) 
+0

hat nicht funktioniert. ValueError: falsche Form für Coefs ... – Hot

+0

Ich habe 'xdat = sm.add_constant (xdat)' vergessen, versuche es erneut. Das ist für mich in Ordnung. – manelfp

+0

es funktioniert, danke – Hot

0

Sie müssen hinzufügen Methode Klammer nach Modell als model.summary()

Es funktioniert für mich als

import statsmodels.api as sm 

ydat = rets["VSTOXX"] 
xdat = rets["EUROSTOXX"] 

# Adding constant for Intercept 
xdat = sm.add_constant(xdat) 

model = sm.OLS(ydat, xdat) 
results = model.fit() 

Dann einfach als

model.summary() 

Sie können auch R^2 und Adj.R^2 direkt mit

print(model.rsquared) 
print(model.rsquared_adj) 

Mehr bekommen unter: statsmodels.regression.linear_model.OLSResults