【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

  • 文献介绍
  • 摘要
  • 总体介绍
    • 背景及当前面临的问题
    • 现有解决方案及其局限性
    • 本文的解决方案及其贡献
  • 背景知识的相关工作
    • 背景知识
    • 问题表述:
  • Method论文主要工作
    • 1.输入嵌入和剩余连接 (Input Embedding and Residual Connection)
      • 扩展:embedding
    • 2.尺度识别(Scale Identification)
    • 3.多尺度自适应图卷积(Multi-scale Adaptive Graph Convolution)
    • 4.多头注意力和尺度聚合(Multi-head Attention and Scale Aggregation)
    • 5.输出层(Output Layer)
  • 实验/评估/结果
    • 实验设置
    • 结果分析
      • 实验1:对比实验
      • 实验1:对比实验——Flight 数据集
      • 实验2:学习序列间相关性的可视化
      • 实验3:消融实验
      • 实验4:泛化能力
      • 实验5:较长输入序列下的性能

文献介绍

论文标题:MSGNet: Learning Multi-Scale Inter-Series Correlations for Multivariate Time Series Forecastin
论文链接: https://doi.org/10.48550/arXiv.2401.00423
代码链接: https://github.com/YoZhibo/MSGNet
发表年份: 2024
发表平台: AAAI
平台等级:CCF A
作者信息: Wanlin Cai 1 ^1 1, Yuxuan Liang 2 ^2 2, Xianggen Liu 1 ^1 1, Jianshuai Feng 3 ^3 3, Yuankai Wu 1 ^1 1

  1. Sichuan University
  2. The Hong Kong University of Science and Technology (Guangzhou)
  3. Beijing Institute of Technology

摘要

在多变量时间序列预测的领域中,时间序列数据通常表现出不同的序列内和序列间相关性,导致错综复杂和相互交织的依赖关系,精确理解和利用不同时间尺度上的多变量时间序列间的动态相关性是一个关键的挑战。为了应对这一挑战,本文提出了MSGNet模型, 该模型通过结合频率域分析与自适应图卷积技术,旨在高效捕捉跨不同时间尺度的多变量时间序列之间的相互依赖关系。MSGNet通过快速傅里叶变换(FFT)提取时间序列的周期性模式,并映射至关键时间尺度相关的空间,然后结合自注意力机制(self-attention mechanism)来捕获序列内依赖性,同时引入自适应混合跳图卷积层(adaptive mixhop graph convolution layer),以自主学习每时间尺度内的序列间相关性。

通过在数据集(Flight Weather ETTm1 ETTm2 ETTh1 ETTh2 Electricity Exchange )上进行的长时序预测实验(96 192 336 720),与TimesNet DLinear NLinear MTGnn Autoformer Informer相比,MSGNet的平均MSE和MAE达到sota。并且,MSGNet具有自动学习可解释的多尺度序列间相关性的能力, 即使在应用于分布外样本时也表现出强大的泛化能力,即该模型还表现出良好的对抗外部干扰(如COVID-19疫情)的能力,证明了其在面对未见过的数据分布时仍能保持较高性能的稳健性。(Flight数据集在疫情期间出现骤降,作者将骤降前作为训练集,骤降后作为测试集,因此样本分布不一样,但效果依旧sota)。

总体介绍

背景及当前面临的问题

时间序列预测在许多领域中都非常关键,它依赖于过去数据的模式来预测未来或隐藏的结果,核心挑战在于准确分析数据,识别数据之间的相互依赖性和时间趋势。研究主要集中在两个方向:一是内部序列相关性建模,它依据特定时间序列内的模式来预测未来值;二是序列间相关性建模,该方法研究多个时间序列之间的相互关系和依赖。

然而,现有的深度学习模型在捕捉多个时间序列在不同时间尺度上的序列间相关性变化方面存在显著不足。例如,在金融领域,不同资产价格之间的相关性,包括股票、债券和商品,在市场不稳定时期可能会因为避险现象而增加。相反,在经济增长期间,由于投资者分散投资组合以寻求不同的机会,资产间的相关性可能会减少。类似地,在生态系统中,控制物种种群数量和环境变量的动态动态表现出在不同时间尺度上的复杂时间相关性。不同时间尺度上序列间的相关性可能因市场或环境的变化而显著不同,现有模型未能有效捕捉这种在不同周期中序列间的复杂动态相关性,这构成了当前面临的一个主要问题。

以下图为例,我们在一个较长时间尺度上(scale1)可能观察到两个时间序列表现出正相关性,而在一个较短的时间尺度上(scale2),这两个序列可能展现出负相关性。这种情况下,如果我们采用基于图的分析方法,就能够构建出反映这两种不同时间尺度相关性的独特图结构。
在较长的时间尺度 1中,绿色和红色时间序列呈正相关,而在较短的时间尺度 2 中,它们呈现负相关。
在较长的时间尺度 1中,绿色和红色时间序列呈正相关,而在较短的时间尺度 2 中,它们呈现负相关。

现有解决方案及其局限性

