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

use*_*321 5 python charts dataframe python-3.x 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()
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现该主题所述的错误。下面是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
Run Code Online (Sandbox Code Playgroud)

Gle*_*.J. 6

根据OLS文档,函数的参数不是调用yand x,而是endogand exog。您可以简单地将函数调用更改为:

model = sm.OLS(ydat, xdat).fit()
Run Code Online (Sandbox Code Playgroud)

或者:

model = sm.OLS(endog=ydat, exog=xdat).fit()
Run Code Online (Sandbox Code Playgroud)