12篇顶会论文,深度学习时间序列预测经典方案汇总

2022-09-22 11:10:28 浏览数 (1)

欢迎关注我~定期更新干货算法笔记和世间万物的学习记录~

早期的时间序列预测主要模型是诸如ARIMA这样的单序列线性模型。这种模型对每个序列分别进行拟合。在ARIMA的基础上,又提出了引入非线性、引入外部特征等的优化。然而,ARIMA类模型在处理大规模时间序列时效率较低,并且由于每个序列分别独立拟合,无法共享不同序列存在的相似规律。深度学习模型在NLP、CV等领域取得了成功应用后,也被逐渐引入到解决时间序列预测问题中。通过不同序列共享一个深度学习模型,让模型能从多个序列中学到知识,并且提升了在大规模数据上的求解效率。

本文介绍了深度学习模型在时间序列预测问题中的应用,主要包括RNN、CNN、Transformer、Nbeats等4种类型模型,以及12篇相关顶会论文,全面掌握深度学习时间序列预测方法。

RNN时序预测模型

DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks(2017)首先采用深度学习模型解决时间序列预测问题。该方法采用经典的RNN模型进行时间序列预测,在训练阶段,每个时刻传入上一时刻的真实值、外部特征,经过RNN单元后,预测下一个时刻的值。在预测阶段,将模型在上一个时刻的预测值作为输入,替代训练过程中上一个时刻真实值的输入。模型结构如下图。

由于预测阶段和训练阶段,模型在下一个时刻输入的值一个是预测采样的,一个是真实的,会导致训练和预测阶段不一致的问题,NLP中有一些方法缓解该问题,但是不能从根本解决这个问题。Deep State Space Models for Time Series Forecasting(NIPS 2018)提出了以RNN为基础的Deep State Space模型。该模型建立在state space思路基础上,认为当前时刻的观测值只和当前状态有关,而当前状态只和上一个时刻的状态有关。因此整个预估模型分为两个部分:建模连续两个隐状态的关系,以及从当前时刻隐状态到当前时刻预估结果的关系。在模型实现上,相比DeepAR,模型在训练或预测阶段,每个时刻都不需要输入上一个时刻的真实值或预测值了,完全由隐状态建立连续两个时刻的联系。这样解决了DeepAR中训练和预测不一致的问题。

DeepAR和Deep State Space Model都是one-horizon forecast model,即每次只能预测未来一个时刻的值。A Multi-Horizon Quantile Recurrent Forecaster(NIPS 2017)提出一种multi-horizon forecast model MQRNN,同时预测未来多个时间步的值。MQRNN采用的是Encoder-Decoder结构,在NLP中经典的Encoder-Deocder结构基础上进行了优化。下图左侧为基础的Encoder-Decoder结构,右侧为MQRNN结构。MQRNN将Decoder部分由RNN改成多个全连接。MQRNN直接将Encoder最后一个时刻的context,以及未来的所有feature拼接到一起,通过一个全连接,生成每个时刻的context和一个全局整体的context。即该全连接输出为T个时刻每个时刻的context向量,以及一个额外的全局向量。

除了上述的模型结构外,一些在NLP中常用的如LSTM Attention的模型结构也可以用于时间序列预测任务中,由于NLP和时间序列都是序列类型的数据,很多经典模型结构可以复用,这里不再赘述NLP中的经典RNN模型。

CNN时序预测模型

CNN被广泛用于CV和NLP领域,在时间序列预测领域,An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling(2019)采用空洞卷积结合因果卷积的网络结构,该结构也称为基于CNN的时间序列预估模型的基础结构。因果卷积表示在t时刻的输出,是由t时刻及t时刻之前的输入进行卷积得到的(而一般的卷积是t时刻前后一个窗口内的输入进行卷积)。这样,t时刻的输出避免了对t时刻之后信息的依赖而导致的数据泄漏问题。空洞卷积解决了原来CNN只能看到历史线性大小窗口内数据的问题,当历史序列较长时,普通的卷积需要增大卷积尺寸才能看到更久远的历史信息,导致训练效率较低。空洞卷积跳跃的对历史序列进行卷积,例如当空洞卷积尺寸为2时,t时刻会根据t、t-2、t-4等时刻的输入进行卷积。通过多层卷积的堆叠,层数越多对应的空洞尺寸也越大,这样实现了在时间复杂度不变的情况下引入更长历史信息,提升预测效果。

