首页
Preview

深度学习在时间序列预测和分类中的进展:2023年冬季版

自从我最近写了一篇关于时间序列深度学习的更新以来已经有一段时间了。几个会议已经来了又走了,整个领域也在多个方面得到了进展。在这里,我将尝试介绍一些最有前途和关键的论文,这些论文在过去一年左右发表,以及Flow Forecast框架的更新。

Flow Forecast Framework 的更新:

  • 在过去的一年里,我们在FF的架构和文档方面取得了重大进展。最近,我们全面支持了时间序列分类和监督异常检测。此外,我们还添加了几个教程笔记本,并将单元测试覆盖率扩展到了超过77%。
  • 我还在去年11月的PyData NYC上介绍了我最近的一些研究(不幸的是他们仍然没有在线发布视频)。我还编写了一个有关鳄梨价格预测的教程。
  • 我们正在使用GitHub讨论!一定要查看我们的讨论或开始一个新的讨论。

现在让我们来看一些领域的更新。

与Transformer相关的研究:Autoformer、Pyraformer、Fedformer等,它们的有效性和问题

摘要:Transformer系列的时间序列预测架构继续增长,例如Autoformer(Neurips 2021)、Pyraformer(ICLR 2022)、Fedformer(ICML 2022)EarthFormer(Neurips 2022)和Non-Stationary Transformer(Neurips 2022)。然而,这些模型准确预测数据并优于现有方法的能力仍然值得怀疑,特别是考虑到新的研究(稍后我们将讨论)。

Autoformer

Autoformer扩展和改进了Informer模型的性能。Autoformer具有自相关机制,使模型能够比标准注意力更好地学习时间依赖关系。它旨在准确分解时间数据的趋势和季节性组成部分。你可以在此处找到完整的代码here

Pyraformer:在本文中,作者介绍了“金字塔注意模块(PAM)”,其中跨尺度树结构总结了不同分辨率的特征,而内尺度邻近连接则模拟了不同范围的时间依赖关系。

Fedformer: 该模型专注于捕获时间序列数据中的全局趋势。作者提出了一个季节性趋势分解模块,旨在捕获时间序列的全局特征。

Earthformer:也许是这个“系列”论文中最独特的,earthformer专门关注预测天气、气候和农业等地球系统。本文介绍了一种新的地球立方体注意机制。我对这篇论文在我关于流和洪水预测的研究中的潜力感到乐观,其中许多经典的Transformer都失败了。

Non-Stationary Transformer:这是转换器预测论文组中最新的出版物。作者旨在更好地适应非平稳时间序列的转换器。他们使用了两种机制:去平稳化注意力和一系列平稳化机制。这些机制可以插入任何现有的转换器模型中,作者测试了将它们插入Informer、Autoformer和Vanilla Transformer中,它们都提高了性能(在附录中他们还展示了它提高了Fedformer的性能)。

讨论/评估:与Informer类似,这些模型(除了Earthformer)在电力(ETTh)、交通、交换和天气数据集上进行了评估。这些模型主要基于均方误差(MSE)和平均绝对误差(MAE)指标进行评估:未来我希望所有Transformer论文的作者都能将他们的模型与更简单的方法进行比较,比如后面将要介绍的D-Linear和基本的LSTM/GRU。此外,他们应该超越一些标准数据集,因为我没有看到在其他时间序列相关数据集上表现良好的情况。例如,我在使Informer准确预测河流流量方面遇到了巨大问题,而与LSTM或甚至香草Transformer模型相比,它的表现通常较差。由于与计算机视觉不同,图像维度至少保持不变,时间序列数据可以在长度、周期性、趋势和季节性方面差异巨大,因此需要更多的数据集。

开放评论中,关于非平稳Transformer的评论员之一回应了这些担忧,但不幸的是在最终元评论中被否决:

“由于该模型处于Transformer空间中,而transformer以前已经在许多任务上表现出最先进的水平,因此我认为不必与其他‘家族’的方法进行比较。”

