Python OLS模型:__ init __()缺少1个必需的位置参数:'endog'

时间:2017-12-26 12:26:03

标签: python python-3.x dataframe charts statsmodels

import statsmodels.api as sm
xdat = rets['EUROSTOXX']
xdat = sm.add_constant(xdat)
ydat = rets['VSTOXX']
model = sm.OLS(y=ydat,x=xdat).fit()

我不明白为什么会弹出如主题所述的错误。以下是rets Dataframe的尾部

Out[105]:
            EUROSTOXX   VSTOXX
2014-12-23  0.011835    -0.039307
2014-12-24  -0.002449   0.000000
2014-12-29  0.000160    0.121598
2014-12-30  -0.015574   0.048998
2014-12-31  0.003336    0.000000

1 个答案:

答案 0 :(得分:3)

根据documentation of OLS,函数的参数不是yx,而是endogexog。您只需将函数调用更改为:

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

或:

model = sm.OLS(endog=ydat, exog=xdat).fit()