Python 我可以用回归模型做样本外预测吗?

Python 我可以用回归模型做样本外预测吗?,python,machine-learning,time-series,forecasting,Python,Machine Learning,Time Series,Forecasting,使用,我制作了一个sklearn回归模型,用于进行时间序列预测。我能够使用该模型对一组测试数据进行预测,其中我有时间戳,还有自变量数据,因为该模型只接受这些变量,并将输出标签作为预测 然而,我不知道如何,甚至不知道我是否可以使用这个模型进行样本外预测,因为我只有一个未来的时间戳,而没有与之相关的自变量数据。是否存在某种递归方法,模型可以使用测试集的数据进行预测,然后使用预测和数据进行下一次预测,等等。?谢谢 是的,但这取决于您是要进行单步预测还是多步预测 对于单步预测,如您所述,使用数据的最后一

使用,我制作了一个sklearn回归模型,用于进行时间序列预测。我能够使用该模型对一组测试数据进行预测,其中我有时间戳,还有自变量数据,因为该模型只接受这些变量,并将输出标签作为预测


然而,我不知道如何,甚至不知道我是否可以使用这个模型进行样本外预测,因为我只有一个未来的时间戳,而没有与之相关的自变量数据。是否存在某种递归方法,模型可以使用测试集的数据进行预测,然后使用预测和数据进行下一次预测,等等。?谢谢

是的,但这取决于您是要进行单步预测还是多步预测

对于单步预测,如您所述,使用数据的最后一个可用窗口作为预测函数的输入,这将返回第一步预测值

对于多步骤预测,您有三个选项:

  • 直接:为前面的每一步安装一个回归器,并让每个安装的回归器使用最后一个可用窗口进行预测
  • 递归:使用最后一个可用窗口进行第一步预测,然后使用第一步预测滚动窗口并再次预测

  • DirRec:上述策略的组合,你不用滚动窗口,而是用先前的预测值来扩展它,注意这需要相应地拟合回归

有关详细信息,请参见:


还要注意的是,您必须小心地适当评估您的模型。列车和测试集在此设置中不是独立的,因为它们代表相同变量的后续时间点的测量值。所以你必须考虑到潜在的自相关性

嘿!谢谢你的回复。在处理多元数据的情况下,是否需要设置滞后数据集,以便对模型进行训练,以输出自变量和相关标签?原因是,如果我的模型只被训练为输出标签,那么在它为最后一个可用窗口提供输出标签预测之后,它就不能再进行递归预测,因为它没有任何输入变量数据,只有输出标签。在多变量设置中,如果你最终只对预测一个“目标”时间序列感兴趣,你要么(i)需要观察预测期内的外部时间序列变量(或者只有确定性变量,如假日日历)(这称为即时预测),(ii)需要首先基于其他模型预测外生序列,以便可以在(i)或(iii)中使用可以同时预测多个序列的向量预测方法。