【发布时间】:2021-09-30 15:50:04
【问题描述】:
我使用 statsmodels.tsa.arima.model 包在 Python 中开发了一个 ARIMA 模型。该系列分为 train 和 test 系列。
ARIMA 模型已使用以下代码构建,然后该模型用于在测试期间进行预测,以便进行比较:
train_size = int(len(X) * 0.66)
train, test = X[0:train_size], X[train_size:]
history = [x for x in train]
predictions = list()
for t in range(len(test)):
model = ARIMA(history, order=1,0,1)
model_fit = model.fit()
yhat = model_fit.forecast()[0]
predictions.append(yhat)
history.append(test[t])
如何添加到上述代码以创建一天的样本外预测?这是一天的预测,它考虑了 test 数据集中的观察值/在 test 周期结束后的一天创建预测。
我尝试了不同的尝试,但都没有给出所需的解决方案(例如,我可以在 train 周期之后立即创建一日预测)。
我确定有一个简单的解决方案,但目前看不到。感谢您的帮助,
埃德
【问题讨论】:
-
我无法执行你的代码。上面写着
SyntaxError: positional argument follows keyword argument代表model = ARIMA(history, order=1,0,1)行,看起来你漏掉了一些括号。 -
我建议您按照本教程进行操作,然后,如果您无法弄清楚,请发布一些工作代码和一个具体问题:How to Make Out-of-Sample Forecasts with ARIMA in Python
-
谢谢 - 我会检查链接并恢复。
-
我看过那个例子(再次感谢发送它),但我仍然不确定如何将 ARIMA 模型应用于观察到的测试数据并产生一天的结果样本预测。链接中的示例似乎没有使用训练/测试数据来开发 ARIMA 模型。
-
再次感谢您的帮助。我采用的最终解决方案包括在测试数据中创建一个附加/虚构值,继续我的预测,然后将相应的预测作为附加/虚构值作为实际测试期后的预测。不是最优雅的解决方案,但确实为我提供了我需要的解决方案。
标签: python prediction sample arima forecast