Koopa: Learning Non-stationary Time Series Dynamics with Koopman Predictors

系列文章目录

Koopa:使用 Koopman 预测器学习非平稳时间序列动力学 NeurIPS 2023



摘要

现实世界的时间序列具有内在的非平稳性,这对深度预测模型提出了主要挑战。 虽然以前的模型因时间分布变化而受到复杂的序列变化的影响,但我们用现代库普曼理论来处理非平稳时间序列,该理论从根本上考虑了潜在的时变动力学。 受描绘复杂动力系统的库普曼理论的启发,我们通过傅立叶滤波器从复杂的非平稳序列中分离出时变和时不变分量,并设计库普曼预测器来推进各自的动力学。 从技术上讲,我们建议 Koopa 作为一种新颖的 Koopman 预测器,由可学习分层动态的可堆叠块组成。 Koopa 寻求 Koopman 嵌入的测量函数,并利用 Koopman 算子作为隐式转换的线性描述。 为了应对表现出较强局部性的时变动态,Koopa 计算时间邻域中的上下文感知算子,并能够利用传入的地面实况来扩大预测范围。 此外,通过将库普曼预测器集成到深度残差结构中,我们阐明了先前库普曼预测器中的约束重建损失,并实现了端到端的预测目标优化。 与最先进的模型相比,Koopa 实现了具有竞争力的性能,同时节省了 77.3% 的训练时间和 76.0% 的内存。 代码可在此存储库中找到:https://github.com/thuml/Koopa。


提示:以下是本篇文章正文内容

一、引言

时间序列预测已成为现实世界应用的重要组成部分,例如天气预报、能源消耗和财务评估。 凭借大量可用的观察结果,深度学习方法表现出卓越的性能,并带来了深度预测模型的繁荣。 TCN [4,43,47] 利用卷积核,RNN [12,22,37] 利用循环结构来捕获底层时间模式。 此后,注意力机制[42]成为序列建模的主流,Transformers[31,48,53]通过学习逐点时间依赖性的能力显示出强大的预测能力。 最近 MLP 的复兴 [32,51,52] 提出了一种简单但有效的方法,通过密集加权来展示时间依赖性。

尽管模型经过精心设计,但深度模型的一个基本问题是泛化变化的分布[1,25,33],由于固有的非平稳性,这在现实世界的时间序列中得到了广泛的体现。 非平稳时间序列的特点是不同时期的时变统计和时间依赖性[2, 14],导致训练和推理之间甚至每个回溯窗口之间存在巨大的分布差距。 虽然以前的方法[16, 28]调整现有的架构设计以减轻非平稳性的不利影响,但很少有工作研究可用于自然处理时变时间模式的理论基础。
在这里插入图片描述
图 1:测量函数 g 在非平稳时间序列和非线性动力系统之间进行映射,以便时间线对应于系统轨迹。 因此,不同时期的时间序列变化反映为非线性动力学的子区域,可以分别通过线性库普曼算子{K1,K2,K3}在时间上进行刻画和推进。

从另一个角度来看,现实世界的时间序列就像时变动力学[6]。 作为分析复杂动力学的主要方法之一,库普曼理论[20]提供了将非线性系统变换到可以用线性库普曼算子描述的测量函数空间的启示。 一些试点工作通过采用自动编码器网络 [40] 和算子学习 [26, 49] 实现了与深度学习方法的集成。 更重要的是,库普曼理论支持,对于时变动力学,存在系统的坐标变换,其中局部库普曼算子可以有效地将整个测量函数空间描述为几个线性化的子空间[23, 36]。 因此,基于库普曼的方法适合学习非平稳时间序列动力学(图 1)。 此外,测量函数空间的线性使我们能够利用谱分析来解释非线性系统。

在本文中,我们将非平稳序列分解为时不变和时变动力学,并提出 Koopa 作为一种新颖的 Koopman 预测器,它由模块化 Koopman 预测器(KP)组成,用于分层描述和推进前向序列动力学。 具体来说,我们利用傅立叶分析进行动力学解缠。 对于时不变动力学,该模型学习库普曼嵌入和线性算子来揭示长期序列背后的隐式转换。 至于其余表现出较强局部性的时变组件,Koopa 在不同的回溯窗口内执行上下文感知算子计算和适应。 此外,库普曼预测器超越了库普曼自动编码器的规范设计,没有绑定重建损失,并且我们将模块化块合并到深度残差架构中[32]以实现端到端时间序列预测。 我们的贡献总结如下:

• 从现代动力学库普曼理论的角度来看,我们提出了由模块化傅里叶滤波器和库普曼预测器组成的Koopa,它可以分层解开并利用时不变和时变动力学进行时间序列预测。
• 基于库普曼算子的线性,所提出的模型能够利用输入序列并适应变化的动态,以扩大预测范围。
• 与最先进的方法相比,我们的模型实现了具有竞争力的性能,同时根据六个实际基准测试平均节省了 77.3% 的训练时间和 76.0% 的内存。

二、 Related Work

2.1 使用 DNN 进行时间序列预测

深度神经网络(DNN)在时间序列预测方面取得了巨大突破。 基于 TCN 的模型 [4,43,47] 探索分层时间模式并采用具有不同感受野的共享卷积核。 基于 RNN 的模型 [12,22,37] 利用具有记忆的循环结构来揭示时间点上的隐式转换。 基于 MLP 的模型 [32,51,52] 学习逐点加权,令人印象深刻的性能和效率凸显了 MLP 在建模简单的时间依赖性方面表现良好。 然而,它们的实际适用性可能仍然受到非平稳时间序列的限制,非平稳时间序列具有时变特性,对模型容量和效率提出了挑战。 与以前的方法不同,Koopa 从根本上考虑了时间序列背后的复杂动态,并受库普曼理论的启发,以时变和时不变的方式实现高效且可解释的过渡学习器。

最近,基于 Transformer 的模型在时间序列预测方面也取得了巨大成功。 初步尝试[19,27,48,53]更新了规范结构并降低了长期预测的二次复杂度。 然而,最近的研究 [16, 21] 发现 Transformer 和其他 DNN 泛化不同的时间分布是一个中心问题,并且一些工作 [15, 16, 21, 28] 进行了定制,以增强针对移位分布的鲁棒性。 特别是,PatchTST [31] 通过通道独立性和实例归一化 [41] 将 Transformer 提升到最先进的性能,但当系列变量数量很大时,可能会导致难以承受的计算成本。 在本文中,我们提出的由库普曼理论支持的模型自然适用于非平稳时间序列,并以显着的模型效率实现了最先进的预测性能。

2.2 Learning Dynamics with Koopman Operator

库普曼理论 [20] 几十年来已经成为分析现代动力系统的主导观点 [6]。 与动态模态分解 (DMD) [38] 作为近似库普曼算子的主要数值方法一起,空气动力学和流体物理学领域取得了重大进展 [3,9,30]。 库普曼理论的最新进展本质上与数据科学时代的深度学习方法相结合。 Pilot 作品 [29,40,50] 利用数据驱动方法(例如 Koopman Autoencoder)来同时学习测量函数和运算符。 PCL[3]进一步引入了后向过程来提高算子的一致性和稳定性。 基于库夫曼算子推进非线性动力学的能力,它也被广泛应用于序列预测。 通过库普曼谱分析,MDKAE [5] 理清了序列数据背后的主导因素,并能够对特定因素进行预测。 K-Forecast [24]利用库普曼理论来处理时间信号中的非线性,并提出优化长期时间序列预测的数据相关基础。 通过利用预定义的测量函数,KNF [44] 学习 Koopman 算子和注意力图来应对时间分布变化的时间序列预测。

与之前的库普曼预测器不同,我们设计了模块化的库普曼预测器,通过分层学习算子来处理时变和时不变分量,并通过消除重建损失来革新库普曼自动编码器,以实现完全预测训练。

三、Background

3.1 Koopman Theory库夫曼理论

离散时间动态系统可以表示为 x t + 1 = F ( x t ) x_{t+1}=\mathbf{F}(x_t) xt+1=F(xt),其中 x t x_{t} xt表示系统状态,F 是描述动态的矢量场。 然而,由于非线性或噪声数据,直接在状态上识别系统转换具有挑战性。 相反,库普曼理论 [20] 假设状态可以投影到测量函数 g 的空间中,该空间可以由无限维线性算子 K 控制并在时间上向前推进,这样:

