【问题标题】:Can I do out of sample predictions with regression model?我可以使用回归模型进行样本外预测吗?
【发布时间】:2020-03-27 15:01:34
【问题描述】:

使用the following guide,我制作了一个用于进行时间序列预测的 sklearn 回归模型。我可以使用该模型对一组具有时间戳的测试数据以及自变量数据进行预测,因为该模型仅采用这些变量并将输出标签作为预测。

但是,我不确定如何使用这个模型,或者即使我可以使用这个模型进行样本外预测,我只有一个未来的时间戳,并且没有任何与之相关的自变量数据。是否有某种递归方法,模型可以使用来自测试集的数据,进行预测,然后使用预测和数据进行下一个预测,等等?谢谢!

【问题讨论】:

    标签: python machine-learning time-series forecasting


    【解决方案1】:

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

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

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

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

    • DirRec:上述策略的组合,您无需滚动窗口,而是使用先前预测的值扩展窗口,但请注意,这需要相应地拟合回归量。

    您可以在以下位置找到更多详细信息:

    Bontempi, Gianluca, Souhaib Ben Taieb, and Yann-Aël Le Borgne. "Machine learning strategies for time series forecasting." European business intelligence summer school. Springer, Berlin, Heidelberg, 2012.

    另请注意,您必须小心谨慎地正确评估您的模型。在此设置中,训练集和测试集不是独立的,因为它们代表同一变量的后续时间点的测量值。所以你必须考虑潜在的自相关。

    【讨论】:

    • 嘿!谢谢回复。在我处理多变量数据的情况下,我是否需要设置我的滞后数据集,以便训练我的模型以输出自变量和相关标签?原因是,如果我的模型仅被训练为输出标签,那么在它为最后一个可用窗口提供输出标签预测之后,它就无法进一步递归预测,因为它没有任何输入变量数据,只有输出标签。
    • 在多变量设置中,如果您最终只对预测单个“目标”时间序列感兴趣,您要么 (i) 需要观察预测时间段的外生时间序列变量地平线(或只有确定性变量,如假日日历)(这称为临近预报),(ii)需要首先根据其他模型预测外生序列,以便您可以在(i)中使用它们,或(iii)使用可以同时预测多个序列的向量预测方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2017-12-23
    • 2018-08-03
    • 2019-05-09
    • 2021-12-21
    • 2016-06-02
    • 2019-11-29
    相关资源
    最近更新 更多