我正在使用statsmodels.tsa.arima.model.ARIMA在时间序列上拟合ARIMA模型。
如何使用此模型对看不见的数据进行预测?似乎预测和预测功能只能从模型拟合到的训练集中的最后一次看到的数据进行预测。
举个例子,我想用一个静态模型来预测未来。这是为了实时多步预测的目的,其中重新拟合模型是不可行的。
例如,
假设我们有一个10,000的数据集,分为训练和测试(70/30)。我们训练的最后一个读数是7,000,可以使用经过训练的模型并在6997到7000中传递来预测7001到7004,然后在接下来的迭代中使用相同的模型传递6998到7001来预测7002到7005。
这种类型的预测在ML工作流中很常见,但对于我来说,如何在ARIMA中执行这一点并不明显。预测和预测函数只需要指数参数,但没有用于新鲜数据的参数。
发布于 2021-10-28 14:18:58
您可以使用为此目的而创建的predict方法轻松地完成此任务。你首先在你所有的数据上训练你的ARIMA模型(没有分割)。在生成预测时,您可以使用predict方法并设置start和end参数,例如,当您要像这样预测7001到7004时:
model.predict(start=7000, end=7004)预测方法将使用起点(包括该起点)可用的所有数据,然后进行预测。这样你就不必一次又一次地用新数据训练你的模型了。
start/end参数也适用于日期时间或字符串(如"2021-06-30“到"2021-07-31")。
https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima.model.ARIMAResults.predict.html
https://stackoverflow.com/questions/69752848
复制相似问题