我个人认为这是一个极其有问题的论点,并导致研究在实际世界中的适用性缺失。如果某些模型在自然语言处理方面表现良好,我们应该只是假设它们在时间序列方面也表现良好吗?此外,如果存在错误的评估协议,但它是以前出版物中的标准,则应该重复吗?作为一个在实践中重视最先进的方法和创新模型的人,这正是让我花费数月时间试图让一个被认为是“好”的模型运作而最终被线性回归超越的事情。

也就是说,我并不认为这篇论文应该被拒绝或单独指出,因为所有Transformer论文都同样有着有限的评估。相反,我们应该从一开始就要求更严格的比较和明确的缺点阐述。一个复杂的模型“家族”可能不总是最初超越简单模型,但这需要在论文中清楚地注明,而不是忽略或仅仅假设它在其他领域中表现良好而不需要这样做。

在另一个令人高兴的方面,我对Earthformer的评估略感印象深刻。Earthformer在“MovingMNIST数据集和一个新提出的混沌N体MNIST数据集”上进行了评估,作者使用这些数据集来验证立方体注意力的有效性。然后他们将其用于降雨预测和厄尔尼诺周期预测。我认为这是将物理知识融入模型架构的一个好例子,立方体注意力设计了好的子测试。

Flow Forecast integration:由于许多这些模型遵循与Informer相同的基本格式,因此将它们转移到FF上的工作并不是很广泛。然而,在某些时候,我们必须思考这些新的Transformer模型在真实世界数据上到底有多好。代码合并是我和其他维护人员需要考虑的另一个领域。以前,我们从作者的实现中复制了大量代码,并尽可能保留了它(以免引入新错误)。也就是说,在接下来的几个月中,我们可能会添加几个模型(Fedformer、Non-Stationary Transformer)。

Transformer是否适用于时间序列预测(2022)?

图片来源于Are Transformers Effective for Time Series Forecasting第2页。简而言之,除了Fedformer模型外,简单模型在大多数情况下都优于几乎所有的Transformer模型(非平稳Transformer是稍后的工作,但简单模型很可能也会超越它。也许非平稳Transformer + Fedformer在某些情况下可能会打败简单模型,但与简单模型相比,它是一个非常大的模型)。

这篇论文探讨了Transformer预测数据与基准方法的能力。结果在某种程度上证实了我在自己的许多实验中所看到的情况,即Transformer通常表现不如更简单的模型,并且很难调整。论文中的一些有趣点包括:

  • 作者逐渐用基本的线性层替换自我注意力,并发现:“令人惊讶的是,Informer的性能随着逐渐简化而增长,表明对于现有的LTSF基准测试,自我注意力方案和其他复杂模块是不必要的。”
  • 作者还研究了增加回溯窗口是否改善了Transformer的性能,并发现:“SOTA Transformer的性能略有下降,表明这些模型仅从相邻时间序列序列中捕获类似的时间信息。”
  • 作者还探索了位置嵌入是否真正捕获了时间序列的时间顺序。他们通过将输入序列随机打乱到Transformer中来做到这一点。他们发现,在几个数据集上,这种打乱不会影响结果(这显然是相当令人不安的)。

讨论:在过去的几年中,我进行了无数次时间序列实验,使用Transformer模型,在大多数情况下结果都不是很好。很长一段时间,我认为我一定做错了什么或者遗漏了一些小的实现细节。毕竟,这些模型就像在NLP中一样是下一个SOTA模型。因此,看到一些研究显示我的实验并不是有缺陷的(至少不完全是),这是好的。但是,它仍然留下了很多持久的问题,例如下一步应该朝哪个方向发展?如果简单模型优于Transformer,我们应该继续使用它们吗?所有的Transformer都有缺陷,还是只是当前机制有问题?我们应该回到像LSTM、GRU或简单前馈模型这样的架构吗?这些问题我不知道答案,也不知道论文的整体影响。至今,我认为答案可能是退后一步,专注于学习有效的时间序列表示。毕竟,最初在NLP上成功的BERT就是通过形成良好的表示来实现的。

