论文-Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks

论文:Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks
代码:GitHub

一、引言

   对于多变量时间序列预测问题,每个变量不仅取决于它的历史变化,还取决于其他变量。然而,现有的方法并没有有效地利用变量之间潜在的相互依存关系。一些统计方法假设变量之间存在线性相关性,其模型的复杂度随变量数量的二次增长,面临大量变量过拟合问题。最近开发的基于深度学习的方法,包括LSTNet[12]和TPA-LSTM[19],在捕捉非线性模式方面非常强大。但是,LSTNet和TPA-LSTM没有显式地对变量之间的成对依赖关系进行建模,这削弱了模型的可解释性。
   图神经网络(GNN)通过结构传播信息,允许每个节点聚合其邻域的上下文信息。多元时间序列中的变量可以被视为图中的节点,它们通过隐藏的依赖关系相互关联。因此,使用图神经网络对多变量时间序列数据进行建模是一种很有前途的方法,可以在利用时间序列之间的相互依赖性的同时保持其时间轨迹。
  对于多变量时间序列,最合适的图神经网络类型是时空图神经网络。时空图神经网络以多元时间序列和外部图结构为输入,旨在预测多元时间序列的未来值或标签。然而,由于以下挑战,这些方法仍然无法对多变量时间序列进行建模:

  • 挑战1:未知的图形结构。变量之间的关系必须从数据中发现,而不是作为基本事实知识提供。
  • 挑战2:图形学习和GNN学习。尽管图结构是可用的,但大多数GNN方法只关注消息传递(GNN学习),而忽略了图结构不是最优的,应该在训练期间更新这一事实。然后的问题是如何在端到端的框架中同时学习时间序列的图结构和GNN。

1.1 文章提出的方法

  文章提出了一种新的方法来克服这些挑战。如下图所示,框架由三个核心组件组成——图学习层、图卷积模块和时间卷积模块。对于挑战1,提出了一种新的图学习层,该层基于数据自适应地提取稀疏图邻接矩阵。
图1
  此外,在给定图学习层计算的邻接矩阵的情况下,开发了一个图卷积模块来解决变量之间的空间相关性。这是专门为有向图设计的,避免了图卷积网络中经常出现的过平滑问题。最后,提出了一个时间卷积模块,通过修改的1D卷积来捕获时间模式。它既可以发现具有多个频率的时间模式,也可以处理非常长的序列。
  由于所有参数都可以通过梯度下降学习,因此所提出的框架能够以端到端的方式对多变量时间序列数据建模并同时学习内部图结构(针对挑战2)。为了降低解决高度非凸优化问题的难度,并减少处理大型图时的内存占用,提出了一种学习算法,该算法使用课程学习策略来找到更好的局部最优,并在训练过程中将多变量时间序列分为多个子组。这里的优点是,无论是否有外部定义的图结构,提出的框架通常都可以灵活适用于小图和大图、短时间序列以及长时间序列。

  方法:自适应的图学习层 + 图卷积网络 + 两个1D空洞卷积(高级时序特征提取) + 课程学习策略(优化)

1.2 文章贡献

  • 第一次使用图神经网络从基于图的角度对多变量时间序列数据进行研究。
  • 提出了一个新的图学习模块来学习变量之间隐藏的空间依赖关系。
  • 提出了一个用于建模多变量时间序列数据和学习图结构的联合框架。
  • 实验结果表明了方法的性能优越。

二、问题描述

  所研究的问题是,多元时间序列预测的任务。给定一个多元变量 X = { z t 1 , z t 2 , . . . , z t P } X=\{z_{t_1}, z_{t_2},... , z_{t_P}\} X={zt1,zt2,...,ztP}, 即包含所观测的过去P个时间步的序列,目标是预测未来Q个时间步后的值 Y = { z t P + Q } Y=\{z_{t_{P+Q}}\} Y={ztP+Q},或未来一系列的值 Y = { z t P + 1 , z t P + 2 , . . . , z t P + Q } Y=\{z_{t_{P+1}} , z_{t_{P+2}}, ...,z_{t_{P+Q}}\} Y={ztP+1,ztP+2,...,ztP+Q}。 通常情况下,输入信号会与其他辅助特征耦合。
  将输入信号与辅助特征连接起来,我们假设输入为 X = { S t 1 , S t 2 , ⋅ ⋅ , S t P } X=\{S_{t_1},S_{t_2},··,S_{t_P}\} X={St1St2⋅⋅StP},其中 S t i ∈ R N × D S_{t_i}∈R^{N×D} StiRN×D D D D 是特征维数, S t i S_{t_i} Sti 的第一列等于 z t i z_{t_i} zti,其余为辅助特征。我们的目标是通过使用 l 2 l2 l2 正则化,最小化绝对损失来构建从X到Y的映射 f ( ⋅ ) f(·) f()
  从基于图的角度来看,将多元时间序列中的变量视为图中的节点。使用图邻接矩阵来描述节点之间的关系。在大多数情况下,图邻接矩阵不是由多元时间序列数据给出的,而是由我们的模型学习的。