Transformer时序预测模型

在上文介绍的基于对抗学习DA方法的基础上,学术界针对该方法的不同问题提出了不同的优化方法,主要包括生成任务相关的一致性表示、学习Domain-specific表示辅助Domain-invariant表示两个方面。

Transformer模型首先在NLP领域中取得显著效果,由于NLP和时间序列都为序列数据,因此Transformer也被逐渐应用到时间序列预测任务中。Deep Transformer Models for Time Series Forecasting: The Influenza Prevalence Case(2020)采用了和GPT相似的Transformer结构尝试了时间序列预测任务,取得较好效果。然而,在时间序列预测任务中,样本点的序列位置关系非常重要,Transformer虽然通过Attention机制实现了超长周期的特征对齐,位置信息只能依赖于position emedding,影响了Transformer在时间序列预测中的应用。针对这个问题,业内主要采用CNN Transformer或LSTM Transformer相结合的方式,使序列模型的序列建模能力和Attention模型的超长周期信息提取能力互补。

Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting(NIPS 2019)提出使用CNN和Transformer结合的方法。模型结构如下图所示,CNN模型增强了上下文信息的提取能力,左图中CNN尺寸为1,即无卷积的情况下,每个时刻的特征单独进入Transformer,当两个时刻的特征相似时,由于上下文环境(即前后时刻的值)不同,因此这两个时刻表达的信息不同,而左侧模型无法提取这个信息。右侧模型使用了尺寸为3的卷积,刻画了上下文信息不同的时刻不同的信息,能够更好发掘具有相似规律的序列片段。

Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting(2019)提出了LSTM和Transformer结合的方法。模型体层采用LSTM结构,利用LSTM的序列建模能力,先对输入序列进行预处理,这样不同时刻生成了考虑上下文和时序信息的表示。接下来底层表示输入到上层Transformer中,利用Attention的超长周期信息提取能力弥补序列模型信息遗忘的问题,模型结构如下图:

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting(AAAI 2020)提出了一种针对长周期预估的Transformer的升级版。为了让Transformer在长周期预估中提升运行效率,提出了ProbSparse self-attention,通过让key只和关键query形成稀疏的attention减少大量运算量。

Nbeats

N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FOR INTERPRETABLE TIME SERIES FORECASTING(ICLR 2020)提出Nbeats模型,该模型内部结构中没有RNN、CNN或Attention,网络全部为全连接组成,在一些开源数据集上取得较好效果。Nbeats的核心思路是,多个Block串联,每个Block学习序列的一部分信息,在下一个Block的输入会去掉之前Block已经学到的信息,只拟合之前Block未学到的信息,类似于GBDT的思路。最后再把各个Block的预估结果加和得到最终预估结果。

模型整体结构如下图,主要包含两个模块。第一个模块用于输入输入,通过多层全连接 Relu生成Forecast和Backcast的basis,公式形式可以表示为:

模型的第二个模块用于将Forecast和Backcast的basis转换成前向和过去的预测结果:

其中,Forecast的basis用于进行未来的预测,Backcast的Basis用于进行过去的预测。Backcast部分相当于当前Block对输入序列的分析,下一层的输入会减去当前Block中Backcast的输出,相当于从输入中去掉当前Block已经能较好预测的部分,让后续Block只关注那些前面层无法预测的部分。整个Nbeats模型都是全连接这种简单结构,通过多层Block串联的形式构造而成,类似于GBDT中多个弱分类器集成的思路。Meta-learning framework with applications to zero-shot time-series forecasting(AAAI 2020)从meta-learning的视角揭示了Nbeats为什么有效。

最初版本的Nbeats无法输入外部特征,后续的论文Neural basis expansion analysis with exogenous variables: Forecasting electricity prices with NBEATSx(2022)在初版Nbeats基础上增加了引入外部特征的能力。在FC-GAGA: Fully Connected Gated Graph Architecture for Spatio-Temporal Traffic Forecasting(AAAI 2021)中,又提出了Nbeats结合图学习的模型,让Nbeats能够应用于交通预测等这种存在Spatial-Temporal关系的任务。感兴趣的同学可以进一步深入阅读。

总结

本文介绍了4大类时间序列预测任务的模型结构,包括RNN、CNN、Transformer和Nbeats,简要介绍了4大类时间序列预测深度学习模型的近年来代表工作。

如果觉得我的文章对你有帮助

请关注我吧~

0 人点赞