前言
多元时间序列建模一直是吸引了来自经济,金融和交通等各个领域的研究人员的主题。多元时间序列预测的一个基本假设是,其变量相互依赖,但仔细观察,可以说现有方法无法完全利用变量对之间的潜在空间依赖性。同时,近年来,图神经网络(GNN)在处理关系依赖方面表现出了很高的能力。 GNN需要用于信息传播的定义明确的图结构,这意味着它们无法直接应用于事先不知道相关性的多元时间序列。在本文中,我们提出了专门针对多元时间序列数据设计的通用图神经网络框架。我们的方法通过图学习模块自动提取变量之间的单向关系,可以轻松地将诸如变量属性之类的外部知识整合到其中。进一步提出了一种新颖的混合跳跃传播层和一个扩张的起始层,以捕获时间序列内的空间和时间依赖性。在端到端框架中共同学习图学习,图卷积和时间卷积模块。实验结果表明,我们提出的模型在4个基准数据集中的3个方面优于最新的基线方法,并且在提供额外的结构信息的两个交通数据集上与其他方法相比具有相同的性能
当前面对的挑战
变量之间存在相互依赖关系,但是现有方法无法完全利用变量之间的潜在空间依赖性。同时GNN需要定义好的图结构,所以不能直接用在事先不知道相关性或者动态的问题上。简单来说就是未知图结构或者已知图结构但该结构不是最佳的,对于预测来说都是需要解决的问题。
主要贡献
在介绍本文方法(简称MTGNN)之前,需要先介绍本文方法之前提出的两种方法,亦是本文参与了对比的方法。分别是LSTNet和TPA-LSTM
◦LSTNet (2018): Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks
◦TPA-LSTM (2019): Temporal Pattern Attention for Multivariate Time Series Forecasting
LSTNet模型介绍(短期依赖+长期依赖+尺度不敏感 = CNN + RNN + AR)
多变量时间序列预测是一个跨越多个领域的重要机器学习问题,包括太阳能电站能量输出、电力消耗和交通堵塞情况的预测。
在这些现实世界的应用中出现的时态数据通常涉及长期和短期模式的混合,传统的方法如自回归模型和高斯过程可能会失败。在这篇文章中,我们提出了一个新的深度学习框架,即长短期时间序列网络,来解决这个开放的挑战。
LSTNet使用卷积神经网络(CNN)和递归神经网络(RNN)来提取变量之间的短期局部依赖模式,并发现时间序列趋势的长期模式。此外,我们利用传统的自回归模型来解决神经网络模型的尺度不敏感问题
Convolutional Component
Recurrent (skip) Component
然而,重复跳跃层需要一个预定义的超参数p,这在非季节性时间序列预测中是不利的,或者其周期长度随时间是动态的。为了缓解这个问题,我们考虑了另一种方法,注意机制,它学习输入矩阵每个窗口位置的隐藏表示的加权组合。
Autoregressive Component
由于卷积和递归组件的非线性特性,神经网络模型的一个主要缺点是输出规模对输入规模不敏感。所以使用自回归模型来解决尺度不敏感的问题。
TPA-LSTM模型介绍
这篇文章指出了LSTNet的不足之处以及自己的改进方法,包括:
Temporal Pattern Attention
TPA-LSTM通过RNN获取每个时间点t的特征向量后,通过Temporal Pattern Attention方法对隐藏层的向量进行卷积,得到过去每一时刻的向量的一个表示,再跟ht时刻的向量求相似度,以此来决定过去各个时刻的重要性(权重),因此模型可以做到拟合非周期数据。
MTGNN (图学习层+图卷积模块+时间卷积模块+输出模块)
时空图神经网络
时空图神经网络的输入是具有外部图结构的多元时间序列,该外部图结构描述了多元时间序列中变量之间的关系。
对于时空图神经网络,节点之间的空间依赖性通过图卷积来捕获,而历史状态之间的时间依赖性则通过递归神经网络或一维卷积得以保留。
尽管与不使用图结构的方法相比,现有的时空图神经网络已取得了显著的进步,但是由于缺少预定义的图和通用框架,它们无法有效地处理纯多元时间序列数据。
文章提到 LSTNet和TPA-LSTM并未对变量之间的成对依存关系进行显式建模,这削弱了模型的可解释性
在本文中,我们专注于多元时间序列预测的任务。 令z_t∈R^N表示在时间步长t处维度为N的多元变量的值,其中z_t [i]∈R表示在时间步长t处第i个变量的值。给定对多元变量X={z_(t_1 ),z_(t_2 ),…z_(t_p )}的观察值的历史P时间步长序列,我们的目标是预测Y={z_(t_(P+Q) )}的第Q步的值, 或一系列未来值Y={z_(t_(P+1) ),z_(t_(P+2) ),…,z_(t_(P+Q) )}。
简单来说就是,输入信号可以与其他辅助功能耦合,例如一天中的时间,一周中的一天和季节中的一天。将输入信号与辅助特征连接起来,我们假设输入是X={S_(t_1 ),S_(t_2 ),…,S_(t_p ),其中S_(t_i )∈R^(N×D),D是特征维,S_(t_1 )的第一列等于z_(t_1 ),并且其余为辅助功能。我们的目标是通过使用l2正则化来最小化绝对损耗,从而构建从X到Y的映射f(∙)。
从基于图的角度来看,我们将多元时间序列中的变量视为图中的节点。我们使用图邻接矩阵描述节点之间的关系。 图的邻接矩阵在大多数情况下不是由多元时间序列数据给出的,而是可以通过我们的模型学习的。
图学习层
图学习层可以自动提取稀疏图的邻接矩阵(不用事先创建图结构),计算图邻接矩阵,该矩阵随后用作所有图卷积模块的输入。希望一个节点的变化会导致另一节点的变化,因此是单向的。
其中E_1,E_2表示随机初始化的节点嵌入,它们在训练过程中是可学习的,Θ_1,Θ_2是模型参数,α是用于控制激活函数的饱和率的超参数,而argtopk()返回向量的最大的k个索引。图形邻接矩阵的不对称性由公式3来实现。减法项和ReLU激活函数对邻接矩阵进行正则化,因此,如果A_vu为正,则其对角线对应的A_vu将为零。
图卷积模块(GC)
图卷积模块在传播过程中保留了一部分节点的原始状态,因此传播的节点状态既可以保留局部性,又可以探索更深的邻域。加上公式8可以保留每一跳中的重要信息。
时间卷积模块(TC)
时间卷积模块参考了GooleNet中inception的结构,可以发现具有多个频率的时间模式,也可以处理很长的序列;太大无法表示短期信号,太小无法表示长期信号。网络的接收域大小也随着q的隐藏层数的增加而呈指数增长
输出模块
输出模块由两个1×1标准卷积层组成,将输入的通道维转换为所需的输出维。 如果只想预测某个将来的步骤,则期望的输出尺寸为1。当我们要预测Q个连续的步骤时,期望的输出尺寸为Q。
数据集
总结
在本文中,作者介绍了一种用于多元时间序列预测的新颖框架。 并且是第一个通过基于图的深度学习方法解决多元时间序列预测问题的公司。 作者提出了一种有效的方法来利用多个时间序列之间的固有依赖关系。 该方法在各种多元时间序列预测任务中展示了出色的性能,并为使用GNN处理各种非结构化数据打开了新的大门。
A robotic platform for the synthesis of colloidal nanocrystals