K ∘ g ( x t ) = g ( F ( x t ) ) = g ( x t + 1 ) . \mathcal{K}\circ g(x_t)=g\big(\mathbf{F}(x_t)\big)=g(x_{t+1}). Kg(xt)=g(F(xt))=g(xt+1).
库普曼理论在有限维非线性动力学和无限维线性动力学之间架起了一座桥梁,可以应用谱分析工具进行深入分析。

3.2 Dynamic Mode Decomposition动态模式分解

动态模式分解(DMD)[38]通过收集观察到的系统状态(也称为快照)来寻找最佳拟合的有限维矩阵 K 来近似无限维算子 K。 尽管 DMD 是分析动力学的标准数值方法,但它仅适用于线性空间假设,如果没有先验知识,很难识别线性空间假设。 因此,提出了 eDMD [45] 来避免手工制作测量函数,并通过使用自动编码器与学习方法进行协调结合,从而产生库普曼自动编码器(KAE)。 通过深度网络的万能逼近定理[13],KAE 在数据驱动的方法中找到了所需的 Koopman 嵌入 g(xt) 和学习到的测量函数。

3.3 Time Series as Dynamics

由于固有的非平稳性,预测现实世界的时间序列具有挑战性。 但如果我们放大时间线,我们会发现局部时间序列表现出弱平稳性。 它与分析大型非线性动力学的库普曼理论不谋而合。 也就是说,测量函数空间可以分为几个邻域,这些邻域由局部线性算子有区别地描述[23]。 因此,我们利用基于库普曼的方法,通过解开时变和时不变动力学来解决大型非线性动力学问题。 受 Wold 定理 [46] 的启发,每个协方差平稳时间序列 X t X_{t} Xt 都可以正式分解为:
在这里插入图片描述
图 2:左:Koopa 结构。 通过采用前一个块拟合动力系统的残差,每个块学习分层动力学,并且 Koopa 聚合所有块的预测。 右:对于时不变的预测,Koopa 从每个回溯预测窗口对中学习全局共享的动态。 对于时变预测,该模型计算局部和分段动态。
在这里插入图片描述
其中 η t \eta_{t} ηt 表示确定性分量, ε t \varepsilon_{t} εt 是随机分量,作为线性滤波器 { b j } \{b_{j}\} {bj} 的平稳过程输入,我们引入全局学习和局部线性 Koopman 算子来利用不同分量背后的各自动态。

四、 Koopa

我们建议 Koopa 由可堆叠的 Koopa 块组成(图 2)。 每个块都有义务学习输入动态并将其向前推进以进行预测。 鼓励每个 Koopa 块通过将前一个块拟合动态的残差作为输入来分层学习算子,而不是努力寻找一个统一的算子来管理整个测量函数空间。

Koopa Block 如上所述,对于非平稳序列预测,必须解开不同的动态并采用适当的算子。 图 2 所示的拟议模块包含傅立叶滤波器,该滤波器利用频域统计来分解时变和时不变分量,并实现两种类型的库普曼预测器 (KP) 来分别获得库普曼嵌入。 在时不变 KP 中,我们将算子设置为模型参数,以便从回溯预测窗口全局学习。 在时变 KP 中,分析算子解是在回溯窗口内本地计算的,系列段排列为快照。 详细来说,我们将第 b 个块输入 X ( b ) X^{(b)} X(b)表示为 [ x 1 , x 2 , … , x T ] ⊤ ∈ R T × C [x_1,x_2,\ldots,x_T]^\top\in\mathbb{R}^{T\times C} [x1,x2,,xT]RT×C,其中 T 和 C 表示回溯窗口长度和变量数量。 目标是输出长度为 H 的预测窗口。我们提出的傅立叶滤波器在每个块的开头进行解缠结:
在这里插入图片描述
各个 KP 将使用时不变输入 X i n v ( b ) X_\mathrm{inv}^{(b)} Xinv(b) 和时变输入 X v a r ( b ) X_\mathrm{var}^{(b)} Xvar(b) 进行预测,时变 KP 同时输出拟合输入 X ^ v a r ( b ) \hat{X}_{\mathrm{var}}^{(b)} X^var(b)

在这里插入图片描述
在这里插入图片描述
图 3:左:时不变 KP 从所有窗口全局学习具有时不变组件的 Koopman 嵌入和运算符。 右图:时变 KP 在回溯窗口内进行局部算子计算,并利用获得的算子进行动态预测。

与 KAE [45, 44] 引入损失项来严格重建回溯窗口序列不同,我们将残差 X ( b + 1 ) X^{(b+1)} X(b+1) 作为下一个块的输入来学习校正算子。 模型预测 Y 是从所有 Koopa 块收集的预测分量 Y v a r ( b ) , Y i n v ( b ) Y_{\mathrm{var}}^{(b)},Y_{\mathrm{inv}}^{(b)} Yvar(b),Yinv(b) 的总和:
在这里插入图片描述
傅里叶滤波器 为了理清序列分量,我们利用傅里叶分析来查找不同时期反映的全局共享和局部频谱。 具体来说,我们预先计算训练集的每个回溯窗口的快速傅里叶变换(FFT),计算每个频谱的平均幅度 S = { 0 , 1 , … , [ T / 2 ] } \mathcal{S}=\{0,1,\ldots,[T/2]\} S={0,1,,[T/2]},并按相应的幅度排序。 我们将 α 的最高百分比作为子集 G α ⊂ S \mathcal{G}_{\alpha}\subset\mathcal{S} GαS,它包含所有回溯窗口之间共享的主导频谱,并展示数据集底层的时不变动态。 其余频谱是不同时期不同窗口的特定成分。 因此,我们将谱S分为 G α \mathcal{G}_{\alpha} Gα及其互补集 G ˉ α \bar{G}_{\alpha} Gˉα。 在训练和推理过程中,FourierFilter(·) 对输入 X(块上标省略)进行解耦:
在这里插入图片描述
其中F表示FFT, F − 1 \mathcal{F}^{-1} F1是其倒数,Filter(·)仅通过给定集合的相应频谱。 我们通过计算解缠序列中时间依赖性的变化程度来验证第 5.2 节中提出的傅里叶滤波器的解缠结效果。

Time-invariant KP 时不变 KP 旨在描绘全局共享动态,它发现从回溯窗口到预测窗口的直接过渡为 F : X i n v ↦ Y i n v . {\textbf{F}:}X_{\mathrm{inv}}\mapsto Y_{\mathrm{inv}}. F:XinvYinv.。 具体来说,我们引入一对编码器: R T × C ↦ R D \mathbb{R}^{T\times C}\mapsto\mathbb{R}^D RT×CRD和解码器: R D ↦ R H × C \mathbb{R}^D\mapsto\mathbb{R}^{H\times C} RDRH×C 来学习运行窗口对的时不变分量的常见库普曼嵌入,其中 D 表示嵌入维度。 在数据驱动的测量函数上,我们引入了算子 K i n v ∈ R D × D K_{\mathrm{inv}}\in{{R}}^{D\times D} KinvRD×D作为每个 Time-invariant KP 中的可学习参数,它将回溯和预测窗口 Z b a c k , Z f o r e ∈ R D Z_{\mathrm{back}},Z_{\mathrm{fore}}\in\mathbb{R}^{D} Zback,ZforeRD 的嵌入视为运行快照对。 其过程如图3所示,TimeInvKP(·)的公式如下:

在这里插入图片描述
Time-variant KP 由于时变动态不断变化,我们利用窗口中的局部快照,它构成了更可能线性化的时间邻域。 为了获得语义快照并减少迭代,输入 X v a r X_{\mathrm{var}} Xvar被分为长度为 S 的 T S \frac{T}{S} ST x j \mathbf{x}_{j} xj

在这里插入图片描述
我们假设 S 可以被 T 和 H 整除; 否则,我们会填充输入或截断输出以使其兼容。 时变 KP 旨在描绘局部动态,这在分析上表现为分段过渡 F : x t ↦ x t + 1 \mathbf{F}:\mathbf{x}_t\mapsto\mathbf{x}_{t+1} F:xtxt+1 和观察到的快照。 我们利用另一对编码器: R S × C ↦ R D \mathbb{R}^{S\times C}\mapsto\mathbb{R}^{D} RS×CRD 将每个段转换为库普曼嵌入 z j z_{j} zj 和解码器: R D ↦ R S × C \mathbb{R}^D\mapsto\mathbb{R}^{S\times C} RDRS×C 将拟合或预测的嵌入 z ^ j \hat{z}_{j} z^j 转换回时间段 x ^ j \hat{x}_{j} x^jj:
在这里插入图片描述给定快照集合 Z = [ z 1 , … , z T S ] ∈ R D × T S Z=[z_{1},\ldots,z_{\frac{T}{S}}]\in\mathbb{R}^{D\times\frac{T}{S}} Z=[z1,,zST]RD×ST,我们利用 eDMD [45] 来找到推动系统前进的最佳拟合矩阵。 我们应用一步算子近似如下:
在这里插入图片描述其中 Z b a c k † ∈ R ( T S − 1 ) × D Z_{\mathrm{back}}^\dagger\in\mathbb{R}^{(\frac TS-1)\times D} ZbackR(ST1)×D是回溯窗口嵌入集合的 Moore-Penrose 逆。 计算出的 K v a r ∈ R D × D K_\mathrm{var}\in\mathbb{R}^{D\times D} KvarRD×D 随窗口变化,有助于将局部时间变化分析为线性系统。 通过计算算子,拟合嵌入的公式如下:

在这里插入图片描述
为了获得长度 H 的预测,我们迭代算子转发以获得 H /S 预测嵌入:
在这里插入图片描述
最后,我们将 Decoder(·) 变换后的段排列为模块输出 X ^ v a r , Y v a r \hat{X}_{\mathrm{var}},Y_{\mathrm{var}} X^var,Yvar。 整个过程如图 3 所示,TimeVarKP(·) 可以用公式 8-13 表示。
在这里插入图片描述
预测目标 在 Koopa 中,编码器、解码器和 K i n v K_{\mathrm{inv}} Kinv 是可学习的参数,而 K v a r K_{\mathrm{var}} Kvar是即时计算的。 为了保持不同块中的库普曼嵌入一致性,我们在时变和时不变 KP 中共享编码器、解码器,分别表示为 ϕ v a r \phi_\mathrm{var} ϕvar ϕ i n v \phi_\mathrm{inv} ϕinv,并使用 MSE 损失和真实值 Y g t Y_{\mathrm{gt}} Ygt 进行参数优化:
在这里插入图片描述
基于如果重建失败,预测也必定失败的假设,通过单一预测目标进行优化。 因此,消除预测差异有助于拟合观测到的动态。

五、 Experiments

数据集 我们进行了大量的实验来评估 Koopa 的性能和效率。 对于多变量预测,我们包括 Autoformer [48] 中使用的六个现实世界基准:ECL (UCI)、ETT [53]、Exchange [22]、ILI (CDC)、Traffic (PeMS) 和 Weather (Wetterstation)。 对于单变量预测,我们评估了公认的 M4 数据集 [39] 的性能,该数据集包含定期收集的单变量营销数据的四个子集。 我们遵循 TimesNet [47] 中使用的数据处理和分流比。

值得注意的是,对于每个预测窗口长度 H,我们没有设置固定的回溯窗口长度,而是将回溯窗口的长度设置为 T = 2H,与 N-BEATS [32] 相同,因为历史观测在现实场景中始终可用 随着预测范围的增加,深度模型可以利用更多观测到的数据,这可能是有益的。

基线 我们广泛地将 Koopa 与最先进的深度预测模型进行比较,包括基于 Transformer 的模型:Autoformer [48]、PatchTST [31]; 基于TCN的模型:TimesNet[47]、MICN[43]; 基于 MLP 的模型:DLinear [51]; 傅立叶预测器:FiLM [54],库普曼预测器:KNF [44]。 我们还引入了额外的专用模型 N-HiTS [7] 和 N-BEATS [32],用于单变量预测作为竞争基线。 我们转载的所有基线都是基于原始论文或官方代码实现的。 我们使用不同的随机种子重复每个实验三次,并报告测试 MSE/MAE。 我们在附录 C 中提供了详细的代码实现和超参数敏感性。

5.1 Time Series Forecasting

预测结果 我们在表 1-2 中列出了结果,其中最好的结果以粗体显示,第二个结果加下划线。 Koopa 在多变量和单变量预测方面都显示出有竞争力的预测性能。 具体来说,Koopa 在超过 70% 的多变量设置中实现了最先进的性能,并且在单变量设置中始终优于其他深度模型。

值得注意的是,Koopa 在现实世界时间序列中大幅超越了最先进的基于 Koopman 的预测器 KNF,这可以归因于我们的分层动态学习和解缠机制。 此外,作为高效线性模型的代表,DLinear 在 ILI、Traffic 和 Weather 方面的表现仍然欠佳,这表明时间序列背后的非线性动力学对模型容量提出了挑战,并且逐点加权可能不适合描绘时间。 变体动力学。 此外,与经过精心训练的具有通道独立机制的 PatchTST 相比,我们的模型可以通过自然解决现实世界时间序列的非平稳特性来实现接近甚至更好的性能。

表 1:ILI 具有不同预测长度 H ∈ {24, 36, 48, 60} 的多元预测结果,其他预测长度 H ∈ {48, 96, 144, 192} 的多元预测结果。 我们设置回溯长度 T = 2H。 附录 D.1 中提供了其他结果(ETTm1、ETTm2、ETTh1)。

在这里插入图片描述
表 2:M4 数据集的单变量预测结果。 我们报告所有四个子集的加权平均预测误差,完整结果在附录 D.1 中提供。
在这里插入图片描述
在这里插入图片描述图 4:模型效率比较。 性能来自表 1,预测窗口长度 H = 144。使用相同的批量大小和官方代码配置记录训练时间和内存占用。 附录 D.3 中提供了所有六个数据集的完整结果。

模型效率我们从预测性能、训练速度、内存占用三个方面综合评估模型效率。 在图 4 中,我们比较了具有不同变量数的两个代表性数据集(ETTh2 中的 7 和 Traffic 中的 862)下的效率。

与最先进的预测模型 PatchTST 相比,Koopa 在 ETTh2 和 Traffic 数据集中分别节省了 62.3% 和 96.5% 的训练时间,而内存占用仅为 26.8% 和 2.9%。 具体而言,在所有六个数据集中,Koopa 与 PatchTST 相比的平均训练时间和内存比率分别为 22.7% 和 24.0%(详细信息请参见附录 D.3)。 此外,作为一种高效的基于 MLP 的预测器,Koopa 还能够从时变和时不变分量中学习非线性动力学,从而获得更好的性能。

在这里插入图片描述
图 5:左:变异程度比较(不同时期拟合的线性权重的标准差),我们在所有六个数据集上绘制了脱离组件的相应值。 右图:本地化 Koopman 算子在 Exchange 数据集上以一年为间隔计算的情况。

5.2 Model Analysis

动力学解缠 为了验证我们提出的傅里叶滤波器的解缠效果,我们将整个时间序列分为不同时期的 20 个子集,并对傅里叶滤波器解缠的分量分别进行线性回归。 线性权重的标准差反映了点对点时间依赖性的变化,是时变性的体现。 我们将该值绘制为变化程度(图 5 左)。 可以看出,时变分量出现了较大的偏差,这表明所提出的模块成功地从频域的角度解开了两种类型的动力学。

案例研究 我们在图 5 右侧展示了一个有关现实世界时间序列(汇率)的案例研究。我们以一年为间隔对回溯窗口进行采样,并可视化在时变 KP 中计算的库普曼算子。 可以清楚地观察到,局部算子可以在不同时期表现出变化的时间模式,这表明有必要利用不同的算子来描述时变动态。 并且还提供了可解释的见解,因为系列上升趋势对应于具有大值的热图,而下降趋势则反映了较小的值。

消融研究 我们对 Koopa 进行消融。 如表 3 所示,时变和时不变 KP 作为互补模块来探索时间序列背后的动态,丢弃其中任何一个都会导致性能较差。 此外,我们评估替代分解滤波器来解开时间序列动态。 我们发现所提出的傅里叶滤波器进行了有效的解缠结,其中利用不同时期的频谱的幅度统计来展示与时间无关的信息。 因此,Koopa 通过互补模块解决正确的动态问题可以实现最佳性能。

表 3:模型消融。 只有Kinv使用单块Time-invariant KP; 只有 Kvar 仅堆叠随时间变化的 KP; 截断滤波器用高低通滤波器代替傅立叶滤波器; 分支切换会更改解开组件上 KP 的顺序。 此处列出了平均结果。
在这里插入图片描述