虽然近年来深度学习模型,特别是循环神经网络(RNNs)、时间卷积网络(TCNs)和Transformers,在捕捉单个时间序列的内部动态方面取得了显著进展。同时,将多变量时间序列理解为图信号的新视角也逐渐浮现。在这类模型中,时间序列中的每个变量都可以视作图中的一个节点,它们通过隐藏的依赖关系相互连接。因此图神经网络(GNNs)便成了挖掘多时间序列间错综复杂依赖关系的有力工具。但这些模型在分析多变量时间序列作为图信号时,通常采用固定的图结构,难以适应序列间动态变化的相关性。尽管一些研究尝试通过动态和随时间变化的图结构来改进这一点,但这些方法往往忽视了相关性与具有显著稳定性的时间尺度之间的关键联系。

本文的解决方案及其贡献

为了克服上述局限,本文提出了一种新型深度学习模型——MSGNet(Multi-Scale Graph Network,它包含三个核心组件:尺度学习与转换层、多图卷积模块和时态多头注意力模块。MSGNet通过快速傅里叶变换(FFT)提取时间序列的周期性模式,并映射至关键时间尺度相关的空间,从而有效捕捉在不同尺度中的相关性。该模型还包含一个具有可学习邻接矩阵的多自适应图卷积模块,对于每个时间尺度,动态学习一个专用的邻接矩阵,使得模型能够捕捉与尺度相关的序列间相关性。另外还融合了一个多头自注意力机制,以同步捕捉序列内相关性。我们的贡献主要有三方面:

  1. 我们观察到序列间相关性与不同的时间尺度紧密相关。为此,我们提出了一个名为 MSGNet
    的新型结构,它能够高效地发现并捕捉这些多尺度序列间相关性。

  2. 为了同时捕捉序列内和序列间的相关性,我们引入了多头注意力和自适应图卷积模块的组合。

  3. 通过在真实世界的数据集上进行广泛的实验,我们提供了实验证据,证明 MSGNet在时间序列预测任务中一致性地超越现有的深度学习模型。此外,MSGNet 展现出了更好的泛化能力。

背景知识的相关工作

背景知识

时间序列预测技术随时间不断进化,传统方法如VAR和Prophet基于序列变化遵循预设模式的假设,但面对现实世界中的复杂变化时,这些方法显得力不从心。为了应对这些挑战,被设计用于时间序列分析的深度学习模型,包括MLPs、TCNs、RNNs和基于Transformer的模型,相继被提出。此外,虽然某些研究如DEPTS和TimesNet尝试通过周期性分析来增强预测能力,但它们未能充分考虑在不同时间尺度上存在的序列间多样化相关性。另一方面,图神经网络(GNNs)近年来在捕获序列间相关性方面展现出潜力而受到关注,,但大多数GNN模型设计针对具有预定义图结构的情况,使得在没有明确图结构的多变量预测任务中,基于先前知识定义一个通用图结构的模型存在挑战。虽然已经有尝试探索可学习的图结构,但这些方法往往局限于考虑有限的图结构,并且在连接不同时间尺度的图结构方面存在不足,因此无法完全捕获序列间的复杂动态相关性。

问题表述:

在多变量时间序列预测的背景下,假设变量的数量为 N N N。给定输入数据 X t − L : t ∈ R N × L X_{t-L:t} \in \mathbb{R}^{N \times L} XtL:tRN×L,它代表了一个回顾窗口的观察值,包含从 t − L t-L tL t − 1 t-1 t1 范围内每个变量 i i i τ \tau τ 时刻的 X i τ X^\tau_i Xiτ 值。这里, L L L 表示回顾窗口的大小, t t t 表示预测窗口的起始位置。时间序列预测任务的目标是预测未来 T T T 时间步内的 N N N 个变量的未来值。预测的值由 X ^ t : t + T ∈ R N × T \hat{X}_{t:t+T} \in \mathbb{R}^{N \times T} X^t:t+TRN×T 表示,它包括了从 t t t t + T − 1 t+T-1 t+T1 每个时间点 τ \tau τ 对所有变量的 X i τ X^\tau_i Xiτ 值。

我们假设能够识别出 N N N 个时间序列在不同时间尺度上的不同序列间相关性,这些相关性可以通过图表示。例如,给定一个时间尺度 s i < L s_i < L si<L,我们可以从时间序列 X p − s i : p X_{p-s_i:p} Xpsi:p 中识别出一个图结构 G i = { V i , E i } G_i = \{V_i, E_i\} Gi={Vi,Ei}。这里, V i V_i Vi 表示节点集合, ∣ V i ∣ = N |V_i| = N Vi=N E i ⊆ V i × V i E_i \subseteq V_i \times V_i EiVi×Vi 表示加权边, p p p 表示任意时间点。

考虑到 k k k 个时间尺度,表示为 { s 1 , ⋯ , s k } \{s_1, \cdots, s_k\} {s1,,sk},我们可以识别 k k k 个邻接矩阵,表示为 { A 1 , ⋯ , A k } \{\mathbf{A}^1, \cdots, \mathbf{A}^k\} {A1,,Ak},其中每个 A k ∈ R N × N \mathbf{A}^k \in \mathbb{R}^{N \times N} AkRN×N。这些邻接矩阵捕捉了不同时间尺度上的不同序列间相关性。

Method论文主要工作

MSGNet旨在捕捉不同时间尺度上的不同序列间相关性。整个模型架构如图所示。模型由多个ScaleGraph块组成,每个模块包含三个关键模块:用于多尺度数据识别的 FFT 模块、用于时间尺度内系列间相关性学习的自适应图卷积模块以及用于系列内相关性学习的多头注意模块。即每个ScaleGraph块包含四个步骤:

  1. 确定输入时间序列的尺度;
  2. 使用自适应图卷积块揭示尺度相关的序列间相关性;
  3. 通过多头注意力捕捉序列内相关性;
  4. 使用SoftMax函数自适应地聚合不同尺度的表示。
    在这里插入图片描述

1.输入嵌入和剩余连接 (Input Embedding and Residual Connection)

概述:这部分主要参考的是Informer等工作,输入主要是对原始输入序列做1维卷积,并加上position embedding和时间embedding。

我们将同一时间步的 N N N个变量嵌入到一个大小为 d model d_{\text{model}} dmodel的向量中: X t − L : t → X emb \mathbf{X}_{t-L: t} \rightarrow \mathbf{X}_{\text{emb}} XtL:tXemb,其中 X emb ∈ R d model × L \mathbf{X}_{\text{emb}} \in \mathbb{R}^{d_{\text{model}} \times L} XembRdmodel×L。我们采用了Informer提出的统一输入表示法来生成嵌入。具体来说, X emb \mathbf{X}_{\text{emb}} Xemb是使用以下公式计算的:

X emb = α Conv1D ( X ^ t − L : t ) + P E + ∑ p = 1 P S E p . \mathbf{X}_{\text{emb}} = \alpha \text{Conv1D}\left(\hat{\mathbf{X}}_{t-L: t}\right) + \mathbf{PE} + \sum_{p=1}^{P} \mathbf{SE}_p. Xemb=αConv1D(X^tL:t)+PE+p=1PSEp.
这里,我们首先对输入 X t − L : t \mathbf{X}_{t-L: t} XtL:t进行归一化,得到 X ^ t − L : t \hat{\mathbf{X}}_{t-L: t} X^tL:t,因为归一化策略已被证明能有效地提高数据的平稳性。然后我们使用一维卷积滤波器(核宽度=3,步长=1)将 X ^ t − L : t \hat{\mathbf{X}}_{t-L: t} X^tL:t投影到一个 d model d_{\text{model}} dmodel维的矩阵中。参数 α \alpha α作为一个平衡因子,调整标量投影与局部/全局嵌入之间的幅度。 P E ∈ R d model × L \mathbf{PE} \in \mathbb{R}^{d_{\text{model}} \times L} PERdmodel×L表示输入 X \mathbf{X} X的位置嵌入, S E p ∈ R d model × L \mathbf{SE}_p \in \mathbb{R}^{d_{\text{model}} \times L} SEpRdmodel×L是一个可学习的全局时间戳嵌入,具有限定的词汇量大小(以分钟为最细粒度时为60)。

我们以残差方式实现MSGNet。在最开始,我们设置 X 0 = X emb \mathbf{X}^0 = \mathbf{X}_{\text{emb}} X0=Xemb,其中 X emb \mathbf{X}_{\text{emb}} Xemb代表通过嵌入层将原始输入投影到深层特征中。在MSGNet的第 l l l层,输入为 X l − 1 ∈ R d model × L \mathbf{X}^{l-1} \in \mathbb{R}^{d_{\text{model}} \times L} Xl1Rdmodel×L,过程可以正式表达为:

X l = ScaleGraphBlock ( X l − 1 ) + X l − 1 , \mathbf{X}^l = \text{ScaleGraphBlock}\left(\mathbf{X}^{l-1}\right) + \mathbf{X}^{l-1}, Xl=ScaleGraphBlock(Xl1)+Xl1,
这里,ScaleGraphBlock表示构成MSGNet层核心功能的操作和计算。

扩展:embedding

在这里插入图片描述
这张图描绘了时间序列数据在输入到模型前的处理过程,尤其是在进行时间序列预测时如何将不同类型的时间信息嵌入(embedding)到模型中。这里有三层不同的嵌入:

  1. 标量投影(Scalar Projection):原始时间序列数据通常会被投影成一定长度的向量。在这个图示中, u 0 , u 1 , … , u 7 u_0, u_1, \ldots, u_7 u0,u1,,u7 代表连续时间步的标量投影。
  2. 局部时间戳(Local Time Stamp):时间序列数据中的每一个时间点都会被分配一个位置嵌入(Position Embeddings),用来保持时间序列中的顺序信息。 P P P 代表位置编码, E 0 , E 1 , … , E 7 E_0, E_1, \ldots, E_7 E0,E1,,E7 代表不同时间步的位置嵌入。
  3. 全局时间戳(Global Time Stamp):除了局部的时间顺序信息,全局时间戳嵌入提供了额外的时间信息,如所在的周、月、甚至假日信息。例如,周嵌入(Week Embeddings)能够让模型理解每个数据点是周中的哪一天;月嵌入(Month Embeddings)和假日嵌入(Holiday Embeddings)分别让模型知道每个时间点属于一年中的哪个月份和是否是特殊的日期或假日。

通过embedding能考虑局部时序信息以及层次时序信息,如星期、月和年等,以及突发时间戳信息(事件或某些节假日等),更全面地理解和捕捉时间序列数据中的时间动态和周期性模式。

2.尺度识别(Scale Identification)

作者将周期性作为尺度来源的选择,受 TimesNet的启发,采用快速傅立叶变换 (FFT) 检测突出的周期性作为时间尺度:

F = Avg ⁡ ( Amp ⁡ ( F F T ( X emb ) ) ) , f 1 , ⋯ , f k = argTopk ⁡ f ∗ ∈ { 1 , ⋯ , L 2 } ( F ) , s i = L f i . \mathbf{F}=\operatorname{Avg}\left(\operatorname{Amp}\left(\mathbf{FFT}\left(\mathbf{X}_{\text{emb}}\right)\right)\right), f_1, \cdots, f_k=\operatorname{argTopk}_{f_* \in \left\{1, \cdots, \frac{L}{2}\right\}}(\mathbf{F}), s_i=\frac{L}{f_i}. F=Avg(Amp(FFT(Xemb))),f1,,fk=argTopkf{1,,2L}(F),si=fiL.
这里, F F T ( ⋅ ) \mathbf{FFT}(\cdot) FFT()表示对输入数据进行FFT,以将时间序列从时域转换到频域。在频域中,数据的周期性模式可以表现为不同频率的振幅。 Amp ⁡ ( ⋅ ) \operatorname{Amp}(\cdot) Amp()用于计算FFT后各频率点的振幅值。振幅越大,表示该频率的周期性成分在时间序列中越显著,向量 F ∈ R L \mathbf{F} \in \mathbb{R}^L FRL包含了所有频率的平均振幅值,这个振幅在 d model d_{\text{model}} dmodel维度上通过函数 Avg ⁡ ( ⋅ ) \operatorname{Avg}(\cdot) Avg()进行平均。

FFT检测显著周期性(TimesNet):
FFT检测显著周期性(TimesNet)
基于选定的时间尺度 { s 1 , … , s k } \left\{s_1, \ldots, s_k\right\} {s1,,sk},我们可以通过使用以下方程将输入重塑为3D张量,得到对应不同时间尺度的多个表示:

X i = Reshape ⁡ s i , f i ( Padding ⁡ ( X in ) ) , i ∈ { 1 , … , k } , {X}^i=\operatorname{Reshape}_{s_i, f_i}\left(\operatorname{Padding}\left(\mathbf{X}_{\text{in}}\right)\right), \quad i \in \left\{1, \ldots, k\right\}, Xi=Reshapesi,fi(Padding(Xin)),i{1,,k},

其中, Padding ⁡ ( ⋅ ) \operatorname{Padding}(\cdot) Padding()用于在时间维度上通过添加零来扩展时间序列,使其适合 Reshape ⁡ s i , f i ( ⋅ ) \operatorname{Reshape}_{s_i,f_i}(\cdot) Reshapesi,fi()操作。注意, X i ∈ R d model × s i × f i {X}^i \in \mathbb{R}^{d_{\text{model}} \times s_i \times f_i} XiRdmodel×si×fi表示基于时间尺度 i i i的第 i i i个重塑后的时间序列。我们使用 X in \mathbf{X}_{\text{in}} Xin来表示ScaleGraph块的输入矩阵。

3.多尺度自适应图卷积(Multi-scale Adaptive Graph Convolution)

作者提出了一种新颖的多尺度图卷积方法,用以捕捉特定和全面的序列间依赖关系。通过该方法,模型能够在不同的时间尺度上学习和表征时间序列之间复杂的关系,这对于提高时间序列预测的准确性非常关键。具体方法如下:

首先将对应于第 i i i个尺度的张量通过线性变换投射回含有 N N N个变量的张量,这里 N N N代表时间序列的数量。这个投射通过以下定义的线性变换来执行:
H i = W i X i . H^i = \mathbf{W}^i X^i . Hi=WiXi.

这里, H i ∈ R N × s i × f i H^i \in \mathbb{R}^{N \times s_i \times f_i} HiRN×si×fi W i ∈ R N × d model \mathbf{W}^i \in \mathbb{R}^{N \times d_{\text{model}}} WiRN×dmodel是一个可学习的权重矩阵,专门为第 i i i个尺度的张量定制。

在该的方法中,图学习过程涉及生成两个可训练参数, E 1 i \mathbf{E}_1^i E1i E 2 i ∈ R N × h \mathbf{E}_2^i \in \mathbb{R}^{N \times h} E2iRN×h。随后,通过乘以这两个参数矩阵后,根据以下公式得到一个自适应邻接矩阵(此处使用SoftMax函数来规范化不同节点间的权重,确保序列间关系的表示是均衡且有意义的。):

A i = SoftMax ⁡ ( ReLU ⁡ ( E 1 i ( E 2 i ) T ) ) . \mathbf{A}^i = \operatorname{SoftMax}(\operatorname{ReLU}(\mathbf{E}_1^i (\mathbf{E}_2^i)^T)) . Ai=SoftMax(ReLU(E1i(E2i)T)).

获得第 i i i个尺度的邻接矩阵 A i \mathbf{A}^i Ai 后,我们使用Mixhop图卷积方法来捕捉序列间的相关性,其已被证明具有代表其他模型可能无法捕捉的特征的能力。图卷积定义如下:

H out i = σ ( ∥ j ∈ P ( A i ) j H i ) , H_{\text{out}}^i = \sigma(\|_{j \in {P}} (\mathbf{A}^i)^j H^i), Houti=σ(jP(Ai)jHi),

其中, H out i H_{\text{out}}^i Houti 表示在尺度 i i i融合后的输出, σ ( ) \sigma() σ() 是激活函数,超参数 P \mathrm{P} P 是一组整数邻接幂次, ( A i ) j (\mathbf{A}^i)^j (Ai)j 表示学习到的邻接矩阵 A i \mathbf{A}^i Ai 自乘 j j j次, ∥ \| 表示列级连接,连接在每次迭代过程中生成的中间变量。然后,我们继续使用多层感知器(MLP)将 H out i H_{\text{out}}^i Houti 投射回一个3D张量 X ^ i ∈ R d model × s i × f i \hat{X}^i \in \mathbb{R}^{d_{\text{model}} \times s_i \times f_i} X^iRdmodel×si×fi
在这里插入图片描述

4.多头注意力和尺度聚合(Multi-head Attention and Scale Aggregation)

在每个时间尺度上,我们使用多头注意力(MHA)机制来捕捉序列内的相关性。具体地,对于每个时间尺度的张量 X ^ i \hat{\mathcal{X}}^i X^i,我们在该张量的时间尺度维度上应用自注意力的多头注意力机制:

X ^ out  i = MHA ⁡ s ( X ^ i ) . \hat{X}_{\text {out }}^i=\operatorname{MHA}_s\left(\hat{X}^i\right) . X^out i=MHAs(X^i).
这里, MHA ⁡ s ( ⋅ ) \operatorname{MHA}_s(\cdot) MHAs()指的是Vaswani等人(2017年)提出的,在尺度维度上的多头注意力函数。在实现上,这涉及到将输入张量的大小从 B × d model  × s i × f i B \times d_{\text {model }} \times s_i \times f_i B×dmodel ×si×fi重塑为 B f i × d model  × s i B f_i \times d_{\text {model }} \times s_i Bfi×dmodel ×si的张量,其中 B B B是批量大小。尽管一些研究对于多头注意力在捕捉时间序列长期时间相关性的有效性提出了担心(Zeng等人,2023年),但我们通过采用尺度转换将长时间跨度转换为周期长度,成功地解决了这一限制。我们的结果显示,即使输入时间增长,MSGNet的性能也能保持一致(见附录)。

最后,为了进入下一层,我们需要整合 k k k个不同尺度的张量 X ^ out  1 , ⋯ , X ^ out  k \hat{X}_{\text {out }}^1, \cdots, \hat{X}_{\text {out }}^k X^out 1,,X^out k。我们首先将每个尺度的张量重塑回一个二维矩阵 X ^ out  i ∈ R d model  × L \hat{\mathbf{X}}_{\text {out }}^i \in \mathbb{R}^{d_{\text {model }} \times L} X^out iRdmodel ×L。然后,我们根据它们的振幅来聚合不同的尺度:
a ^ 1 , ⋯ , a ^ k = SoftMax ⁡ ( F f 1 , ⋯ , F f k ) , X ^ out  = ∑ i = 1 k a ^ i X ^ out  i . \begin{aligned} \hat{a}_1, \cdots, \hat{a}_k & =\operatorname{SoftMax}\left(\mathbf{F}_{f_1}, \cdots, \mathbf{F}_{f_k}\right), \\ \hat{\mathbf{X}}_{\text {out }} & =\sum_{i=1}^k \hat{a}_i \hat{\mathbf{X}}_{\text {out }}^i . \end{aligned} a^1,,a^kX^out =SoftMax(Ff1,,Ffk),=i=1ka^iX^out i.
在这个过程中, F f 1 , ⋯ , F f k \mathbf{F}_{f_1}, \cdots, \mathbf{F}_{f_k} Ff1,,Ffk是每个尺度对应的振幅,使用FFT计算得到。然后应用SoftMax函数来计算振幅 a ^ 1 , ⋯ , a ^ k \hat{a}_1, \cdots, \hat{a}_k a^1,,a^k。这种专家混合(MoE)策略使模型能够根据各自的振幅强调来自不同尺度的信息,有助于将多尺度特征有效地融合到下一层(见附录)。

5.输出层(Output Layer)

为了进行预测,我们的模型在时间维度和变量维度都使用线性投影,将 X ^ out  ∈ R d model  × L \hat{\mathbf{X}}_{\text {out }} \in \mathbb{R}^{d_{\text {model }} \times L} X^out Rdmodel ×L 转换为 X ^ t : t + T ∈ R N × T \hat{\mathbf{X}}_{t: t+T} \in \mathbb{R}^{N \times T} X^t:t+TRN×T。这个转换可以表示为:
X ^ t : t + T = W s X ^ out  W t + b . \hat{\mathbf{X}}_{t: t+T}=\mathbf{W}_{\mathbf{s}} \hat{\mathbf{X}}_{\text {out }} \mathbf{W}_{\mathbf{t}}+\mathbf{b} . X^t:t+T=WsX^out Wt+b.
这里, W s ∈ R N × d model  , W t ∈ R L × T \mathbf{W}_{\mathbf{s}} \in \mathbb{R}^{N \times d_{\text {model }}}, \mathbf{W}_{\mathbf{t}} \in \mathbb{R}^{L \times T} WsRN×dmodel ,WtRL×T,和 b ∈ R T \mathbf{b} \in \mathbb{R}^T bRT 是可学习的参数。矩阵 W s \mathbf{W}_{\mathbf{s}} Ws 沿着变量维度执行线性投影,而 W t \mathbf{W}_{\mathbf{t}} Wt 则沿着时间维度执行同样的操作。结果 X ^ t : t + T \hat{\mathbf{X}}_{t: t+T} X^t:t+T 是预测的数据,其中 N N N 表示变量的数量, L L L 表示输入序列的长度,而 T T T 表示预测范围。

简单来说,这个过程首先通过 W s \mathbf{W}_{\mathbf{s}} Ws 将模型输出的特征映射到与原始变量数量相同的维度上,然后通过 W t \mathbf{W}_{\mathbf{t}} Wt 将这些特征映射到预测时间范围 T T T 上。这样,模型能够从多尺度特征提取的综合信息中,生成对未来时间步长 t t t t + T t+T t+T 之间各变量的预测值。这种方法允许模型利用在整个训练过程中学习到的深层时间和变量间的关系,进行有效的时间序列预测。

实验/评估/结果

实验设置

实验环境:NVIDIA GeForce RTX 3090 24GB GPU

loss function:平均平方误差(MSE)
回顾窗口大小设置为L = 96
预测长度T = {96, 192, 336, 720}
初始学习率为LR = 0.0001
批量大小为Batch = 32
训练周期数为Epochs = 10,并在适用的情况下使用了早停策略
数据的划分比例为训练集、验证集和测试集分别占(0.7, 0.1, 0.2)

结果分析

实验1:对比实验

具有 96 个回顾窗口和预测长度 {96, 192, 336, 720} 的预测结果。最佳结果以粗体表示,次等的下划线。
在这里插入图片描述
如图表所示,MSGNet在5个数据集上取得了最佳性能,在2个数据集上取得了第二佳性能。在面对与COVID-19大流行相关的Flight数据集时,MSGNet超越了当前最佳方法TimesNet,平均MSE和MAE分别降低了21.5%和13.7%。虽然TimesNet使用了多尺度信息,但它采用了纯计算机视觉模型来捕捉序列间和序列内的相关性,这对于时间序列数据并不非常有效。Autoformer在Flight数据集上展现了出色的性能,这可能归因于其建立的自相关机制。MTGnn由于缺乏对不同尺度的关注,它的性能明显弱于MSGNet。通过评估模型在所有数据集上的平均排名,MSGNet显示出优异的泛化能力,平均排名超过了其他模型。这些结果证明了MSGNet在处理复杂时间序列预测任务时的优势,尤其是在对抗分布外样本时的鲁棒性方面。

实验1:对比实验——Flight 数据集

Flight预测结果的可视化:黑色真实值的线,预测值的橙色线,以及蓝色标记表示明显偏差
在这里插入图片描述
图为Flight预测结果的可视化图,MSGNet紧密地反映了真实情况,而其他模型在特定时间段内出现了明显的性能下降。图中的峰值和谷值与关键的飞行数据事件、趋势或周期性动态相一致。其他模型无法准确跟随这些变化,可能是由于其架构约束限制了它们捕捉多尺度模式、突然变化或复杂的序列间和序列内相关性的能力。

实验2:学习序列间相关性的可视化

图所示是MSGNet模型为不同的时间尺度(24小时、6小时和4小时)学习到了不同的自适应邻接矩阵,有效地捕捉了航班数据集中机场之间的交互作用。在机场6与机场0、1和3的距离较远,但在较长的时间尺度(24小时)上,它对这三个机场有着显著的影响。然而,随着时间尺度缩短(6小时和4小时),其对这些机场的影响显著减弱。另一方面,距离较近的机场0、3和5在较短的时间尺度上表现出更强的相互影响。这些观察结果反映了现实生活中的情况,表明在某些时间尺度上,由于物理接近性,航班之间可能存在更强的空间相关性。
在这里插入图片描述
Flight 数据集的学习邻接矩阵(第一层的 24h、6h 和 4h)和机场地图。

实验3:消融实验

在这里插入图片描述
考虑了5种消融方法,并在3个数据集上对它们进行了评估。以下将解释其实现的变体:

  1. w/o-AdapG:从模型中移除了自适应图卷积层(图学习)。
  2. w/o-MG:移除了多尺度图卷积,只使用了共享的图卷积层来学习整体的序列间依赖。
  3. w/o-A:移除了多头自注意力机制,消除了序列内相关性学习。
  4. w/o-Mix:用传统的卷积方法替换了混合跳跃卷积方法。

通过这些实验,发现移除图学习层会导致性能大幅下降,强调了学习序列间相关性的必要性;多尺度图学习的采用显著提升了模型性能,揭示了不同尺度间相关性的多样性;多头自注意力机制虽然只提供了边际性能提升,但其改进依然证明了其价值;最后,混合跳跃卷积的应用进一步提高了性能,尽管其缺失导致的性能降低有限,但仍突显了其对捕获复杂时间序列依赖关系的贡献。这些发现综合表明,MSGNet通过其独特的设计有效地捕捉了时间序列数据的复杂动态,证实了其先进性和有效性。

实验4:泛化能力

COVID-19 影响下的泛化测试:Decrease显示分区修改后性能下降的百分比。在这里插入图片描述
在COVID-19大流行期间,欧洲主要机场的每日航班量急剧下降,类似于急剧下降,后来逐渐恢复在这里插入图片描述

为了验证疫情对航班预测的影响以及MSGNet抵抗外部影响的性能,将Flight数据集的分区修改为4:4:2。将训练集限制为疫情爆发前的数据,并使用后续数据作为验证集和测试集。具体结果如图所示。通过捕获多尺度的系列间相关性,MSGNet不仅在两个不同的数据分区下实现了最佳性能,而且表现出最小的性能下降和最强的对外部影响的抵抗力。结果表明 MSGNet 对分布外(OOD)样本具有强大的泛化能力。我们假设这种优势归因于 MSGNet 捕获多个序列间相关性的能力,其中一些相关性即使在多元时间序列的 OOD 样本下仍然有效。

实验5:较长输入序列下的性能

MSGNet12:使用不同回顾窗口进行336个时间步的Flight数据集预测。我们用另外四个模型进行比较。在这里插入图片描述
MSGNet13:MSGNet在ETT数据集上,针对不同回顾窗口大小进行336个时间步的预测性能在这里插入图片描述

如图MSGNet12,在Flight数据集上的实验显示,MSGNet利用不同大小的回顾窗口来预测随后的336个时间步的值,能够有效提取时间序列的长期依赖关系。通过融合自注意力机制,MSGNet在捕获时间信息方面的表现超越了早期可能受到时间噪声过拟合影响的模型。即便在长回顾窗口的设置下,MSGNet相较于传统线性模型和其他模型,展现了更为稳健和显著的性能提升,这归功于其在内部采用的尺度转换技术(将长序列缩短为较短的序列),有效解决了捕捉长期时间序列相关性的挑战。此外,在图MSGNet13,通过在ETT数据集使用不同回顾窗口的性能进行了更深入的分析,我们进一步验证了MSGNet在处理扩展回顾窗口时的高效性,证明了尺度转换策略在优化模型处理广泛时间范围数据时的关键作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276405.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读——RingMo

RingMo: A Remote Sensing Foundation Model With Masked Image Modeling 与自然场景相比&#xff0c;RS图像存在以下困难。 1&#xff09;分辨率和方位范围大&#xff1a;受遥感传感器的影响&#xff0c;图像具有多种空间分辨率。此外&#xff0c;与自然图像的实例通常由于重…

3、设计模式之工厂模式1(Factory)

工厂模式是什么&#xff1f;     工厂模式是一种创建者模式&#xff0c;用于封装和管理对象的创建&#xff0c;屏蔽了大量的创建细节&#xff0c;根据抽象程度不同&#xff0c;主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

华为配置ISP选路实现报文按运营商转发

CLI举例&#xff1a;配置ISP选路实现报文按运营商转发 介绍通过配置ISP选路实现报文按运营商转发的配置举例。 组网需求 如图1所示&#xff0c;FW作为安全网关部署在网络出口&#xff0c;企业分别从ISP1和ISP2租用一条链路。 企业希望访问Server 1的报文从ISP1链路转发&#…

C语言例:表达式(a=2,3),a+1的值

题目&#xff1a;设int a; 则表达式(a2,3),a1的值 #include<stdio.h> int main(void) {int a0;int b;int c;b (a2,4);c (a2,3),a1;printf("a1%d\n",a1); //a1 3;printf("a2,4的值为&#xff1a;%d\n",b); //a2,4的值为&…

今日AI:苹果大模型MM1入场;Sora训练数据来源竟来自这;全球最快AI芯片WSE-3发布;阿里邀请AI参加数学竞赛

欢迎来到【今日AI】栏目!这里是你每天探索人工智能世界的指南&#xff0c;每天我们为你呈现AI领域的热点内容&#xff0c;聚焦开发者&#xff0c;助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解&#xff1a;AIbase - 智能匹配最适合您的AI产品和网站 &#x1f4f…

C语言指针与数组(不适合初学者版):一篇文章带你深入了解指针与数组!

&#x1f388;个人主页&#xff1a;JAMES别扣了 &#x1f495;在校大学生一枚。对IT有着极其浓厚的兴趣 ✨系列专栏目前为C语言初阶、后续会更新c语言的学习方法以及c题目分享. &#x1f60d;希望我的文章对大家有着不一样的帮助&#xff0c;欢迎大家关注我&#xff0c;我也会回…

大语言模型:Large Language Models Are Human-Level Prompt Engineers概述

研究内容 如何通过prompt&#xff0c;在不进行微调大语言模型的前提下&#xff0c;增加大语言模型的表现 研究动机 prompt非常有用&#xff0c;但是人工设置的非常不自然&#xff1b;因此提出了要自动使用大语言模型自己选择prompt&#xff1b;取得了很好的效果。 作者主要…

【全志H616】1 --用orangepi控制硬件

【全志H616】1 --用orangepi控制硬件 本文介绍了如歌用orangepi 控制蜂鸣器&超声波模块&#xff0c;通过键盘输入1、2、3、4来控制转动角度舵机模块&#xff1b;同时还介绍了利用全志如何配置定时器&#xff1b;以及查看H616引脚状态的命令等… 超声波模块和舵机模块的讲解…

WordPress供求插件API文档:获取市场类型

请注意&#xff0c;该文档为&#xff1a; WordPress供求插件&#xff1a;一款专注于同城生活信息发布的插件-CSDN博客文章浏览阅读396次&#xff0c;点赞6次&#xff0c;收藏5次。WordPress供求插件&#xff1a;sliver-urban-life 是一款专注于提供同城生活信息发布与查看的插件…

JVM 面试——G1和ZGC的区别

ZGC是一款JDK 11中新加入的具有实验性质的低延迟垃圾收集器ZGC的目标主要有4个 支持TB量级的堆。我们生产环境的硬盘还没有上TB呢&#xff0c;这应该可以满足未来十年内&#xff0c;所有JAVA应用的需求了吧。最大GC停顿时间不超10ms。目前一般线上环境运行良好的JAVA应用Minor …

接口自动化测试框架postman tests常用方法

postman常用方法集合&#xff1a; 1.设置环境变量 postman.setEnvironmentVariable("key", "value"); pm.environment.set("key", "value");//postman 5.0以上版本设置环境变量的方法 2.设置全局变量 postman.setGlobalVariable(&…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大&#xff0c;性能最好&#xff0c;集群高可用。缺点&#xff1a;会丢数据&#xff0c;功能较单一。 二Ra…

文献速递:深度学习乳腺癌诊断---使用深度学习改善乳腺癌组织学分级

Title 题目 Improved breast cancer histological grading using deep learning 使用深度学习改善乳腺癌组织学分级 01 文献速递介绍 乳腺癌组织学分级是乳腺癌中一个确立的临床变量&#xff0c;它包括来自三个方面的信息&#xff0c;即小管形成程度、核多态性和有丝分裂计…

wordpress博客趣主题个人静态网页模板

博客趣页面模板适合个人博客&#xff0c;个人模板等内容分享。喜欢的可以下载套用自己熟悉的开源程序建站。 博客趣主题具有最小和清洁的设计&#xff0c;易于使用&#xff0c;并具有有趣的功能。bokequ主题简约干净的设计、在明暗风格之间进行现场切换。 下载地址 清新个人…

el-table中 el-popover 性能优化

场景&#xff1a;在 el-table 中使用 el-popover ,出现了 loading 加载卡顿的问题&#xff0c;接口返回的数据的时间大概是 140ms &#xff0c;所以不是接口慢的原因&#xff1b;通过对表中结构的逐步排查&#xff0c;发现是表中的 某一行 所影响的&#xff1b;并且 其中含有 e…

【Linux杂货铺】操作系统

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 冯诺依曼体系结构 &#x1f4c2; 拓展问题&#xff1a;程序为什么要被加载到内存&#xff1f; &#x1f4c2; 主机与主机的交互 &#x1f4c1; 操作系统的概念 &#x1f4c2; 作用 &#x1f4c2; 理解“管理” &#x…

从 VNCTF2024 的一道题学习QEMU Escape

说在前面 本文的草稿是边打边学边写出来的&#xff0c;文章思路会与一个“刚打完用户态 pwn 题就去打 QEMU Escape ”的人的思路相似&#xff0c;在分析结束以后我又在部分比较模糊的地方加入了一些补充&#xff0c;因此阅读起来可能会相对轻松。&#xff08;当然也不排除这是…

注意力机制Attention、CA注意力机制

一、注意力机制 产生背景&#xff1a; 大数据时代&#xff0c;有很多数据提供给我们。对于人来说&#xff0c;可以利用重要的数据&#xff0c;过滤掉不重要的数据。那对于模型来说&#xff08;CNN、LSTM&#xff09;&#xff0c;很难决定什么重要、什么不重要&#xff0c;因此…

QComboBox相关的qss学习

QT有关QCobobox控件的样式设置&#xff08;圆角、下拉框&#xff0c;向上展开、可编辑、内部布局等&#xff09;_qcombobox样式-CSDN博客 原始图&#xff1a; 红色边框&#xff1a; QComboBox{ border:2px solid rgb(255, 85, 0); } 绿色背景&#xff1a; QComboBox{ border…

疫情网课管理系统|基于springboot框架+ Mysql+Java+Tomcat的疫情网课管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 ​编辑 学生功能模块 管理员功能 教师功能模块 系统功能设计 数据库E-R图设计 lun…