当我在两列数据之间进行回归分析时,我遇到了一个问题。
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>
如何获取模型摘要结果而不是存储地址?感谢!!!
答案 0 :(得分:0)
首先,您需要适合您的模型,
import statsmodels.api as sm
ydat = rets["VSTOXX"]
xdat = rets["EUROSTOXX"]
xdat = sm.add_constant(xdat)
model = sm.OLS(ydat, xdat)
results = model.fit()
然后你可以打印系数结果,
print(results.t_test([1, 0]))
和摘要结果,
print(results.summary())
答案 1 :(得分:0)
您需要在模型后添加方法括号
作为model.summary()
它对我有用
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()
然后,就像
一样model.summary()
你也可以直接使用
获得R ^ 2和Adj.R ^ 2print(model.rsquared)
print(model.rsquared_adj)
答案 2 :(得分:0)
为获得更好的演示效果或结果显示,您可以使用
xdat = sm.add_constant(xdat)
model = sm.OLS(ydat,xdat).fit()
print(model.summary())