话虽如此,我并不认为我们应该完全放弃时间序列的Transformer。Fedformer模型的表现与简单模型基准非常接近,并且在各种消融混洗任务中表现更好。我也曾经看到过传闻,尽管Transformer在许多情况下很难进行预测,但它们对数据的内部表示可能非常好。我认为需要更多的研究来了解内部表示与实际预测输出之间的差异。另外,正如作者所建议的那样,改进位置嵌入可能在提高总体性能方面发挥关键作用。最后,正如我们将在下面看到的那样,最近有一种基于Transformer的模型在各种异常检测数据集上表现非常好。Flow Forecast集成: 该论文介绍了一些较简单的模型,这些模型是较为复杂的Transformer方法的良好基准。由于这些模型很简单,因此将它们添加到我们的框架中不应该需要太多的努力。在未来的几个月中,我们可能会将这些模型添加到FF中。同时,你可以在这里找到论文的全部代码。

Anomaly Transformer (ICLR Spolight 2022) : 正如上文所述,相当多的研究集中在将Transformer应用于预测中,但是相对较少的研究关注异常检测。本文介绍了一种(无监督)用于检测异常的Transformer。该模型结合了特别构造的异常关注机制和minmax策略。

作者开发了一种特殊形式的注意力机制,专门用于异常检测。见Anomaly Transformer论文第4页。

_评估:_本文在五个真实世界的数据集上评估了该模型,包括服务器机器数据集、汇聚服务器指标、土壤湿度活动被动数据、NeurIPS-TS(它本身包含五个不同的数据集)。虽然人们可能会对这个模型持怀疑态度,特别是与上述Transformer相关的模型相比,但这个评估是相当严格的。Neurips-TS是一个最近的数据集,专门用于提供更严格的异常检测模型评估(有关数据集部分的更多信息请参见下文)。因此,这个模型似乎确实比更简单的异常检测模型提高了性能。

_讨论:_在这里,作者介绍了一种独特的无监督Transformer,它在大量的异常检测数据集上表现良好。对我来说,它是过去几年时间序列Transformer领域中最有前途的论文之一。

在许多方面,似乎首先创建在时间空间中有效分类和检测异常的模型是有意义的,而后再专注于预测数据。在我的一般经验中,预测比分类和甚至异常检测更具挑战性,因为你正在尝试多次预测未来的一系列可能值。我有些惊讶于如此多的研究集中于预测,而忽视了分类或异常检测,因为它们似乎是一个更自然的第一步,可以与Transformer一起使用。

_FF集成:_未来,我们希望将该模型添加到FF中,因为我们目前只有非常有限的异常检测模型。然而,添加这篇论文可能需要编写一个单独的数据加载器,因为该模型是无监督的,并且可能需要在我们的主要训练循环中添加额外的检查(FF训练循环假定数据加载器将返回X和Y值)。不过,你可以在这里查看该模型的完整代码实现。

WaveBound: Dynamic Error Bounds for Stable Time Series Forecasting (Neurips 2022):

概述:本文介绍了一种新的正则化形式,旨在改善深度时间序列预测模型的训练(特别是上述的Transformer)。

评估:作者将其模型与现有的Transformer模型和LSTNet相结合进行评估。他们发现在大多数情况下它显著提高了性能。尽管他们只测试了Autoformer模型,而没有测试更近期的Fedformer等更多的模型。

讨论:新的正则化形式或损失函数总是有用的,因为它们通常可以插入到任何现有的时间序列模型中以提高性能。此外,我开始认为,如果你将Fedformer + Non-Stationary Mechanism + Wavebound结合起来,你可能能够在性能上打败简单的D-Linear : )。虽然不是很好,但这是一个开始,但是嘿,这可能意味着只要有足够的提升,Transformer就不会完全死亡。

_FF集成:_作者提供了代码的实现。我喜欢它可以与RNN和Transformer一起使用(因为我们的代码库包含两者)。然而,我们可能要等一段时间才能添加它,因为其他一些模型是更高优先级的。但我们将把它添加到我们的路线图中。如果你有时间,你也可以自己打开一个PR!

时间序列表示

