企业宣传,产品推广,广告招商,广告投放联系seowdb

SOFTS 期间序列预测的最新模型以及Python经常使用示例

近年来,深度学习不时在期间序列预测中追逐着优化树模型,其中新的架构曾经逐渐为最先进的性能设定了新的规范。

这一切都始于2020年的N-BEATS,而后是2022年的NHITS。2023年,PatchTST和TSMixer被提出,最近的iTransformer进一步提高了深度学习预测模型的性能。

这是2024年4月《SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion》中提出的新模型,驳回集中战略来学习不同序列之间的交互,从而在多变量预测义务中取得最先进的性能。

在本文中,咱们具体讨论了SOFTS的体系结构,并引见新的STar聚合调度(STAD)模块,该模块担任学习期间序列之间的交互。而后,咱们测试将该模型运行于单变量和多变量预测场景,并与其余模型作为对比。

SOFTS是 Series-cOre Fused Time Series的缩写,面前的动机来自于常年多元预测对决策至关关键的意识:

首先咱们不时钻研Transform er的模型,它们试图经过经常使用补丁嵌入和通道独立等技术(如PatchTST)来降低Transformer的复杂性。然而由于通道独立性,消弭了每个序列之间的相互作用,因此或者会疏忽预测消息。

iTransformer 经过嵌入整个序列局部地处置了这个疑问,并经过留意机制处置它们。然而基于transformer的模型在计算上是复杂的,并且须要更多的期间来训练十分大的数据集。

另一方面有一些基于mlp的模型。这些模型通常很快,并发生十分强的结果,但当存在许多序列时,它们的性能往往会降低。

所以出现了SOFTS:钻研人员倡导经常使用基于mlp的STAD模块。由于是基于MLP的,所以训练速度很快。并且STAD模块,它准许学习每个序列之间的相关,就像留意力机制一样,但计算效率更高。

在上图中可以看到每个序列都是独自嵌入的,就像在iTransformer 中一样。

而后将嵌入发送到STAD模块。每个序列之间的交互都是集中学习的,而后再调配到各个系列并融合在一同。

最后再经过线性层发生预测。

这集体系结构中有很多物品须要剖析,咱们上方更具体地钻研每个组件。

首先经常使用归一化来校准输入序列的散布。经常使用了可逆实例的归一化(RevIn)。它将数据以单位方差的平均值为中心。而后每个系列区分启动嵌入,就像在iTransformer 模型。

在上图中咱们可以看到,嵌入整个序列就像运行补丁嵌入,其中补丁长度等于输入序列的长度。

这样,嵌入就蕴含了整个序列在一切期间步长的消息。

而后将嵌入式系列发送到STAD模块。

STAD模块是soft模型与其余预测方法的真正区别。经常使用集中式战略来查找一切期间序列之间的相互作用。

嵌入的序列首先经过MLP和池化层,而后将这个学习到的示意衔接起来构成核(上图中的黄色块示意)。

核构建好了就进入了“重复”和“衔接”的步骤,在这个步骤中,核示意被分派给每个系列。

MLP和池化层未捕捉的消息还可以经过残差衔接减少到核示意中。而后在融合(fuse)操作的环节中,核示意及其对应系列的残差都经过MLP层发送。最后的线性层驳回STAD模块的输入来生成每个序列的最终预测。

与其余捕捉通道交互的方法(如留意力机制)相比,STAD模块的关键好处之一是它降低了复杂性。

由于STAD模块具备线性复杂度,而留意力机制具备二次复杂度,这象征着STAD在技术上可以更有效地处置具备多个序列的大型数据集。

上方咱们来实践经常使用SOFTS启动单变量和多变量场景的测试。

这里,咱们经常使用 Electricity Transformer>

pip install githttpsgithubcomNixtlaneuralforecastgit

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender