连接数据的点!使用GNN的一种新的多维时间序列数据分析方法!
三个要点
✔️我们提出一个新的GNN架构,专门用于多变量时间序列数据分析。
✔️为传统的GNN增加了新的模块,可以捕捉到变量的属性以及多个时间序列数据之间的时间和空间依赖性。
✔️在性能评估实验中,在4个评估数据集中的3个实现了SoTA。
Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks
written by Zonghan Wu, Shirui Pan, Guodong Long, Jing Jiang, Xiaojun Chang, Chengqi Zhang
(Submitted on 24 May 2020)
Comments: Accepted by KDD 2020.
Subjects: Machine Learning (cs.LG); Machine Learning (stat.ML)
code:![]()
![]()
首先
目前,时间序列数据分析是一个在现实世界的许多领域都备受关注的研究领域,如金融、环境、交通和医学。在许多情况下,在获得的时间序列数据中存在多个变量,每个变量在变化的同时又相互影响。
考虑到一家公司的股票价格变化。举例来说,制造汽车的公司和制造汽车零部件的公司的股票价格是相互依赖的。你不难想象,当汽车制造商的经营业绩变得强劲时,零部件制造商的经营业绩也会相应提高,反之,当汽车制造商的经营业绩恶化时,如科罗娜灾难,零部件制造商的经营业绩也会相应下降。如上面的例子所示,在现实世界中获得的时间序列数据具有相互依赖性,其中一个变量的变化会影响另一个变量。然而,用传统的时间序列数据分析方法很难提取变量之间的潜在依赖关系。
现有的正统时间序列数据分析方法,如向量自回归模型(VAR)、高斯过程模型(GP)和其他统计方法,都假设变量之间存在线性依赖关系。然而,一般来说,随着变量数量的增加,依赖关系变得更加复杂,而线性模型往往不能近似地反映依赖关系。另一方面,当变量数量较多时,能够准确提取依赖关系的方法还没有建立。
本研究的目标是提出一个新的框架,通过将GNN应用于时间序列数据分析,可以适当地提取变量之间的相互依赖关系。
什么是GNN(图形神经网络)?
在此,我们对图谱神经网络(GNN)进行简要描述,它是本研究的关键技术。
GNN是一个扩展神经网络的架构,可应用于图结构。
为了清楚起见,在卷积的情况下,让我们比较一下普通神经网络中的卷积和图神经网络中的卷积。
近年来,GNN在处理图数据方面取得了巨大的成功,它利用了诸如互换不变性、局部连接性和组合性等特征。通过GNN的结构传递信息,使图中的每个节点都能识别其邻居。这种结构使得检索节点之间的依赖关系成为可能。
最适合于多变量时间序列的图神经网络类型是时空图神经网络。空间-时间图形神经网络将多变量时间序列和外部图形结构作为输入,旨在预测多变量时间序列的未来值和标签。
空间-时间图形神经网络架构的图示如下。
通过有效利用这一架构,现在有望提取时间序列数据之间的依赖关系,而这是用传统方法难以提取的。
与GNN有关的问题
因此,最近开始尝试利用GNN的特性来提取时间序列数据中的关系。然而,目前的GNN架构有几个挑战。
- 挑战1:现有的GNN网络需要为时间序列数据提供预定的图形结构。然而,在许多情况下,特别是当变量的数量很大时,未知的多维时间序列数据并没有明确的图形结构。然而,在这种情况下,没有任何方法可以从数据中自动获得变量之间的关系。
- 挑战2:GNN是图结构的学习架构,但许多现有的GNN架构只关注GNN的权重学习,而缺乏图结构本身需要优化的观点,即图结构本身需要通过学习进行更新。因此,关键点在于如何同时学习时间序列数据的图结构和GNN权重系数。
在这项研究中,我们提出了一种新的方法来解决上述两个问题。
建议的方法
我们提出了一个针对多变量时间序列数据的GNN(MTGNN)。MTGNN架构的总体情况可以用下图表示。
拟议的架构由以下模块组成
- 图形学习层
- 图形卷积模块
- 时间卷积模块
我将为每个人补充解释。
图形学习层
我们的目标是动态地学习图的邻接矩阵,以捕捉时间序列数据之间的隐藏关系。
传统的图学习模块通过计算节点之间的距离指数来计算节点之间的相似度和关系。然而,这种方法随着图形的增长需要指数级的计算成本和内存。
为了解决这个问题,我们引入了一种抽样方法,只计算一些节点的配对关系。这消除了每个小批量的计算和内存瓶颈。在这种情况下,要计算的一对节点可以根据相似度和关系动态地改变。这是为能够检索时间序列数据之间的未知关系而设计的。
第二个问题是,大多数传统的距离指数是双向的,这增加了计算成本。然而,在多变量时间序列数据的情况下,其他相邻节点的状态会随着某个特定节点的状态变化而变化。例如,随着气候信息的变化,另一个变量,即交通量的变化)。
因此,要学习的变量之间的关系被假定为是单向的。在这项工作中,我们引入了一个专门用于提取单向关系的图形学习层。
图形卷积模块
图卷积模块被引入,通过融合一个节点的信息和其邻居的信息来处理图的空间依赖性。图形卷积模块由两个混合跳跃传播层组成,可以分别处理通过每个节点的流入和流出信息。净流入信息是由两个混合跳跃传播层的输出相加得到的。图形卷积模块和混合跳跃传播层的结构如下图所示。
时间卷积模块
时间卷积模块旨在通过应用扩展的标准一维卷积滤波器来提取高维的时间特征。该模块由两种类型的扩展Inception Layers组成,其中一种通过应用tanh激活函数充当过滤器。另一层之后是一个sigmoid激活函数,它作为一个门,控制过滤器可以传递给下一个模块的信息量。时间卷积模块和扩展的Inception Layer的结构如下图所示。
时间卷积模块和图形卷积模块的协作图如下所示。
评估
为了确定拟议方法的有效性,我们在四个不同的数据集上比较了现有的和拟议的方法。用于评估的四个数据集如下。
- 交通:加州交通局的交通数据集,包含2015年和2016年旧金山湾区高速公路上862个传感器测量的道路占用情况。
- 太阳能:国家可再生能源实验室的太阳能数据集包括2007年从阿拉巴马州的137个光伏电站收集的太阳能电力。
- 电力:UCI机器学习资源库中的电力数据集包含了2012年至2014年321个客户的用电量。
- 汇率:汇率数据集包含1990年至2016年八个国家的每日汇率:澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰和新加坡。
对这四个数据集的评价如下。
从上表中,我们可以看到,除了汇率,提议的方法在所有三个数据集中都显示出最高的准确性。
结论。
在本文中,我们提出了一个多变量时间序列预测的新框架。我们将GNN扩展到多变量时间序列预测问题,并成功构建了一个有效的架构,利用了多个时间序列之间的固有依赖关系。所提出的架构在各种多变量时间序列预测任务中显示出优异的性能,我们发现了使用GNN处理各种非结构化数据的新可能性。
与本文相关的类别