虽然与Transformer和预测相关的研究可能看起来有些黯淡,但是在创建有用的时间序列表示方面已经有了一些进展。其中一些发展与Transformer相关的研究重叠和平行,但它们的附加好处是主要集中在表示而不是最终的预测结果。总的来说,我认为这是深度学习时间序列领域中一个令人印象深刻的新领域,值得更深入地探索。

TS2Vec: Towards Universal Representation of Time Series (AAAI 2022)

概述:TS2Vec是一个学习时间序列表示/嵌入的通用框架。这篇论文本身已经有些过时了,但它确实开创了这种时间序列表示学习论文的趋势。

讨论/评估:对表示用于预测和异常检测进行了评估。该模型优于许多模型,如Informer和Log Transformer。

FF集成:我们计划将这篇论文作为基线时间序列嵌入方法添加,可能在接下来的两个月内。虽然它已经被更近期的论文超越,但其简单性和适应性仍然不错。

Learning Latent Seasonal-Trend Representations for Time Series Forecasting (Neurips 2022):

提议的LaST架构的图像(第3页)。该模型利用趋势和季节编码器+解码器创建两个独立的表示,然后将它们馈送到简单的MLP预测器中进行预测任务。

概述:作者创建了一个模型(LAST),利用变分推断来创建季节性和趋势的分离表示。

评估:作者对下游预测任务进行了评估,类似于Informer、Autformer和其他模型等。他们通过在表示上添加预测器(见上图中的B)来实现这一点。他们还提供了有趣的图表,显示了表示的可视化效果。该模型在几个预测任务上超过了Autoformer,以及在几乎所有任务上超过了TS2Vec和CoST。它看起来在某些预测任务上可能优于上面提到的D-Linear模型。

这是一篇有趣的论文,第9页中有一个有趣的图表。我们可以看到季节性/趋势的学习可视化表示的差异。

讨论:虽然我目前对仅评估标准预测任务的模型仍持有一定的怀疑,但我喜欢这个模型关注的是表示而不是预测任务本身。如果我们看一下论文中展示的一些图表,我们可以看到该模型似乎学会了区分季节性和趋势。如果将不同数据集的可视化表示嵌入到同一空间中并展示它们是否显示出实质性差异,这将是很有趣的。

FF 实现:很可能我们会先添加 TS2Vec,然后再添加这个模型,因为这个模型更简单。但是,我希望在未来的某个时间点添加这个模型,因为它提供了不同的时间分量的两个良好的独立表示。我猜我们可能会在接下来的两个月内添加该模型。

CoST: Contrastive Learning of Disentangled Seasonal-Trend Representations for Time Series Forecasting(ICLR 2022):

这是一篇于2022年早些时候在ICLR上发表的论文,它与LaST类似,学习季节性和趋势表示。由于LaST在性能方面已经超越了它,所以我不会对它进行过多的描述。但是,以上是链接,供那些想阅读的人阅读。

其他有趣的论文

Domain Adaptation for Time Series Forecasting via Attention Sharing (ICML 2022):

来自:Domain Adaptation for Time Series Forecasting Via Attention Sharing 论文第3页。

总结:当 DNNs 缺乏训练数据时,预测变得很具有挑战性。我记得当我在 COVID-19 预测方面工作时,最初缺乏时间历史记录使得预测非常困难。因此,我希望看到更多的论文开始解决时间序列转移学习方案。该论文利用共享注意力层来处理具有丰富数据的域,然后为目标域提供单独的模块。

评估:该模型使用合成数据集和真实数据集进行评估。在合成设置中,他们测试了冷启动学习和少量学习,并发现他们的模型优于基准模型 vanilla transformer 和 DeepAR。对于真实数据集,他们使用 Kaggle 零售数据集和电力数据集的子集。该模型在这些实验中远远优于基准模型。

讨论:冷启动、少量学习和有限学习是极其重要的话题,但很少有论文针对时间序列进行讨论。该模型在解决这些问题方面提供了重要的一步。尽管如此,我认为他们可以在更多不同的有限现实数据集上进行评估,并与更多基准模型进行比较。此外,如果该模型更容易“插入”到现有架构中,那将是很好的。Fine-tuning 或正则化的好处之一是你可以在任何架构中使用它。

