多步时序预测通常有4种方法。
递归预测(Recursive Multi-step Forecast)
递归预测只需要一个模型,用来预测下一个step的值。每次预测完毕,会把预测值当做输入,来预测下一个时间点的模型。
优点:
- 只需要一个模型
缺点:
- 由于使用上一步的预测值作为输入,预测误差会传递,误差会变得越来越大
$$ \hat x^{(t+1)} = \text{model}(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)}\\ $$
$$ \hat x^{(t+2)} = \text{model}(\hat x^{(t+1)},x^{(t)},x^{(t-1)}, ..., x^{(t-n+1)})\\ $$
$$ \hat x^{(t+3)} = \text{model}(\hat x^{(t+2)},\hat x^{(t+1)},x^{(t)}, ..., x^{(t-n+2)}) $$
直接预测(Direct Multi-step Forecast Strategy)
这种方法需要训练多个模型。
优点:
- 准确率高
缺点:
- 需要训练多个模型
$$ \hat x^{(t+1)} = \text{model}_1(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)}\\ $$
$$ \hat x^{(t+2)} = \text{model}_2(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)})\\ $$
$$ \hat x^{(t+3)} = \text{model}_3(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)}) $$
直接&递归混合预测(Direct-Recursive Hybrid Strategies)
结合直接预测与递归预测的方法。
首先会有一组直接预测模型,用来预测每个step的值。
另外还有一个单步模型,会把直接模型的预测值作为输入。
优点:
- 结合直接预测和递归预测的优点,一定程度上避免了误差传播
缺点:
- 计算量大
- 仍有误差扩大的风险
$$ \begin{align} \hat x_{\text{direct}}^{(t+1)} &= \text{model}_1(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)})\\ \hat x_{\text{direct}}^{(t+2)} &= \text{model}_2(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)})\\ \hat x_{\text{direct}}^{(t+3)} &= \text{model}_3(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)})\\ ...\\ \hat x^{(t+1)} &= \text{model}_{\text{recursive}}(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)})\\ \\ \hat x^{(t+2)} &= \text{model}_{\text{recursive}}(\hat x_{\text{direct}}^{(t+1)},x^{(t)},x^{(t-1)}, ..., x^{(t-n+1)})\\ \\ \hat x^{(t+3)} &= \text{model}_{\text{recursive}}(\hat x_{\text{direct}}^{(t+2)},\hat x_{\text{direct}}^{(t+1)},x^{(t)}, ..., x^{(t-n+2)}) \end{align} $$
输出预测(Multiple Output Strategy)
利用多输出神经网络直接预测多个时间步的输出。
优点:
- 不会有误差传递风险
- 同时学习多个输出,能够找到每个时间步的关联
缺点:
- 计算量过大
- 只能使用神经网络,不能使用tree-based模型
$$ \hat x^{(t+1)},\hat x^{(t+2)},\hat x^{(t+3)}... = \text{model}(x^{(t)},x^{(t-1)}, x^{(t-2)}, ..., x^{(t-n)}) $$
总结
无论是递归预测还是直接预测,都有一定的问题,要解决这些问题,一般有几种解法:
- 根据paper$^{[1]}$中所言,递归预测的bias更高,而直接预测的variance更高。paper建议开始使用递归预测,再使用直接预测来预测递归预测的误差。
- 尝试在递归预测中只使用多步融合特征(rolling),而不使用单个特征。因为融合特征受到的影响更小。此外,时间绪论预测通常严重依赖最近一个step的值,因此导致递归模型的误差会方法过多。如果只使用多步融合特征,那么鲁棒性就会更强。
参考资料
[1] 论文:Recursive and direct multi-step forecasting: the best of both worlds