避免严格的重建与以前的库普曼自动编码器不同,所提出的库普曼预测器不会立即重建整个动态,而是旨在描绘部分动态演化。 因此,我们删除了重建分支,该分支仅在以前的 KAE 训练期间使用。 在我们的深度残差结构中,预测目标函数是一个很好的优化指标。 我们验证了表 4 中的设计,其中严格预测目标优化模型的性能优于附加重建损失的模型。 由于端到端预测目标有助于缩小训练和推理之间的优化差距,因此将 Koopman 算子应用于端到端时间序列预测做出了宝贵的贡献。

表 4:我们提出的 Koopman 预测器 (Koopa) 和规范的 Koopman 自动编码器 29 实现的动态学习块的性能比较。

在这里插入图片描述
学习稳定算子 我们转而从谱的角度来分析我们的架构设计。 算子的特征值决定了动力学演化的幅度。 由于大多数非平稳时间序列都会经历分布平移,可视为不稳定演化,学习到的模数远离单位圆的库普曼算子从长远来看会导致不发散甚至爆炸性的趋势,从而导致训练失败。 为了解决基于库普曼的预测器普遍面临的这个问题,我们建议利用解缠结和深度残差结构。 我们用特征值与单位圆的平均距离来衡量算子的稳定性。 如图6所示,通过上述两种技术,操作员可以变得更加稳定。 解开有助于基于分解来描述复杂的动力学,并且可以应用适当的归纳偏置。 采用每个块来填充先前拟合的动力学的残差的架构降低了直接重建复杂动力学的难度。 每个块描绘了由稳定算子在其能力范围内驱动的基本过程,可以将其聚合为复杂的非平稳过程。

5.3 Scaling Up Forecast Horizon

大多数深度预测模型一旦经过训练就会作为固定函数工作(例如输入-T-输出-H)。 对于预测范围不匹配或长期的场景,这给训练模型带来了两个挑战:(1)重用从观察序列中学习到的参数; (2)利用输入的地面实况进行模型自适应。 我们称之为扩大预测范围的实际场景可能会导致大多数深度模型失败,但 Koopa 可以自然地解决这个问题。 具体来说,我们首先用预测长度 Htr 训练 Koopa,并尝试将其应用到更大的预测长度 Hte 上。在这里插入图片描述
图 6:高度非平稳 Exchange 数据集上算子稳定性的可视化。 我们绘制以下设计的第一个块时不变算子特征值:(a)仅具有时不变算子的单块模型。 (b) 具有时不变和时变运算符的单块模型。 © 具有时不变和时变运算符的两块模型。
Koopa 方法按如下方式扩大预测范围:由于时不变 KP 已经学习了全局共享动态,而时变 KP 可以在回溯窗口内计算局部算子 Kvar,因此我们冻结训练的 Koopa 参数,但仅使用传入的地面实况来 适应千无功。 朴素的实现使用维度为 D 的增量库普曼嵌入,并执行方程 10 以获得更新的算子,其复杂度为 O(HteD3)。 我们进一步提出了一种改进了 O((Hte + D)D2) 复杂度的迭代算法。 详细的方法实现和复杂性分析可以在附录A中找到。

结果如表 5 所示,所提出的算子适应机制进一步提高了扩展场景的性能,这可以归因于与传入的地面实况快照更准确地拟合时变动态。 此外,当应用于非平稳数据集(表现为大型 ADF 检验统计量 [10])时,提升变得更加显着。

表 5:扩大预测范围:ILI 为 (Htr,Hte) = (24, 48),其他为 (Htr,Hte) = (48, 144)。 Koopa 进行普通滚动预测,Koopa OA 进一步引入运营商适应在这里插入图片描述

六、 Conclusion

本文将时间序列视为动态系统。 通过从非平稳序列中分离出时变和时不变分量,Koopa 模型分层地揭示了复杂的动力学,并利用 MLP 模块来学习 Koopman 嵌入和算子。 通过实验,我们的模型显示出具有显着效率的竞争性能,以及通过操作员适应来扩大预测长度的潜力。 将来,我们将使用 Koopman 谱分析工具箱探索 Koopa 以及非平稳数据的动态模式。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值