z t ∈ R N z_t∈R^N ztRN: 表示维数为 N 的多元变量在第 t t t 个时间步的值
z t [ i ] ∈ R z_t[i]∈R zt[i]R: 代表第 i i i 个变量在第 t t t 个时间步的值

三、方法 —— MTGNN

  如下图,MTGNN组成:一个图学习层、m个图卷积模块、m个时间卷积模块、一个输出模块。
在这里插入图片描述
图2:MTGNN的框架。1×1标准卷积首先将输入投影到潜在空间中。然后,时间卷积模块和图卷积模块相互交织,分别捕获时间和空间相关性。控制时间卷积模块的感受野大小的超参数膨胀因子d以q的指数速率增加。图学习层学习图卷积模块使用的隐藏图邻接矩阵。将残差连接和跳跃连接添加到模型中,以避免梯度消失的问题。输出模块将隐藏的特征投影到所需的维度以获得最终结果。
  图卷积模块计算邻接矩阵,作为图卷积模块的输入。图卷积模块与时间卷积模块交替,分别捕获空间和时间相关性。使用残差连接时间卷积模块的输入和图卷积模块的输出。在每个时间卷积模块之后添加跳过连接。输出模块将隐藏的特征投影到所需的输出维度。

3.1 图学习层

  图学习层自适应的地学习图邻接矩阵,以捕捉时间序列数据之间地隐藏关系。现有地构图方法是通过距离度量来测量节点之间的相似性,但这类方法计算的时间和空间复杂度高不利于对大型图的处理。 对此,文章使用了一种采样的方法,只计算节点子集的成对关系,切断了每个 mini-batch 中计算和内存的瓶颈。
  另一个问题是现有的距离度量通常是对称的或双向的。在多变量时间序列预测中,往往是一个节点条件的变化导致另一个节点的条件(如交通流量)的变化。因此,学习的关系应该是单向的。如下所示:
在这里插入图片描述
   其中 E 1 , E 2 E1, E2 E1,E2 表示随机初始化的节点嵌入,在训练过程中可学习, Θ 1 Θ1 Θ1 Θ 2 Θ2 Θ2 是模型参数, α α α 是控制激活函数饱和率的超参数, a r g t o p k ( ⋅ ) argtopk(·) argtopk() 返回向量最大值 top-k 的索引。所提出的图邻接矩阵的非对称性质由公式3实现。减法项和ReLU激活函数正则化邻接矩阵,如果 A v u Avu Avu 为正,其对角线对应的 A u v Auv Auv 将为零。公式5-6是一种使邻接矩阵稀疏的策略,同时减少了下面图卷积的计算成本。对于每个节点,我们选择最接近它的k个节点作为它的邻居。在保留连接节点的权值的同时,将非连接节点的权值设为零。
   在给出节点属性的外部知识的条件下,可以设置 E 1 = E 2 = Z E_1=E_2=Z E1=E2=Z,其中 Z Z Z 是静态节点的特征矩阵。该方法的优点是可以在训练数据集的时间段内学习稳定且可解释的节点关系,并可以随着训练数据的更新而更新参数变化。

3.2 图卷积层

   图卷积模块用于融合邻居信息,提取节点的空间特征。图卷积模块由两个混合跳传播层组成,分别处理通过每个节点的流入和流出信息。通过将两个混合跳传播层的输出相加来获得净流入信息。
   所提出的混合跳传播层由两个步骤组成——信息传播步骤和信息选择步骤。
在这里插入图片描述

  • 信息传播:
       其中β是一个超参数,它控制保留根节点原始状态的比率。
    在这里插入图片描述
  • 信息选择
    在这里插入图片描述
       其中 K K K 是传播深度, H i n H_{in} Hin 表示由前一层输出,本层输入隐藏状态, H o u t H_{out} Hout 表示当前层的输出隐藏状态, H ( 0 ) = H i n H^{(0)}=H_{in} H(0)=Hin A ~ = D ~ − 1 ( A + I ) \widetilde{A}=\widetilde{D}^{-1}(A+I) A =D 1(A+I) ,以及 D ~ i j = 1 + ∑ j A i j \widetilde{D}_{ij}=1+\sum_j A_{ij} D ij=1+jAij。图4b中展示了所提出的混合跳传播层中的信息传播步骤和信息选择步骤。它首先横向传播信息,然后纵向选择信息
       信息传播步骤递归地传播节点信息以及给定的图结构。图卷积网络的一个严重限制是,随着图卷积层数的无穷大,节点隐藏状态收敛到一个点。这是因为具有许多层的图卷积网络无论初始节点状态如何都会达到随机游走的极限分布。在传播过程保留一定比例的节点原始状态,这样在保留节点状态的基础上,可以探索深层邻域。然而,如果仅应用等式7,则会丢失一些节点信息。在不存在空间依赖性的极端情况下,聚合邻域信息只会给每个节点添加无用的噪声。因此,引入信息选择步骤来过滤出在每个跳处产生的重要信息。根据等式8,参数矩阵 W ( k ) W^{(k)} W(k) 用作特征选择器。当给定的图结构不具有空间依赖性时,方程8仍然能够通过将 W ( k ) W^{(k)} W(k) 调整为0来保持原始节点自身信息,其中所有 k > 0 k>0 k0
      与级联方法相比,使用求和方法更有效地表示不同跳的所有线性交互。

3.3 时序卷积层

   时间卷积模块应用一组标准的一维空洞卷积滤波器来提取高级时间特征。该模块由两个扩张初始层组成。一个膨胀的初始层后面是正切双曲激活函数,起到滤波器的作用。另一层后面是S形激活函数,用作控制滤波器可以传递到下一个模块的信息量的门。图5显示了时间卷积模块(a)和扩张初始层(b)的架构。
在这里插入图片描述
   扩张初始层(Dilated Inception Layer):时间卷积模块通过1D卷积滤波器捕获时间序列数据的顺序模式。扩张初始层既能发现各种范围的时间模式又能处理超长序列。 它结合了卷积神经网络中两种广泛应用的策略,即使用多种大小的滤波器扩展卷积
   选择正确的卷积核尺寸比较有挑战性。滤波器太大,不能将短期的信号模式的微妙信息表示出来,选择的太小可能无法充分的发现长期信号的模式。对此,文章使用了 inception 策略,原理就是串联三种不同尺寸核的 2 D 2D 2D滤波器的输出(1×1、3×3和5×5) ,但无法直接用于时间序列。 对此提出一个由四个尺寸的滤波器(1×2、1×3、1×6和1×7)组成的时间起始层(temporal inception layer)。上述周期都可以通过这些滤波器大小的组合来覆盖。例如,为了表示周期12,模型可以使输入通过来自第一个temporal inception layer 的1×7滤波器,然后通过来自第二个 temporal inception layer 的1×6滤波器。

   卷积网络的感受野大小随着网络的深度和滤波器的核大小以线性级数增长。考虑具有 m m m 1 D 1D 1D 卷积层的卷积网络,其核尺寸为 c c c ,卷积网络的感受野大小为:
在这里插入图片描述
  要处理非常长的序列,需要非常深的网络或非常大的过滤器。我们采用扩张卷积来降低模型的复杂度。扩展卷积在具有特定频率的下采样输入上操作标准卷积滤波器。例如,当膨胀因子为2时,它对每两步采样的输入应用标准卷积。每层的膨胀因子以q(q>1)的速率呈指数增长。假设初始扩张因子为1,核大小为c的m层扩张卷积网络的感受野大小为:
在这里插入图片描述
  形式上,结合 i n c e p t i o n inception inception 和扩张,我们提出了扩张的inception层,如图5b所示。给定 1 D 1D 1D 序列输入 z ∈ R T z∈R^T zRT 和由 f 1 × 2 ∈ R 2 、 f 1 × 3 ∈ R 3 、 f 1 × 6 ∈ R 6 f_{1×2}∈R^2、f_{1×3}∈R^3、f_{1×6}∈R^6 f1×2R2f1×3R3f1×6R6 f 1 × 7 ∈ R 7 f_{1×7}∈R^7 f1×7R7 组成的滤波器,我们的扩张初始层采用以下形式:
在这里插入图片描述
  其中,根据最大滤波器,四个滤波器的输出被截断为相同的长度,并在通道维度上串联,并且由 z ⋆ f 1 × k z ⋆ f_{1×k} zf1×k 表示的扩张卷积定义为:
在这里插入图片描述
其中 d d d 是膨胀因子。

3.4 Skip Connection Layer & Output Module

  Skip connection layer 本质上是 1 × L i 1×L_i 1×Li 的标准卷积, L i L_i Li 是到第 i i i 个 skip connection layer 的输入序列长度。 它将跳转到输出模块的信息标准化为具有相同序列长度1。输出模块由两个 1×1 标准卷积层组成,将通道维度转换为所需的输出维度。如果我们只想预测某个未来步骤,那么所需的输出维度是1。当我们想要预测Q个连续步骤时,期望的输出维度是Q。