FF 实现:我们在 FF 中已经具有一些转移学习功能,这在为 COVID 提供早期见解时极大地帮助了我们。添加这个模型可能会提供更多帮助,但开销似乎很大,而且该模型不能轻松地插入到我们生态系统中现有的模型中。

When to Intervene: Learning Optimal Intervention Policies for Critical Events(Neurips 2022):

总结:虽然这不是一个“典型”的时间序列论文,但我选择将它包含在这个列表中,因为归根结底,大多数公司不仅仅是为了预测价值或检测异常,而是要以某种方式“响应”。这篇文章关注于找到机器故障前的最佳干预时间。这被称为 OTI 或最佳时机干预。作者

评估:当然,评估 OTI 的一个问题是基础生存分析的准确性(如果不正确,评估也将不正确)。作者将他们的模型与两个静态阈值进行比较,并发现它表现良好。他们绘制了不同策略的预期表现和击中与错过的比率。

讨论:这是一个有趣的问题,作者提出了一个新颖的解决方案,但对我来说,评估有点不足。其中一位审稿人指出,“我认为,如果有一张图表显示失败概率和预期干预时间之间的权衡,以便可以直观地看到这个权衡曲线的形状,那么实验可能会更有说服力。”

FF 集成:关于时间数据的 OTI 和强化学习都是有趣的未来潜在方向,可以在 Flow Forecast 中支持。不幸的是,目前它们不是我们的重点,因为我们首先正在努力使框架在预测、异常检测和分类方面非常稳健。然而,我认为在未来我们可以考虑创建一个更“可操作”的框架,以更好地支持决策制定。

FiLM: Frequency improved Legendre Memory Model for Long-term Time Series Forecasting(Neurips 2022):代码

[Adjusting for Autocorrelated Errors in Neural Networks for Time Series (Neurips 2021): 代码在这里。

Dynamic Sparse Network for Time Series Classification: Learning What to “See”(Neurips 2022):

最近的数据集/基准

  • Monash Time Series Forecasting Archive(Neurips 2021):最近我们看到许多深度时间序列都在相同的数据集上进行评估。虽然这对于基本的基准测试来说还可以,但它们经常在不同的时间任务上不能保持一致。该存档旨在形成一个不同时间序列数据集的“主列表”,并提供更权威的基准测试。该存储库包含超过20个不同的数据集,涵盖了各种行业,包括医疗保健、零售、共享乘车、人口统计数据等等。
  • Subseasonal Forecasting Microsoft(2021):这是微软公开发布的一个数据集,旨在促进使用机器学习来改进亚季节性预测(例如未来两到六周)。亚季节性预测有助于政府机构更好地准备天气事件以及农民的决策。微软为该任务包含了几个基准模型,通常情况下,深度学习模型的表现要比其他方法差得多。最好的 DL 模型是一个简单的前馈模型,而 Informer 的表现非常糟糕。
  • 重新审视时间序列异常检测:定义和基准:该论文批评了许多现有的异常/离群值检测数据集,并提出了35个新的合成数据集和4个现实世界数据集,用于基准测试。

结论

在过去的两年中,深度学习时间序列领域发生了很多事情。我们见证了transformer在时间序列预测领域的崛起和可能的衰落。我们看到了时间序列嵌入方法的兴起,以及异常检测和分类方面的进一步突破。Flow Forecast作为一个框架不断发展壮大,我们希望能够继续融合最新的突破性研究。

我们希望增加更多的可解释性、可视化和基准方法,以便研究人员和工业数据科学家可以看到他们的模型表现在哪些方面以及模型在哪些方面表现不佳。此外,我们希望增加更多形式的正则化、预处理和迁移学习以提高性能。也许transformer对于时间序列预测很好,也可能不是,但我们将继续支持它们及其替代品!如果你有任何问题或见解,请随时在下方留言。感谢你一直阅读到最后。

译自:https://towardsdatascience.com/advances-in-deep-learning-for-time-series-forecasting-and-classification-winter-2023-edition-6617c203c1d1

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
alivne
复杂的问题简单化

评论(0)

添加评论