1. Rolling Forecasting
基本原理:
- 逐步滑动窗口预测:
- 模型基于固定长度的历史窗口(如最近 ttt 个时间步的数据)来预测下一个时间步(t+1t+1t+1)。
- 每次预测后,窗口向前滑动一个时间步,丢弃最早的点,加入最新的预测结果作为历史窗口的一部分。
流程:
- 确定一个固定长度的历史窗口(例如过去 kkk 个时间步)。
- 用这 kkk 个时间步的数据训练模型并预测下一个时间步的数据。
- 滑动窗口:将窗口向前移动,使用新的窗口预测下一个时间步。
- 重复此过程,直到完成预测序列。
特点:
- 训练和预测分开:通常模型在固定的历史数据上训练一次,之后重复使用。
- 独立预测:每次预测时,输入窗口仅由已知的真实历史数据组成,不依赖之前的预测值。
优点:
- 鲁棒性高:每次预测使用真实数据作为输入,避免了预测误差的累积。
- 适合短期预测:特别是在数据质量较高的情况下,能够获得较精确的预测。
缺点:
- 需要较多历史数据:需要始终保持足够长的历史数据窗口。
- 滑动窗口计算开销:每次预测前需要重新准备窗口数据。
2. Recursive Forecasting
基本原理:
- 递归式自回归预测:
- 模型基于当前时间步的数据预测下一个时间步的数据。
- 将预测值作为下一次预测的输入,再次预测未来的值。这个过程重复进行,逐步预测多步。
流程:
- 使用模型预测第一个时间步的值(例如 t+1t+1t+1)。
- 将预测的值作为输入,与历史数据结合,预测下一个时间步的值(t+2t+2t+2)。
- 继续递归,逐步预测后续时间步,直到达到预定的预测步长。
特点:
- 自回归预测:每次预测的输入包含模型先前的预测值。
- 单步预测模型扩展到多步预测:模型本质上只需要预测一个时间步。
优点:
- 适合长时间序列预测:无需频繁准备新的训练数据。
- 训练简单:只需要单步预测模型,不需要设计多步预测模型。
- 资源节省:相比滚动窗口,计算开销较低。
缺点:
- 误差累积:每次预测依赖前面的预测值,误差会随着时间步增长逐渐积累。
- 对模型稳定性要求高:需要模型在多个预测步上保持准确性和鲁棒性。
两者对比
特性 | Rolling Forecasting | Recursive Forecasting |
---|---|---|
输入数据 | 使用真实历史数据 | 使用真实数据和模型预测值 |
误差传播 | 几乎没有误差累积 | 误差随着预测步长增加而累积 |
训练复杂度 | 通常需要针对多步预测进行训练 | 单步预测模型即可 |
计算开销 | 较高,需频繁滑动窗口处理 | 较低,预测过程简单 |