深度学习在时间序列预测的总结和未来方向分析
深度学习在时间序列预测的总结和未来方向分析
2023年是大语言模型和稳定扩散技术取得突破性进展的一年,而时间序列领域虽然没有那么大的成就,却也取得了缓慢而稳定的进步。NeurIPS、ICML和AAAI等重要会议上,研究者们在Transformer结构、多模态学习以及数值时间序列数据的处理等方面都取得了新的进展。
NeurIPS 2023
在NeurIPS 2023上,关于Transformer、归一化、平稳性和多模态学习的研究成果令人瞩目。虽然在时间序列领域没有重大突破,但研究者们在实际应用中实现了渐进的性能改进,并提出了一些有趣的概念。
Adaptive Normalization for Non-stationary Time Series
这篇论文介绍了一种“模型不可知的归一化框架”(SAN),用于简化非平稳时间序列数据的预测。研究者让SAN分两步操作:首先训练一个统计预测模型(通常是ARIMA),然后训练实际的深度时间序列基础模型。统计模型对输入时间序列进行切片,以便学习更健壮的时间序列表示并去除非平稳属性。研究者指出:“通过对切片级特性进行建模,SAN能够消除局部区域的非平稳性。”SAN还显式地预测目标窗口的统计信息(标准差/平均值)。这使得它在处理非平稳数据时,与普通模型相比,能够更好地适应随时间的变化。
采用Transformer模型作为基本预测模型,研究者在电力、交换、交通等典型的时间序列预测基准数据集上进行了验证。结果显示,SAN在这些基准数据集上持续提高了基本模型的性能。尽管研究者没有测试Inverted Transformer(因为这篇论文是在Inverted Transformer之前发布的),但可以预见,调优和调试(特别是在新的数据集上)可能会很棘手和麻烦。此外,“切片”的切片与普通的序列窗口有何不同?研究者对此解释得还不够清楚。总体而言,SAN仍然是一个相当强大的贡献,因为它的实验结果和即插即用属性。
BasisFormer
BasisFormer使用可学习和可解释的“basis”来改进一般的Transformer体系结构。这里的“basis”指的是创建一个类似于NBeats的神经“basis”(例如,为基于多项式的函数学习趋势、季节性等的系数)。该模型分为三个部分:基础模块、系数模块和预测模块。基模块试图以自监督的方式确定一组适用于历史和未来时间序列数据的数据基础趋势。basis模块通过对比学习和一个名为InfoNCE loss的特定损失函数(该函数试图学习未来和过去时间序列之间的联系)。coef模型试图“模拟时间序列和一组基础趋势之间的相似性”。对于coef模型,研究者使用了一个交叉注意力模块,该模块将basis和时间序列作为输入。然后将输出输入到包含多个MLP的预测模块中。
研究者在典型的时间序列预测数据集(ETH1、ETH、weather、exchange)上评估了他们的模型。结果显示,BasisFormer比其他模型(Fedformer、Informer等)的性能提高了11-15%。值得注意的是,BasisFormer还没有被拿来和Inverted Transformer比较,因为它还没有发布。根据现有信息推测,Inverted Transformer和可能的Crossformer可能会略优于BasisFormer。
去年,一篇名为“Are Transformers Effective for Time Series Forecasting?”的论文批评了许多Transformer模型,并展示了一个简单的模型“D-Linear”如何超越它们。在2023年,从BasisFormer开始,研究者们已经开始缓慢地解决这些问题,并超越了上述基准模型。然而,这篇论文模型的技术虽然可靠,但其内容较难理解。研究者介绍了学习“basis”的概念,但没有真正解释这种方法的新颖性以及它与其他模型的不同之处。
Improving day-ahead Solar Irradiance Time Series Forecasting by Leveraging Spatio-Temporal Context
这篇论文提出了一种基于混合(视觉和时间序列)深度学习的架构,用于预测第二天的太阳能产量。太阳能的生产经常受到云层覆盖的影响,这在卫星图像数据中可以看到,但在数值数据中没有很好地体现出来。除了模型本身外,论文的另一个贡献是研究者构建并开源的多模态卫星图像数据集。研究者描述了一个多级Transformer架构,同时关注数值时间序列和图像数据。时间序列数据通过时间Transformer,图像通过视觉Transformer。然后,交叉注意力模块将前两个模块的图像数据综合起来。最后数据进入一个输出预测的最终时态Transformer。
研究者在论文中提到的另一个有用的想法被称为ROPE或旋转位置编码。这将在编码/位置嵌入中创建坐标对。这是用来描述从云层到太阳能站的距离。
研究者对他们的新数据集进行了评估和基准测试,比较了Informer、Reformer、Crossformer和其他深度时间序列模型的性能。研究者还在整合图像数据方面区分了困难和容易的任务,他们的方法优于其他模型。
这篇论文提供了一个有趣的框架,ROPE的概念也很有趣,对于任何使用坐标形式的地理数据的人都有潜在的帮助。数据集本身对于多模态预测的持续工作非常有用,这是一项非常有益的贡献。
Large Language Models Are Zero-Shot Time Series Forecasters
这篇论文探讨了预训练的LLM能否直接以整数形式输入时间序列数据,并以零样本的方式预测未来数据。研究者描述了使用GPT-3和GPT-4以及开源LLMs不进一步修改结构直接与时间序列值交互的情况。最后还描述了他们对模型零样本训练行为起源的思考。研究者假设,这种行为是提取知识的预训练的普遍通用性的结果。
研究者在上述标准时间序列基准数据集上评估了他们的模型。虽然模型没有达到SOTA性能,但考虑到它完全是零样本并且没有额外的微调,所以表现还是很好的。
LLM可以开箱即用地进行TS预测,因为它们都是在文本数据上训练的。这一领域可能值得未来进一步探索,这篇论文是一个很好的一步。但是该模型目前只能处理单变量时间序列。
ICML、ICLR 2023
除了NeurIPS之外,ICML和ICLR 2023还重点介绍了几篇关于时间序列预测/分析的深度学习的论文。以下是一些研究者认为很有趣,并且对未来一年仍有意义的建议:
Crossformer
该模型是专门为多元时间序列预测(MTS)开发的。该模型采用维度分段嵌入(DSW)机制。DSW嵌入与传统嵌入的不同之处在于它采用二维格式的数据。并且跨变量和时间维度显式地从MTS数据生成段。
该模型在标准MTS数据集(ETH、exchange等)上进行了评估:在发布时时优于大多数其他模型,例如Informer和DLinear。研究者还对dSW进行了消融研究。
这篇来自ICLR的关于的论文在预测河流流量时表现不错,但是是在一次预测多个目标时,性能似乎会下降很多。也就是说,它的表现肯定比Informer和相关的Transformers模型要好。
Learning Perturbations to Explain Time Series Predictions
大多数用于深度学习解释的扰动技术都是面向静态数据(图像和文本)的。但是对于时间序列特别是多元TS需要更大范围的扰动来学习随机影响。研究者提出了一种基于深度学习的方法,可以学习数据的掩码和相关的扰动,更好地解释特征的重要性。然后将掩码和扰动的输入传递给模型,并将输出与未扰动数据的输出进行比较。据两个输出之间的差值计算损失。
越来越多的研究人员正在深入研究解释深度学习模型这是件好事。本文概述了现有的方法及其不足,并提出了一种改进的方法。研究者认为使用额外的神经网络来学习扰动的想法增加了不必要的复杂性,因为每当我们增加更多的层和额外的网络时,就会增加发生问题的概率,特别是在已经很大的网络上。别忘了奥卡姆剃刀定律如无必要,勿增实体
Learning Deep Time Index Models
本文通过光流和元学习来讨论预测,描述了学习如何预测非平稳时间序列。对于那些不熟悉的人来说,元学习通常被应用在计算机视觉数据集上,像MAML这样的论文可以对新的图像类进行少量的学习。MAML和其他模型都有一个内部循环和一个外部循环,其中外部循环教模型如何学习,内部循环对其进行微调以适应特定的任务。论文的作者采用了这一思想,并将其应用于几乎将每个非平稳性视为一个新的学习任务。新的“任务”是长时间序列序列的块。
研究者在ETH、temperature和exchange数据集上测试了他们的模型。尽管他们的模型没有达到SOTA的结果,但它与当前的SOTA体系结构具有竞争力。
这篇论文为时间序列预测提供了一个有趣的角度,相对于常规方法有了一个新的突破,研究者认为他虽然没有超过SOTA但是还是被录用的原因之一。
Inverted Transformers are Effective for Time Series Forecasting
《Inverted Transformers》是2024年发表的一篇论文。这也是目前时间序列预测数据集上的SOTA。基本上,Inverted Transformers采用时间序列的Transformers架构并进行了翻转。整个时间序列序列用于创建令牌。然后,时间序列彼此独立进行嵌入表示。注意力对多个时间序列嵌入进行操作。它有点类似于Crossformer,但它的不同之处在于,它遵循标准Transformers架构。
研究者在标准时间序列数据集上评估模型目前优于所有其他模型,包括Informer、Reformer、Crossformer等。
这是一篇强大的论文,因为模型的表现优于现有的模型。但是在某些情况下,它优于模型的数值并不是那么显著。所以可以优先看看这篇论文并且进行测试。
TimeGPT
最后说说TimeGPT,它没有在任何主要会议上被接受,而且它的评估方法也优点可疑,由于它不幸地在互联网上获得了相当多的介绍,所以我们要再提一下:
- 作者没有将他们的结果与其他SOTA类型模型进行比较,只是引用“测试集包括来自多个领域的30多万个时间序列,包括金融、网络流量、物联网、天气、需求和电力。”并且没有提供测试集的链接,也没有在他们的论文中说明这些数据集是什么。
- 论文中的架构图和模型体系结构的描述非常糟糕。这看起来就像是作者复制了其他论文的图表,强加上注意力的定义和LLM相关的流行词汇。
- 作者的Nixtla公司非常小,可能是一家小型初创公司,它是否有足够的计算资源来完全训练一个“成功的时间序列基础模型”。虽然这样说法优点歧视,但是如果我说我一个人用一周训练了一个LLM,那估计都没人相信,对吧。
- OpenAI、谷歌、亚马逊、Meta等公司提供足够的计算资源来创建庞大的模型。如果TimeGPT真的是一个简单的Transformers模型,并在大量的时间序列数据上训练它,为什么其他机构,甚至个人不能用它的大量gpu做到这一点呢?答案是,事情肯定没那么简单。
- 时间序列创建“基础模型”的能力目前还不够完善。多元时间序列预测的一个重要组成部分是学习协变量之间的依赖关系。MTS的维度在不同的数据集之间差异很大。对于具有文本数据的Transformers,我们总是将一个单词映射到一个数字id,然后创建一个特定维度的嵌入。
- 对于MTS,不仅值可以更改,而且在一个数据集上可能有100个变量,而在另一个数据集上只有10个变量。这使得几乎不可能设计所有用途的映射层来将不同大小的MTS数据集映射到公共嵌入维度。所以还记得我们前几天发的Lag-Llama,也只是单变量的预测。
- 在其他时间序列(即使是那些具有相同数量变量的时间序列)上预训模型不会产生改进的结果(至少在当前架构下不会)。
总结及未来方向分析
在2023年,我们看到了Transformers在时间序列预测中的一些持续改进,以及LLM和多模态学习的新方法。随着2024年的进展,我们将继续看到在时间序列中使用Transformers架构的进步和改进。可能会看到在多模态时间序列预测和分类领域的进一步发展。