direct multi-step forecast和recursive multi-step forecast, ARIMA进行多步预测
时间序列预测主要涉及到两种多步预测方法,分别是recursive multi-step forecast和direct multi-step forecast。
ARIMA进行多步预测采取的是recursive multi-step forecast。
ARIMA理论上讲只适合单步预测。
recursive multi-step forecast:
下面讲解Recursive Multi-Step Forecast的预测过程,假设存在时间序列历史数据y[i],i=0,1,2,…,t,使用这些数据拟合得到模型记为Model,Recursive Multi-Step Forecast的预测步骤如下:
1.
进行单步预测,预测y[t+1]的值,得到预测值yhat[t+1]
2.
把预测值作为真值,令y[t+1] = yhat[t+1],那么残差e[t+1]=0
3.
y[t+1]带入Model得到yhat[t+2](即单步预测),形如
yhat[t+2] = Model(y[t+1],y[t],y[t-1],y[t-2],y[t-3],e[t+1],e[t],e[t-1])
4.
迭代第2步到第3步最终得到未来6个step的数据,y[t+1]\ y[t+2]\ y[t+3]\ y[t+4]\ y[t+5]\ y[t+6]
这种预测方式存在两个问题:
1.
直接的误差累加,把预测值作为真值造成了直接的误差累加
2.
SARIMA中MA(Moving Average)项、甚至SMA(Seasonal Moving Average)项未能起作用,因为预测值作为真值,使得残差e[i] = 0
direct multi-step forecast:
比如还是预测未来6个step,direct multi-step forecast会直接建立6个模型,6个模型分别预测t+1\t+2\...\t+6,这就相当于把时序数据组织成表格形式,每一行就是观察点和表现期的概念,t月1日 观测t+2月的表现,机器学习模型常常使用direct multi-step forecast的方式
参考资料:
https://machinelearningmastery.com/multi-step-time-series-forecasting/
https://stats.stackexchange.com/questions/346714/forecasting-several-periods-with-machine-learning
https://stats.stackexchange.com/questions/352840/multistep-prediction-interval-for-armap-q-process
留言
張貼留言