什么是时间序列
时间序列是指在一段连续时间段内由时间和所对应的观察值所组成的一段序列,比如某一年的降雨量。
什么是时间序列预测
时间序列预测是指根据某维度数据在过去时间段内的变换情况来预测未来时间段内该数据如何变化,近些年来,随着人工智能技术的发展,时间序列预测被用于金融、商业等多个领域。
如何实现时间序列预测
时间序列预测可以分为单步(one-step)预测和多步(multi-step)预测,单步预测用来预测未来某一时间点的数据,多步时间序列预测用来预测未来时间段内多个时间点数据。以某地一周内的天气最高温度来说,给定前5天最高气温,然后预测未来时间内气温变换情况。one-step单步预测第六天的最高气温,也就是说它只预测一个点的数据,而multi-step可以预测出多天的最高气温,如第6天和第7天。
单时间序列预测可以转化为机器学习中的监督学习来实现,multi-step预测可以通常采用以下四种方法:
(1)Direct Multi-step Forecast Strategy
直接多步预测策略训练多个模型,各个模型之间相互独立,每个模型用来预测一个单时间步。模型结构如下:
PREDICTIONS(T+1) = MODEL(OBS(T-1),OBS(T-2),…(T-N))
PREDICTIONS(T+2) = MODEL(OBS(T-1),OBS(T-2),…(T-N))
这种策略需要训练多个独立模型,训练和维护成本高,没有考虑到t+1和t+2之间的相互依赖关系。
(2)Recursive Multi-step Forest
这种策略是递归多步预测策略,将t+1时刻预测值作为t+2时刻的一个观察值。模型结构如下:
PREDICTION(T+1) = MODEL(OBS(T-1), OBS(T-2), …, OBS(T-N))
PREDICTION(T+2) = MODEL(PREDICTION(T+1),OBS(T-1), …, OBS(T-N))
递归多步预测策略将t+1时刻预测输出作为预测t+2时刻的输入,整个过程只训练一个one-step模型,这种策略会使得错误率累加而使模型精度下降。
(3)Direct-Recursive Hybrid Strategies
这种策略是对前两种策略的融合,能够克服前两种策略的局限性。该策略将t+1时刻预测值作为t+2时刻的一个观察值。模型结构如下:
PREDICTION(T+1) = MODEL1(OBS(T-1), OBS(T-2), …, OBS(T-N))
PREDICTION(T+2) = MODEL2(PREDICTION(T+1),OBS(T-1), …, OBS(T-N))
这种策略需要训练多个模型
(4)Multiple Output Strategy
多输出策略训练一个模型来一次性输出多个时间点预测结果。模型结构如下:
PREDICTION(T+1), PREDICTION(T+2) = MODEL(OBS(T-1), OBS(T-2), …, OBS(T-N))
这种策略需要训练所得到的模型训练成本和复杂度较高。