3.5 提出的学习算法

  所提出的学习算法能够增强模型处理大型图稳定在更好的局部最优中的能力。对于同时学习潜在图结构的模型而言,基于节点的拓扑信息对节点进行聚类是不现实的。该文章选择在每次迭代中将节点随机分为几组,并让算法学习基于采样节点的子图结构。 这使每个节点都有可能被分配给一组中的另一个节点,从而可以计算和更新这两个节点之间的相似性得分。作为一个附带的好处,如果我们将节点划分为s组,我们可以在每次迭代中将图学习层的时间和空间复杂性从O(N2)降低到(N/s)2。经过训练后,由于所有节点嵌入都经过了训练,因此可以构建全局图来充分利用空间关系。尽管计算成本很高,但在进行预测之前,可以并行预计算邻接矩阵。
  我们提出的算法的第二个考虑因素是促进我们的模型稳定在更好的局部最优中。算法从解决最简单的问题开始,只预测下一步。对于模型来说,找到一个好的起点是非常有利的。随着迭代次数的增加,我们逐渐增加模型的预测长度,以便模型能够逐步学习困难的任务。所有这些在算法1中给出。
在这里插入图片描述

四、实验研究

  我们在两个任务上验证了MTGNN——一步预测和多步预测。首先,我们在四个 benchmark 数据集上比较了MTGNN与其他多元时间序列模型的性能,用于多元时间序列预测单个未来步骤。此外,为了显示MTGNN与其他使用预定义图结构信息的时空图神经网络相比的表现,我们在时空图神经网的两个 benchmark 数据集上评估了MTGNN,任务是预测未来的多个步骤。

数据集

  1. Electricity:UCI电力负荷图数据集包含370个客户的每小时总用电量,如[41]所示。根据[15],我们使用过去一周的数据(即168小时)来预测第二天(即24小时)的消耗量。
  2. Traffic:2015年至2016年旧金山海湾地区高速公路862个传感器测量的道路占用率。
  3. UCI PEM-SF:交通数据集描述了[41]中440条旧金山湾区高速公路的占用率(yt为[0,1])。根据电力数据集,它也按小时级别汇总,具有相同的后退窗口和预测范围。
  4. Solar-Energy:国家可再生能源实验室的太阳能数据集包含了2007年阿拉巴马州137个光伏电站收集的太阳能输出
  5. Exchange-Rate:汇率数据集包含了从1990年到2016年澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰和新加坡等八个国家的每日汇率。

4.1 图学习层

  为了验证提出的图学习层的有效性,实验了构建图邻接矩阵的不同方法。如表5,不同形式的A,在METR-LA数据的验证集上运行10次的平均值测试了实验结果。预定义的A由路网距离构成[13]。全局A假设邻接矩阵是一个参数矩阵,它包含 N 2 N^2 N2 个参数。受[21]的启发,Undirected-A和Directed-A是通过节点嵌入的相似性得分来计算的。受[8,18]的启发,Dynamic-A假设每个时间步长的空间依赖性取决于其节点输入。单向A是我们提出的方法。根据表5,我们提出的单向A实现了最低的平均MAE、RMSE和MAPE。它比预定义的A、无向的A和动态的A有显著的改进。我们的单向A在MAE和MAPE方面略微优于无向A和单向A,被证明更加稳定。
在这里插入图片描述

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]:在你提供的引用中,出现了一个关于MongoDB连接报错的问题。报错信息显示无法连接到127.0.0.1:27017,原因是连接被拒绝。为了解决这个问题,你可以尝试以下两种方法: 1. 在MongoDB的bin文件夹下手动创建data文件夹,并在data文件夹下创建db文件夹。然后,在bin文件夹下打开git bash窗口,输入命令"./mongod --dbpath /data/db"。这样可以指定MongoDB的数据存储路径为创建的db文件夹。\[1\] 2. 在MongoDB的bin目录下,输入命令"mongod.exe --dbpath D:\data\db",其中D:\data\db是你需要存放数据的位置。在执行这个命令之前,你需要先创建该文件夹。\[2\] 希望以上方法能够帮助你解决连接被拒绝的问题。如果问题仍然存在,请检查你的网络连接和MongoDB的配置是否正确。 #### 引用[.reference_title] - *1* [mongo连接报错MongoDB shell version v3.4.0 connecting to: mongodb://127.0.0.1:27017 2018-09-27T21:11:...](https://blog.csdn.net/weixin_44029605/article/details/104631974)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [关于MongoDB报错:connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=...](https://blog.csdn.net/s_sos0/article/details/125459059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值