【问题标题】:Statsmodels "predict" function - why cant I predict out of sample? :(Statsmodels“预测”功能 - 为什么我不能预测样本外? :(
【发布时间】:2019-11-23 13:51:27
【问题描述】:

我使用具有 4 个输入的 statsmodels OLS 拟合了一个多元线性回归模型,并希望预测未来一个月。 我可以预测“进入我的测试集”并评估我的预测性能,但是当我尝试预测到我的数据集之外的特定时间段时,没有任何效果。 这是对我的测试集有效的预测:

est = sm.OLS(y_train, x_train)
est2 = est.fit()
ypred = est2.predict(x_valid)

这是我在数据集之外预测特定时间段的最佳尝试:

start_index = datetime(2019, 12, 2)
end_index = datetime(2020, 1, 2)
forecast = est2.predict(start_index, end_index)

这是我的错误代码:

ValueError: shapes (1,1) and (4,) not aligned: 1 (dim 1) != 4 (dim 0)

任何有关在哪里可以找到帮助的帮助或参考资料都非常有价值。

提前非常感谢您

【问题讨论】:

  • OLS 假设独立观察,因此时间序列和时间索引对模型没有任何特殊意义。这些仅在时间序列模型中受支持。
  • 感谢您的回答!这说明了为什么我的尝试不起作用。

标签: python prediction statsmodels forecast


【解决方案1】:

x_valid 集合中的每个元素都应与x_train 集合中的元素具有相同的类型。所以你应该:

  1. 根据日期从x_valid 所需记录中提取。
  2. 使用提取的集合调用 predict 方法。

【讨论】:

  • 感谢您的回答!这是否意味着我无法预测所有输入参数的数据都不存在的日期?所以我实际上不能使用 OLS 预测“未来”?
猜你喜欢
  • 2015-03-05
  • 2013-09-08
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 2020-11-13
  • 2013-05-12
  • 1970-01-01
相关资源
最近更新 更多