状态模型 _df_model 属性错误

statsmodels _df_model attribute error

这个问题最初发生在真实数据上,但可以用来自 statsmodels 网站的示例代码复制它 (http://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.OLS.html)

import statsmodels.api as sm
y = [1,3,4,5,2,3,4]
x = range(1,8)
# x = sm.add_constant(x) # including this line makes no difference
model = sm.OLS.fit(y,x)

这是回溯:

  File "rec.py", line 131, in test2
model = sm.OLS.fit(y,x)
  File "C:\Python36\lib\site-packages\statsmodels\regression\linear_model.py", line 302, in fit
    if self._df_model is None:
AttributeError: 'list' object has no attribute '_df_model'

不知道这是怎么回事或如何解决它。似乎我不小心触发了一些错误的内部 statsmodels 状态,特别是因为之前我有这个基本调用处理真实数据(只有几个特征列,存储在 pandas 数据帧中)

从 sm.OLS(Y,X) -> fit 中删除,这有效,您不要将 fit 方法放在需要的地方

import statsmodels.api as sm                                                                                                                                                      

Y = [1,3,4,5,2,3,4]
X = range(1,8)
X = sm.add_constant(X)

model = sm.OLS(Y,X)
results = model.fit()