gpt4 book ai didi

python - 使用带有 statsmodels 的 OLS 模型预测值

转载 作者:太空狗 更新时间:2023-10-29 18:01:00 25 4
gpt4 key购买 nike

我使用 OLS(多元线性回归)计算了一个模型。我将我的数据划分为训练和测试(各一半),然后我想预测第二部分标签的值。

model = OLS(labels[:half], data[:half])
predictions = model.predict(data[half:])

问题是我得到了错误: 文件“/usr/local/lib/python2.7/dist-packages/statsmodels-0.5.0-py2.7-linux-i686.egg/statsmodels/regression/linear_model.py”,第 281 行,预测 返回 np.dot(exog, 参数) ValueError:矩阵未对齐

我有以下数组形状:数据.形状: (426, 215)labels.shape: (426,)

如果我将输入转置到 model.predict,我确实得到了一个结果,但形状为 (426,213),所以我认为它也是错误的(我期望一个包含 213 个数字的向量作为标签预测):

model.predict(data[half:].T)

知道如何让它工作吗?

最佳答案

对于 statsmodels >=0.4,如果我没记错的话

model.predict 不知道参数,并在调用中需要它们见http://statsmodels.sourceforge.net/stable/generated/statsmodels.regression.linear_model.OLS.predict.html

在您的情况下应该做的是拟合模型,然后使用结果实例的预测方法。

model = OLS(labels[:half], data[:half])
results = model.fit()
predictions = results.predict(data[half:])

或更短

results = OLS(labels[:half], data[:half]).fit()
predictions = results.predict(data[half:])

http://statsmodels.sourceforge.net/stable/generated/statsmodels.regression.linear_model.RegressionResults.predict.html缺少文档字符串

注意:这在开发版本中已经改变(向后兼容),可以利用预测中的“公式”信息 http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.RegressionResults.predict.html

关于python - 使用带有 statsmodels 的 OLS 模型预测值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com