python statsmodels.predict不起作用

python statsmodels.predict不起作用,python,statsmodels,Python,Statsmodels,给出: x=range(100) y=sin(x) result=sm.OLS(x,y).fit() result.predict(x) 这是非常简单的代码,不知道为什么它不工作?我搜索了很多论坛,但找不到确切的答案。快速回答: 我想您希望x和y颠倒result=sm.OLS(y,x).fit() 首先是因变量(y),然后是解释变量数组(x) 对predict的调用适用于statsmodels master,但在旧版本中,您可能需要二维x: result.predict(x[:,None])

给出:

x=range(100)
y=sin(x)
result=sm.OLS(x,y).fit()
result.predict(x)
这是非常简单的代码,不知道为什么它不工作?我搜索了很多论坛,但找不到确切的答案。

快速回答:

我想您希望x和y颠倒
result=sm.OLS(y,x).fit()
首先是因变量(
y
),然后是解释变量数组(
x

对predict的调用适用于statsmodels master,但在旧版本中,您可能需要二维
x

result.predict(x[:,None])

将解释变量设置为列数组。我不记得这是什么时候改成1-D x的。)

另外请注意,当我们不使用公式接口时,不会自动添加常量/截距

还可以通过
results.fittedvalues
访问样本或训练数据的预测

ValueError: matrices are not aligned