目录
论文: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,提出了一种新的图学习层,该层基于数据自适应地提取稀疏图邻接矩阵。
此外,在给定图学习层计算的邻接矩阵的情况下,开发了一个图卷积模块来解决变量之间的空间相关性。这是专门为有向图设计的,避免了图卷积网络中经常出现的过平滑问题。最后,提出了一个时间卷积模块,通过修改的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