基本信息:德国Hildesheim大学;预印本
论文地址:https://arxiv.org/abs/2101.02118
论文源码:https://github.com/Daniela-Shereen/GBRT-for-TSF
1. 简介
在这篇论文中,我们探讨了深度学习模型在时间序列预测中的应用,并对其必要性和优缺点进行了分析。时间序列预测是指利用历史时间序列数据预测未来时间序列数据的过程,通常面临数据复杂性、非线性和高噪声等问题。传统的预测方法主要包括基于时间序列统计特性的方法和基于机器学习模型的方法。近年来,深度学习模型在时间序列预测领域的表现引起了广泛关注,它们具有强大的表示能力和对复杂模式的学习能力。然而,是否真的需要深度学习模型来进行时间序列预测仍然是一个具有争议的问题。
使用GBRT来和DNN进行对比,结果表明,基于窗口的输入转换将简单GBRT模型的性能提升到优于本文评估的所有最先进的DNN模型的水平。
- 深度学习方法在各个研究领域的成就需要定期的和简单但有效的模型对比,从而评估和验证其在相应领域有效性。
- 现在研究文献很多基于深度学习的模型的迭代完善,限制了解决方案的多样性。
论文证明了:通过精心配置的输入处理结构,一个简单但强大的集成模型,如GBRT模型,可以在时间序列预测领域取得差不多、甚至优于DNN模型的效果。
论文主要贡献
- GBRT:我们将一种简单的机器学习方法GBRT优化为可以和SOTA DNN时间序列预测模型竞争的水平。具体地,首先引入基于窗口的回归框架,其次对模型的输入和输出结构进行特征工程,使其从额外的上下文信息中受益最大。
- 从经验上证明了输入处理对时间序列预测模型的重要性。文中GBRT使用基于窗口的输入设置提高了传统模型的预测性能。
- 通过在单变量和多变量预测任务上和一系列DNN模型的对比,证明了GBRT的有效性。
2. 研究设计 Research Design
2.1 基线模型选择
从2016到2020的重要会议论文中基于以下原则选取
- 时序预测领域
- 特定的数据类型,如异步时间序列和概念化为图的数据被排除在外。
- 再现性;数据应公开,源代码应由作者提供。如果源代码不可用,但实验设置有清晰的文档,我们复制了各自出版物中的实验结果。
- 计算可行性;作品中呈现的结果应该以可处理的方式再现,并且可以在合理的时间内计算。
2.2 评估
两种任务:单变量时序预测任务和多变量时序预测任务
3. 基于窗口特征工程的GBRT模型Feature-engineered window-based GBRT
- 转换窗口输入为一维向量,需要注意的是,协变量只使用最后一个时间步的协变量,实验部分论证了相对于使用窗口全部的协变量这种方式训练的模型效果更好。
- 将预测器包装为支持多输出的MultiOutputRegressor。这种设置会导致预测范围内的目标变量是独立预测的,模型无法从它们之间的潜在关系中获益。但是GBRT基于窗口数据的输入设置不仅将预测问题转化为回归任务,还能够捕捉目标变量中的自相关效应,弥补了多输出独立预测的缺陷。
损失函数:
4. 实验
4.1 DNN模型
时间正则化矩阵分解(TRMF)模型是一种高度可扩展的基于矩阵分解的方法,因为它能够对数据中的全局结构进行建模。作为本研究中较早的方法之一,该模型仅限于捕捉时间序列数据中的线性依赖关系,但还是显示了极具竞争力的结果。
长短期时间序列网络(LSTNet)强调了局部多变量模式,由卷积层建模,以及长期依赖关系,由递归网络结构捕获。
基于注意力的双阶段RNN(DARNN)首先将模型输入通过一个输入注意力机制随后采用一个配有额外时间注意力机制的编码器-解码器模型。
Deep Global Local Forecaster (DeepGlo) 是基于一个全局matrix factorization结构,该结构被一个时间卷积网络所规范化。该模型包含了来自日期和时间的额外通道。
时空融合转化器(Temporal Fusion Transformer)模型是本研究中最新的DNN方法,通过将用于局部处理的递归层与捕捉数据中长期依赖关系的转化器典型的自我注意层相结合,该模型不仅可以在学习过程中动态地关注相关的特征,而且还可以通过门控机抑制那些被认为是不相关的特征。
DeepAR模型是一个自动回归的概率RNN模型,在附加时间和分类协变量的帮助下,从时间序列中估计参数分布。
深度状态空间模型(DeepState)是一个概率生成模型,使用RNN学习参数化的线性状态空间模型。
深度空气质量预测框架(DAQFF)包括一个两阶段的特征表示;数据通过三个一维卷积层,然后是两个双向LSTM层和一个次级线性层进行预测。
4.2 单变量预测
4.2.1 无协变量
4.2.2 有协变量
4.3 多变量时序预测
4.4 Ablation Study
使用协变量所有数据vs只使用最后一个窗口
5. 结论
是否需要使用深度学习模型进行时间序列预测取决于具体的应用场景和数据特性。对于一些简单的时间序列预测任务,传统的预测方法可能更加高效和可解释。对于复杂的时间序列预测任务,可以选择使用深度学习模型来提高预测的准确性和鲁棒性,但需要考虑模型的复杂性和可解释性。未来的研究应该进一步探索深度学习模型在时间序列预测中的应用,同时开发更加高效、可解释和鲁棒的预测方法。