《基于深度学习体系结构的时间序列预测研究综述》2021.03
文章目录
介绍
1. TSF快速发展的原因
① 随着计算资源(CPU、GPU等)的发展,能够堆叠的网络模型的层数的更深;
② 大数据的发展,能够获取到更多的数据。
2. TSF现有的技术手段
- 传统统计模型:
① 移动平均模型(Moving Average, MA)
② 自回归模型(Autoregressive Models, AP)
③ 自回归移动平均模型
④ 指数平滑(ETS)
⑤ ARIMA - 传统机器学习:
① 支持向量机SVM
② 贝叶斯网络BN
③ 矩阵分解MF
④ 高斯过程GP
传统方法具体介绍: CSDN博客
- 全连接神经网络:
① 多层感知机(MLP) - 循环神经网络
② Elman循环(ERNN)
③ 长短期记忆(LSTM)
④ 回声状态(ESN)
⑤ 门控循环单元(GRU) - 卷积神经网络
⑥ 卷积神经网络(CNN)
⑦ 时间卷积网络(TCN)
思维导图: CSDN博客
3. 开源深度学习框架
提示:本文只处理单变量时间序列分析,与单个观测记录顺序随时间。
一、TSF是什么?
- TSF:(Time Series Forecast)时间序列预测
- 时间序列:固定的时间间隔上按时间顺序记录的观察序列
- 预测问题:拟合一个模型,考虑到过去的值(称为滞后)来预测序列的未来值
- 单(多)变量:根据每个时间步上变量的数量,时间序列可以分为单变量或多变量。
二、神经网络方法
1. 多层感知机
利用MLP进行时序预测的相关研究:
- MLP模型
① 历史数据的参数比隐含层的数量对精度的影响更大
② 数据的预处理很重要 - 研究趋势
使用集成的MLP - 存在问题
独立的处理每个输入,无法捕捉时间序列的时间顺序,既没有输入窗口
2. 循环神经网络
RNN将上个时刻的状态作为隐变量,传入到下一个时刻中,建立了时间关系
2.1 ERNN
利用ERNN进行时序预测的相关研究:
- ERNN模型(Elman循环神经网络)
ERNN将前馈隐含层改为递归层,递归层将隐含层的输出与隐含层的输入连接起来进行下一个时间步。 - 优化算法
Truncated Backpropagation Through Time algorithm,即时间截断反向传播(TBPTT)算法 - 存在问题
①权值可能开始振荡(爆炸梯度问题)
②学习长期模式的计算时间过多(消失梯度问题)
2.2 LSTM
利用LSTM进行时序预测的相关研究:
- LSTM模型
LSTM增加一个细胞(cell)状态来控制存储单元,保证他们不被其它信息所干扰,并使用门控机制来控制哪些信息需要输入,哪些信息需要忘记。 - 研究趋势
① 使用混合模型,遗传算法来优化网络结构
② 增加聚类步骤,对LSTM网络进行多个相关时间序列的训练。
2.3 ESN
利用ESN进行时序预测的相关研究:
- ESN模型
不熟悉 - 模型优势
① 在对混沌时间序列数据建模时,要优于MLP和统计方法。
② 相较于RNN,ESN速度更快,花费时间更少。
2.4 GRU
利用ESN进行时序预测的相关研究:
- GRU模型
类似于LSTM的简化版本,输入门和遗忘门合并为一个更新门,训练参数更少,速度更快 - 研究趋势
GRU的研究远远少于LSTM的研究
3. 卷积神经网络
3.1 CNN
利用CNN进行时序预测的相关研究:
- CNN模型
① 训练参数较少,速度更快
② 可以堆叠不同的卷积层,可以将原始数据转化为不同尺度的特征 - 研究趋势
① 未广泛使用CNN,因其效果不如RNN
② 可将CNN作为特征提取模块,再输入进RNN进行预测
3.2 TCN
利用TCN进行时序预测的相关研究:
- TCN模型
利用了扩张的因果卷积,增加了网络的感受野 - 模型优势
① 不需要进行池化操作,TCN可以利用剩余连接来增加网络的深度
② 共享卷积滤波器对训练的内存要求较低
③ 长输入序列可以用并行卷积来处理,而不是像rnn那样按顺序处理
④ 更稳定的训练方案,从而避免消失梯度问题。 - 研究趋势
由于其对处理时间数据的适用性而越来越受欢迎
三、实验
1. 数据集
实验研究所用数据集,其中列N、FH、M、M分别表示时间序列的个数、预测层位、最大长度和最小长度。
2. 模型参数
7类深度学习模型的结构配置参数网格:
- 实现了12个MLP模型,这些模型在隐藏层的数量和每层的单元数量上有所不同。
- 实现了4种RNN模型,分别是ERNN、LSTM、GRU和ESN,每个模型都有18种实现,参数设置为堆叠的递归层的数量,每层中递归的数量,以及最后一层返回的是状态序列还是最终状态。
- 实现了18个CNN模型,参数设置为堆叠CNN的层数、卷积数量和池化层大小。
- 实现了32个TCN模型,参数设置为堆叠TCN层数、卷积数量、膨胀系数、卷积核大小和最后返回一个输出还是整个序列。
3. 优化参数
网络模型的训练参数:
- 批次大小:32、64
- 学习率:0.001、0.01(衰减学习率的可能性?)
- 优化器:Adam
- 归一化:minmax归一化、z-score归一化
- 评价指标:WAPE
4. 实验结果
4.1 模型精度:
- MLP模型总体上表现最差,MLP网络是简单的模型,可以作为与其他架构进行比较的有用基线。
- LSTM模型在12个数据集中的4个获得了最好的结果,它在其余数据集的前3个架构中,除了旅游,LSTM在旅游业中排名第6,仅超过MLP。
- GRU模型获得比较稳定的结果,因为它可以为大多数数据集获得最佳预测,12个数据集中的10个在前3个架构中。
- TCN模型和ERNN模型在两个数据集上都获得了最好的结果,但这两种架构不稳定,根据数据集观察到的结果差距很大。
- CNN模型在最佳结果方面的表现略逊于TCN,但在比较所有超参数配置的平均WAPE时,要优于TCN模型。
- ESN模型是最差的模型之一,在大多数数据集中排名第六,仅优于MLP。
4.2 模型训练时间:
7. MLP是最快的模型,其次是CNN。CNN和其他模型的差异是非常显著的。
8. 在递归神经网络中,LSTM和GRU的性能相似,而ERNN是最慢的架构。
- 从图中可以看出,MLP网络是最快的模型,但精度最差。
- 也可以看出,ERNN能够获得准确的预报,但需要较高的计算资源。
- 在递归网络中,LSTM是最优的网络,它具有很高的预测性能和足够的计算时间。
- CNN在所有模型中取得了最好的时间精度平衡,TCN的速度明显较慢。
4.2 统计分析:
- 最佳WAPE
① RNN类模型效果最佳,其中LSTM排名第一,对大多数数据集的精度最好,其次是GRU,卷积模型TCN和CNN分别得到第4和第5。
② 除了MLP之外,对于每种类型的架构,获得的最佳模型之间的统计差异并不显著。这表明,当找到最优的超参数配置时,所有这些架构都可以实现类似的TSF性能。 - 平均WAPE
① CNN排名第一,LSTM排名第二。表明这两个模型对参数化的敏感性较低,因此是降低大规模网格搜索的高成本的最佳选择。
② 在WAPE标准差图中,CNN和LSTM也占据了第一个位置。MLP模型逻辑上具有较低的标准偏差,因为它们很简单。CNN和LSTM的排名差异在标准差上更大,这说明CNN在更广泛的配置下都能表现良好。
③ ERNN效果最差,甚至低于MLP模型 - 效率方面
① MLP的预测精度较差,但其计算效率却是第一。
② 在所有排名中,CNN模型都是效率最高的DL模型,ESN排名第三。
③ LSTM在平均计算时间和标准差方面的排名都要低得多,这表明设计非常深的LSTM模型成本非常高,而且对实时应用不方便。
④ 对于单变量TSF, CNN似乎比TCN更好。CNN在寻找良好的超参数配置方面显示出了更高的计算效率和更简单的方法。 - 总结
CNN和LSTM是解决这些TSF问题最合适的选择。
5. 模型最佳参数:
5.1 多层感知机
5.2 循环神经网络
5.3 卷积神经网络
- CNN:
- TCN:
5.4 统计分析
- 在归一化方法上,对于GRU和LSTM,最小值归一化方法性能更好,而z-score在其他架构中明显优于最小值方法。
- 大多数架构(ERNN、GRU、CNN和TCN)在批处理规模较大时性能更好。只有LSTM,首选值为32,而MLP和ESN没有差异。
总结
1. 本文结论
- 除MLP外,所有研究模型在参数化正确的情况下都获得了准确的预测。但各模型结果的分布存在显著差异。这说明了寻找最佳架构配置的重要性。
- 无论隐藏块的深度如何,MLP网络都无法对时间序列数据的时间顺序进行建模,因此预测性能较差。
- LSTM的WAPE结果最好,其次是GRU。而CNN在WAPE的均值和标准差上优于他们。这表明卷积架构比循环模型更容易参数化。
- CNN达到了最佳的速度/精度权衡,这使得它们比循环方法更适合实时应用。
- 与GRU架构相反,LSTM网络通过较少的堆叠层获得更好的结果。在递归网络中,单元数并不重要,只有在ESN模型中返回完整序列才被证明是有用的。
- CNN需要更多的堆叠层来提高准确性,但不使用maxpooling操作。对于TCN,建议使用具有较大卷积核的卷积块。
- 关于训练超参数,过去历史和学习率较低的值是更好的选择。对于CNN, z-score归一化效果更好,而对于LSTM,建议使用min-max。
2. 研究趋势
- 研究这些深度学习技术在流媒体时间序列预测中的应用,需要更深入地分析速度与精度之间的权衡。
- 根据时间序列数据的性质和其他特征(如长度或预测范围)研究最佳深度学习模型。同样重要的是,一旦找到了最合适的模型架构,将未来的实验集中在调整训练超参数上。
- 在深度网络中分析正则化技术和在多变量时间序列上进行实验研究。
- 关注文献中当前的趋势,如集成模型以提高准确性或迁移学习以减少高训练次数的负担。
- 建立一个更大的高质量预测数据库,作为验证新颖建议的一般基准。