文章翻译:Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal

本文提出时空同步图卷积网络(STSGCN),旨在通过时空同步建模机制捕获复杂局部时空相关性,并通过多模块设计应对时空异质性。实验结果表明,STSGCN在四大数据集上超越现有方法,展示了在时空网络数据预测中的优越性能。
摘要由CSDN通过智能技术生成

Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting


A New Framework for Spatial-Temporal Network Data Forecasting)

时空同步图卷积网络:时空网络数据预测的新框架

作者:Chao Song,1,2Y oufang Lin,1,2,3Shengnan Guo,1,2Huaiyu Wan1,2,3∗
论文地址:AAAI-20
发表时间:2020
备注:
论文解析
代码开源
代码解析

摘要

时空网络数据预测在交通管理和城市规划的大量应用中具有重要意义。然而,潜在的复杂的时空相关性异质性使这个问题具有挑战性。现有的方法通常使用单独的分量来获取时空相关性,而忽略了时空数据的异质性。本文提出了一种新的时空同步图卷积网络模型(STSGCN),用于时空网络数据预测。该模型通过精心设计的时空同步建模机制,能够有效捕获复杂的局部时空相关性。同时,该模型还针对不同时间段设计了多个模块,以有效捕获局部时空图中的异质性。在四个真实数据集上进行了大量实验,结果表明,我们的方法达到了最先进的性能,并始终优于其他基线。

1 引言

时空网络数据预测是时空数据挖掘中的一个基本研究问题。
时空网络是一种典型的数据结构,在交通网络、移动基站网络、城市水系等许多实际应用中都可以描述大量的数据。
对时空网络数据的准确预测可以显著提高这些应用的服务质量。
随着图的深度学习的发展,图卷积网络及其变体等强大的方法已被广泛应用于这些时空网络数据预测任务中,并取得了良好的性能。
然而,在空间和时间方面的相关性和异质性建模仍缺乏有效的方法。在本文中,我们设计了一个模型,以同步捕获复杂的时空相关性,并考虑异质性,以提高空间-时间网络数据的预测精度。

以图1所示的时空网络为例,该网络中存在三种不同的影响。
在这里插入图片描述

时空图中的每个节点都可以在同一时间步长直接影响相邻节点,这种影响来源于实际的空间依赖性。
同时,由于时间相关性的关系,每个节点在下一个时间步中也可以直接影响自己。
此外,由于时空相关性的同步,每个节点在下一个时间步中甚至会直接影响它的邻居节点,如图1所示。
这三种影响的存在是由于信息在时空网络中同时沿空间维度和时间维度传播。由于节点间的空间距离和时间序列的时间范围的限制,这些复杂的时空相关性通常是局部的。我们将这些复杂的影响称为局部的时空相关性。这种相关性的建模是时空网络数据预测的关键。之前的研究如DCRNN (Li et al. 2017)、STGCN (Yu, Yin, and Zhu 2018)和ASTGCN (Guo et al. 2019a)分别使用两个单独的分量来捕获时间和空间相关性。

这些方法仅直接捕捉了我们前面提到的前两种影响,即空间相关性和时间相关性。它们将空间表示输入到时间建模模块中,以间接捕获第三种影响。然而,我们认为,如果这些复杂的局部时空相关性能够同时被捕获,它将非常有效地用于时空数据预测,因为这种建模方法揭示了时空网络数据生成的基本方式。

此外,时空网络数据通常在时空维度上表现出异质性
例如,在城市路网中,住宅和商业区的交通监测站记录的观测结果在不同时间呈现出不同的模式。然而,以往的研究多采用不同时段的共享模块,不能有效地捕获时空网络的异质性。为了获取复杂的局部时空相关性和时空数据的异质性,我们提出了时空同步图卷积网络(STSGCN)模型。

不同于以往的许多工作,STSGCN模型可以同时直接捕获局部的时空相关性,而不是使用不同类型的深度神经网络分别建模空间相关性和时间相关性。
具体而言,我们构造局部时空图,将相邻时间步长的单个空间图连接成一个图。然后,我们构造了一个时空同步图卷积模块(STSGCM)来捕获这些局部时空图中复杂的局部时空相关性。同时,为了捕获长期时空网络数据的异构性,我们设计了时空同步图卷积层(STSGCL),该层在不同时间段部署多个单独的stsgcm。最后,我们通过叠加多个STSGCLs来聚合长期的时空相关性和异质性进行预测。

总的来说,我们的工作贡献如下:

•我们提出了一种新的时空图卷积模块,直接同步捕获局部的时空相关性,而不是单独使用不同类型的神经网络模块。
•我们构建了一个多模块层来捕获长期时空图中的异质性。该多模块层在每个时间段部署多个模块,允许每个模块专注于提取每个局部时空图上的时空相关性。
•在四个真实数据集上进行了广泛的实验,实验结果表明,我们的模型始终优于所有的基线方法。

2 Related Work

2.1 Spatial-Temporal Prediction时空预测

时空数据预测问题是时空数据挖掘中一个非常重要的研究课题。许多经典的方法,如ARIMA (Williams and Hoel 2003)和SVM (Drucker et al. 1997)只考虑时间信息。将复杂的空间相关性整合到预测方法中是一项挑战。ConvLSTM (Shi et al. 2015)模型是全连通LSTM (Graves 2013)的扩展,它结合CNN和RNN分别建模空间和时间相关性。它利用了CNN强大的空间信息提取能力。ST-ResNet (Zhang, Zheng, and Qi 2017)是一种基于CNN的城市人群流量预测深度残差网络,展示了深度残差CNN对时空网格数据建模的能力。ST-3DNet (Guo et al. 2019b)在该区域引入了三维卷积,可以有效地从时空维度提取特征。它使用两个组件分别建模局部时间模式和长期时间模式。所有这些方法都是针对时空网格数据设计的。

近年来,研究人员试图利用图卷积方法来建模时空网络数据中的空间相关性。dcrnn (lietal2017)将图卷积网络引入时空网络数据预测,利用扩散图卷积网络描述空间网络中的信息扩散过程。它使用RNN来模拟时间相关性,比如ConvLSTM。STGCN (Yu, Yin, and Zhu 2018)使用CNN建模时间相关性。ASTGCN (Guo et al. 2019a)使用两个关注层来捕获空间相关性和时间相关性的动态。Graph WaveNet (Wu et al. 2019)设计了一种自适应矩阵,将节点与其邻居之间的影响变化考虑在内。它使用扩张的随意卷积来模拟时间相关性,以指数增加感受野。

然而,上述方法都分别使用了两个不同的分量来获取空间相关性和时间相关性。与之不同的是,STG2Seq (Bai et al. 2019)试图通过使用具有两种注意机制的门选残差GCN模块,同时建模时空相关性。然而,在一定程度上,每个节点在不同时间步长的串联特征掩盖了时空相关性。而且,它不能捕获时空数据的异质性。

2.2 Graph Convolution Network图卷积网络
图卷积网络(GCN)在基于图结构的几种不同类型的任务上取得了优异的性能,如节点分类和网络表示。谱GCNs定义在谱域内。很多方法都来源于(Bruna et al. 2013)的工作。ChebNet (Defferrard, Bresson, and Vandergheynst 2016)是一个强大的GCN,它利用Chebyshev扩展来降低拉普拉斯算子计算的复杂性。GCN (Kipf和Welling 2017)将ChebNet简化为更简单的形式,并在各种任务上实现了最先进的性能。空间卷积网络将传统的卷积网络从欧几里德空间推广到顶点域。GraphSAGE (Hamilton, Ying, and Leskovec 2017)为图中的每个节点抽取固定数量的邻居,并聚合其邻居和自身的特征。GA T (V eliˇckovi´c et al. 2018)是定义在顶点域的一个强大的GCN变体,它使用注意层动态调整邻居节点的重要性。

3 Preliminaries正文前书页

•Definition 1: 空间网络 G \mathcal{G} G。我们用 G = ( V , E , A ) \mathcal{G}=(V, E, A) G=(V,E,A)表示空间网络,其中|V | = N为顶点集,N为顶点数,E为边集。A为网络 G \mathcal{G} G的邻接矩阵。空间网络 G \mathcal{G} G表示空间维数上节点之间的关系,网络结构不随时间变化。在我们的工作中,这个空间网络可以是有向的,也可以是无向的。

•Definition 2: 图信号矩阵 X G ( t ) ∈ R N × C X_{\mathcal{G}}^{(t)} \in \mathbb{R}^{N \times C} XG(t)RN×C,其中C为属性特征个数,t为时间步长。此图信号矩阵表示空间网络 G \mathcal{G} G在时间步长t时的观测值。

时空网络数据预测问题可以描述为:
学习一个映射函数f,将历史时空网络序列 ( X G ( t − T + 1 ) , X G ( t − T + 2 ) , … , X G ( t ) ) \left(X_{\mathcal{G}}^{(t-T+1)}, X_{\mathcal{G}}^{(t-T+2)}, \ldots, X_{\mathcal{G}}^{(t)}\right) (XG(tT+1),XG(tT+2),,XG(t))映射到该时空网络的未来观测 ( X G ( t + 1 ) , X G ( t + 2 ) , … , X G ( t + T ′ ) ) \left(X_{\mathcal{G}}^{(t+1)}, X_{\mathcal{G}}^{(t+2)}, \ldots, X_{\mathcal{G}}^{\left(t+T^{\prime}\right)}\right) (XG(t+1),XG(t+2),,XG(t+T)),其中T为历史时空网络序列的长度,T’表示要预测的目标时空网络序列的长度。

4 Spatial-Temporal Synchronous Graph Convolutional Network时空同步图卷积网络

图2说明了我们的STSGCN模型的体系结构。

在这里插入图片描述

我们将STSGCN的核心思想总结为三点:
1)在前一个时间步和下一个时间步将每个节点与自身连接起来,构造一个局部的时空图。

2)使用时空同步图卷积模块捕获局部时空相关性。

3)部署多个模块对时空网络序列的异构性进行建模。

4.1 Localized Spatial-Temporal Graph Construction局部时空图构建

我们打算建立一个模型,该模型可以直接捕获每个节点对其相邻节点的影响,这些节点既属于当前的时间步长,也属于相邻的时间步长。
实现这一目标最直观的想法是在相邻的时间步长连接所有节点自身(图3 (a))。

在这里插入图片描述

通过将所有节点的前一时刻和下一时刻与自身连接,我们可以得到一个局部的时空图。
根据局部时空图的拓扑结构,可以直接捕获各个节点与其时空邻居之间的相关性。

我们用 A ∈ R N × N A \in \mathbb{R}^{N \times N} ARN×N表示空间图的邻接矩阵。
A ′ ∈ R 3 N × 3 N A^{\prime} \in \mathbb{R}^{3 N \times 3 N} AR3N×3N表示在三个连续空间图上构造的局部时空图的邻接矩阵。

对于空间图中的节点 i i i,我们可以通过 ( t − 1 ) N + i (t−1)N + i (t1)N+i 计算其在局部时空图中的新索引,其中 t ( 0 < t ≤ 3 ) t (0 < t≤3) t(0<t3) 表示局部时空图中的时间步长。

如果在这个局部时空图中两个节点相互连通,则邻接矩阵中相应的值设为1。

局部时空图的邻接矩阵可表示为:

A i , j ′ = { 1 ,  if  v i  connects to  v j 0 ,  otherwise  A_{i, j}^{\prime}=\left\{\begin{array}{ll}1, & \text { if } v_{i} \text { connects to } v_{j} \\0, & \text { otherwise }\end{array}\right. Ai,j={1,0, if vi connects to vj otherwise 

其中, v i vi vi为局部时空图中的节点 i i i。邻接矩阵 A ′ A' A包含3 N节点。

图3 (b)给出了局部时空图的邻接矩阵。
邻接矩阵的对角线是三个连续时间步长的空间网络的邻接矩阵。
对角线两边表示属于相邻时间步长的每个节点与自身的连通性。

4.2 Spatial-Temporal Embedding 时空嵌入
但是,将不同时间步长的节点连接成一个图会模糊每个节点的时间属性。
换句话说,这个局部时空图将处于不同时间步长的节点放入同一个环境中,而不区分它们
受ConvS2S(Gehring et al. 2017)的启发,我们在时空网络序列中加入位置嵌入,使模型能够考虑时空信息,增强时空相关性建模能力。
对于时空网络序列 X G ∈ R N × C × T X_{\mathcal{G}} \in \mathbb{R}^{N \times C \times T} XGRN×C×T,我们创建了一个可学习的时间嵌入矩阵 T e m b ∈ R C × T T_{e m b} \in \mathbb{R}^{C \times T} TembRC×T和一个可学习的空间嵌入矩阵 S e m b ∈ R N × C S_{e m b} \in \mathbb{R}^{N \times C} SembRN×C
训练过程完成后,两个嵌入矩阵将包含必要的时空信息,以帮助模型捕获时空相关性。
我们将这两个嵌入矩阵加入到经过广播运算的时空网络序列中,得到新的网络序列表示:

X G + t e m b + s e m b = X G + T e m b + S e m b ∈ R N × C × T X_{\mathcal{G}+t_{e m b}+s_{e m b}}=X_{\mathcal{G}}+T_{e m b}+S_{e m b} \in \mathbb{R}^{N \times C \times T} XG+temb+semb=XG+Temb+SembRN×C×T

4.3 Spatial-Temporal Synchronous Graph Convolutional Module 时空同步卷积模块
我们建立了一个时空同步图卷积模块(STSGCM)来捕获局部的时空相关性。
STSGCM由一组图卷积运算组成。图卷积运算可以将每个节点的特征与其相邻节点聚合起来。
我们在顶点域中定义了一个图卷积运算来聚合时空网络中的局部时空特征。

图卷积运算的输入是局部时空图的图信号矩阵。
在我们的图卷积操作中,每个节点在相邻的时间步长聚合自己和它的邻居的特征。
聚合函数是一个线性组合,其权值等于节点与其相邻节点之间的边的权值。
然后部署一个具有激活功能的全连接层,将节点的特征转化为一个新的空间。这个图卷积运算可以表述为:
G C N ( h ( l − 1 ) ) = h ( l ) = σ ( A ′ h ( l − 1 ) W + b ) ∈ R 3 N × C ′ , G C N\left(h^{(l-1)}\right)=h^{(l)}=\sigma\left(A^{\prime} h^{(l-1)} W+b\right) \in \mathbb{R}^{3 N \times C^{\prime}}, GCN(h(l1))=h(l)=σ(Ah(l1)W+b)R3N×C,

其中 A ′ ∈ R 3 N × 3 N A^{\prime} \in \mathbb{R}^{3 N \times 3 N} AR3N×3N表示局部时空图的邻接矩阵
h ( l − 1 ) ∈ R 3 N × C h^{(l-1)} \in \mathbb{R}^{3 N \times C} h(l1)R3N×C是第i个图卷积层的输入
W ∈ R C × C ′ W \in \mathbb{R}^{C \times C'} WRC×C b ∈ R C ′ b \in \mathbb{R}^{C'} bRC
为可学习参数,
σ σ σ为激活函数,如ReLU和GLU (Dauphin et al. 2017)。

如果选择GLU作为图卷积层的激活函数,则图卷积层可以描述如下

h ( l ) = ( A ′ h ( l − 1 ) W 1 + b 1 ) ⊗ sigmoid ⁡ ( A ′ h ( l − 1 ) W 2 + b 2 ) h^{(l)}=\left(A^{\prime} h^{(l-1)} W_{1}+b_{1}\right) \otimes \operatorname{sigmoid}\left(A^{\prime} h^{(l-1)} W_{2}+b_{2}\right) h(l)=(Ah(l1)W1+b1)sigmoid(Ah(l1)W2+b2)

W 1 ∈ R C × C ′ , W 2 ∈ R C × C ′ , b 1 ∈ R C ′ , b 2 ∈ R C ′ W_{1} \in \mathbb{R}^{C \times C^{\prime}}, W_{2} \in \mathbb{R}^{C \times C^{\prime}}, b_{1} \in \mathbb{R}^{C^{\prime}}, b_{2} \in \mathbb{R}^{C^{\prime}} W1RC×C,W2RC×C,b1RC,b2RC
为可学习参数,
s i g m o i d sigmoid sigmoid表示sigmoid激活函数,即sigmoid(x) = 1 /1+e−x,
⊗ ⊗ 表示元素级积。
门控线性单元控制哪个节点的信息可以传递到下一层。

这个图卷积运算是在顶点域中定义的,这意味着它不需要计算图的拉普拉斯算子
这种图卷积运算不仅适用于无向图,而且也适用于有向图

此外,我们在局部时空图的每个节点上添加了自循环,以便在聚合特征时使图卷积运算考虑到其自身的特征。

我们堆叠多个图卷积操作来扩大聚集区域,这可以增加图卷积操作的接受域来捕获局部的时空相关性(图4(a))。
我们挑选JK-net (Xu et al. 2018)作为我们的STSGCM的基本结构,并设计了一个新的聚合层来过滤无用的信息(图4 (b), 4 ©)。

在这里插入图片描述

图4:
(a)是时空同步图卷积模块的架构示例,包含两个图卷积操作。Cin and cout分别表示输入矩阵和输出矩阵的特征个数,
AGG表示聚合层
(b)表示聚合操作的输出。
©为汇聚层裁剪操作的例子,只保留中间时间步长的节点。

我们用h(l)表示第l个图卷积运算的输出,其中h(0)表示第一个图卷积运算的输入。

对于具有L个图卷积运算的STSGCM,每个图卷积运算的输出将被送入汇聚层AGG(图4 (a))。

聚合层将压缩STSGCM中所有层的输出。聚合操作有两个步骤:聚合和裁剪。

4.3.1 Aggregating operation:我们选择了max-pooling作为聚合操作。它对STSGCM中所有图卷积的输出进行元素级最大操作。max操作需要所有输出的大小相同,所以一个模块内的图卷积操作的核数应该相等。最大聚合操作可以表示为:

h A G G = max ⁡ ( h ( 1 ) , h ( 2 ) , … , h ( L ) ) ∈ R 3 N × C o u t h_{A G G}=\max \left(h^{(1)}, h^{(2)}, \ldots, h^{(L)}\right) \in \mathbb{R}^{3 N \times C_{o u t}} hAGG=max(h(1),h(2),,h(L))R3N×Cout

其中Cout为图卷积运算的核数。

4.3.2 Cropping operation裁剪操作(图4 ©)删除了前一个时间步长和下一个时间步长节点的所有特征,只保留中间时刻的节点。其原因是,图卷积操作已经聚合了来自前一个时间步和下一个时间步的信息。尽管我们裁剪了两个时间步长,但每个节点都包含局部的时空相关性。如果对多个stsgcm进行叠加,同时保留所有相邻时间步长的特征,模型中会存在大量的冗余信息,严重影响模型的性能。

综上所述,
STSGCM的输入是一个局部的时空图信号矩阵h(0)∈R3N×Cin。
经过多次图卷积运算后,每个图卷积运算的输出可以记为h(i)∈R3N×Cout,其中i为操作索引。
聚合操作将它们压缩成hAGG∈R3N×Cout。
然后裁剪操作保留中间时间步长的节点,生成STSGCM h ( final  ) ∈ R N × C out  h^{(\text {final })} \in \mathbb{R}^{N \times C_{\text {out }}} h(final )RN×Cout 的输出。

图1中的绿色箭头表示在局部时空图中节点与其两跳邻居之间的时空相关性。具有至少两个堆叠图卷积操作的STSGCMs可以直接建模图1中所示的三种不同类型的关联。

4.4 Spatial-Temporal Synchronous Graph Convolutional Layer 时空同步图卷积层
为了获取整个网络序列的长期时空相关性,我们使用滑动窗口来切割不同的时期。
由于时空数据的异质性,最好是使用多个STSGCMs来模拟不同的时段,而不是所有时段共用一个STSGCMs。
多个STSGCMs允许每个STSGCMs专注于在局部图中建模局部时空相关性。
我们将一组STSGCMs作为时空同步图卷积层(STSGCL)来提取长期时空特征,如图2所示。
在这里插入图片描述
我们将STSGCL的输入矩阵表示为X∈ R T × N × C \mathbb{R}^{T \times N \times C} RT×N×C
我们首先为每个STSGCL添加时空嵌入。
然后STSGCL中的滑动窗口将切出 T − 2 T−2 T2时空网络序列的输入。
每个时空网络序列可以表示为 X ′ ∈ R 3 × N ~ × C X^{\prime} \in \mathbb{R}^{3 \times \tilde{N} \times C} XR3×N~×C
我们重新塑造他们形 X reshape  ′ ∈ R 3 N × C X_{\text {reshape }}^{\prime} \in \mathbb{R}^{3 N \times C} Xreshape R3N×C
可以通过局部的时空图直接输入到STSGCM。
STSGCL在T - 2局部时空图上部署T - 2 STSGCMs,以捕获T - 2时空网络序列中的局部时空相关性。
然后,所有这些T - 2个stsgcm的输出被连接到一个矩阵作为STSGCL的输出。
可以表述为:
M = [ M 1 , M 2 , … , M T − 2 ] ∈ R ( T − 2 ) × N × C o u t M=\left[M_{1}, M_{2}, \ldots, M_{T-2}\right] \in \mathbb{R}^{(T-2) \times N \times C_{o u t}} M=[M1,M2,,MT2]R(T2)×N×Cout

M i ∈ R N × C o u t M_{i} \in \mathbb{R}^{N \times C_{o u t}} MiRN×Cout为第i个STSGCM的输出。

通过叠加多个stsgcl,我们可以建立一个能够捕获复杂时空相关性和时空异质性的层次模型。经过多次时空同步图卷积运算,每个节点都会包含以自身为中心的局部时空相关。

4.5 Extra Components额外组件

在本节中,我们将介绍STSGCN配备的一些额外组件,以增强其表示能力。

4.5.1 Mask matrix
对于STSGCN中的图卷积运算,邻接矩阵 A ′ A' A决定聚合的权重。

但是,每个节点对其邻居的影响程度不同。如果邻接矩阵只包含0和1,则可能会限制聚合。如果局部时空图中的两个节点是连通的,即使它们在某段时间没有关联,它们的特征也会被聚合。

为此,我们在STSGCN中加入了一个可学习的掩码矩阵 W m a s k W_{mask} Wmask来调整聚合权值,使聚合更加合理。

W mask  ∈ R 3 N × 3 N W_{\text {mask }} \in \mathbb{R}^{3 N \times 3 N} Wmask R3N×3N是掩码矩阵。
我们在 W m a s k Wmask Wmask和局部邻接矩阵 A ′ A' A之间做元素级乘积,生成一个权值调整的局部邻接矩阵:

A adjusted  ′ = W mask  ⊗ A ′ ∈ R 3 N × 3 N  .  A_{\text {adjusted }}^{\prime}=W_{\text {mask }} \otimes A^{\prime} \in \mathbb{R}^{3 N \times 3 N} \text { . } Aadjusted =Wmask AR3N×3N . 

然后,我们用 A adjusted  ′ A'_{\text {adjusted }} Aadjusted 在我们的模型中计算所有的图卷积。

Input layer 我们在网络的顶部添加一个全连通层,将输入转换为高维空间,从而提高网络的表示能力。
Output layer 我们设计了一个输出层,将最后一个STSGCL的输出转换为期望的预测。
该输出层的输入记为 X ∈ R T × N × C X \in \mathbb{R}^{T \times N \times C} XRT×N×C
我们先把它转置,然后重新塑造成 X ⊤ ∈ R N × T C X^{\top} \in \mathbb{R}^{N \times T C} XRN×TC。那么我们用 T ′ T' T两层全连接生成如下预测:

y ^ ( i ) = ReL ⁡ U ( X ⊤ W 1 ( i ) + b 1 ( i ) ) ⋅ W 2 ( i ) + b 2 ( i ) \hat{y}^{(i)}=\operatorname{ReL} U\left(X^{\top} W_{1}^{(i)}+b_{1}^{(i)}\right) \cdot W_{2}^{(i)}+b_{2}^{(i)} y^(i)=ReLU(XW1(i)+b1(i))W2(i)+b2(i)

其中
y ^ ( i ) \hat{y}^{(i)} y^(i)表示时间步长i的预测。
W 1 ( i ) ∈ R T C × C ′ , b 1 ( i ) ∈ R C ′ , W 2 ( i ) ∈ R C ′ × 1 , b 2 ( i ) ∈ R W_{1}^{(i)} \in\mathbb{R}^{T C \times C^{\prime}}, b_{1}^{(i)} \in \mathbb{R}^{C^{\prime}}, W_{2}^{(i)} \in \mathbb{R}^{C^{\prime} \times 1}, b_{2}^{(i)} \in \mathbb{R} W1(i)RTC×C,b1(i)RC,W2(i)RC×1,b2(i)R是可学习参数,
C ′ C' C表示第一个全连通层输出的特征数。
然后我们将每个时间步长的所有预测连接到一个矩阵中:

Y ^ = [ y ^ ( 1 ) , y ^ ( 2 ) , … , y ^ ( T ) ] ∈ R N × T ′ \hat{Y}=\left[\hat{y}^{(1)}, \hat{y}^{(2)}, \ldots, \hat{y}^{(T)}\right] \in \mathbb{R}^{N \times T^{\prime}} Y^=[y^(1),y^(2),,y^(T)]RN×T
Y ^ \hat{Y} Y^是整个STSGCN的输出。

Loss function 我们选择Huber loss (Huber 1992)作为损失函数。与平方误差损失相比,休伯损失对异常值的敏感性较低。

L ( Y , Y ^ ) = { 1 2 ( Y − Y ^ ) 2 ∣ Y − Y ^ ∣ ≤ δ δ ∣ Y − Y ^ ∣ − 1 2 δ 2  otherwise  L(Y, \hat{Y})=\left\{\begin{array}{ll}\frac{1}{2}(Y-\hat{Y})^{2} & |Y-\hat{Y}| \leq \delta \\\delta|Y-\hat{Y}|-\frac{1}{2} \delta^{2} & \text { otherwise }\end{array}\right. L(Y,Y^)={21(YY^)2δYY^21δ2YY^δ otherwise 

其中 Y Y Y表示地面真实, Y ^ \hat{Y} Y^表示模型的预测, δ δ δ是控制平方误差损失范围的阈值参数。

5 Experiments

我们在4个公路交通数据集上对STSGCN的性能进行了评价。这些数据来自Caltrans绩效测量系统(PeMS) (Chen et al. 2001)。
5.1 Datasets
我们分别构建了4个地区的4个不同数据集,即PEMS03、PEMS04、PEMS07和PEMS08。流量数据汇总为5分钟,这意味着每小时流量数据中有12个点。我们使用过去一小时的交通流量数据来预测未来一小时的流量。详细信息如表1所示。
在这里插入图片描述

根据实际路网构建各个数据集的空间网络。如果两个监测点在同一条道路上,则认为两个点在空间网络中是连通的。我们通过去除平均值和缩放到单位方差来标准化这些特征:
在这里插入图片描述
其中 m e a n ( X ) mean(X) mean(X) s t d ( X ) std(X) std(X)分别为历史时间序列的均值和标准差。

5.2 Baseline Methods
• V AR (Hamilton 1994): V ector Auto-Regression is an ad-vanced time series model, which can capture the pairwise relationships among time series.
• SVR (Drucker et al. 1997): Support V ector Regression uses a linear support vector machine for regression tasks.
• LSTM (Hochreiter and Schmidhuber 1997): Long ShortTerm Memory Network for time series prediction.
• DCRNN (Li et al. 2017): Diffusion Convolutional Recurrent Neural Network utilizes diffusion graph convolutional networks and seq2seq to encode spatial information and temporal information, respectively.
• STGCN (Y u, Yin, and Zhu 2018): Spatial-Temporal Graph Convolutional Network. STGCN uses ChebNet and 2D convolutional networks to capture spatial dependencies and temporal correlations, respectively.
• ASTGCN® (Guo et al. 2019a): Attention Based Spatial- Temporal Graph Convolutional Networks designs spatial attention and temporal attention mechanisms to model spatial and temporal dynamics, respectively. ASTGCN integrates three different components to model periodicity of highway traffic data. In order to ensure the fairness of comparison experiments, we only take its recent components.
• STG2Seq (Bai et al. 2019): Spatial-Temporal Graph to Sequence Model uses multiple gated graph convolutional module and seq2seq architecture with attention mechanisms to make multi-step prediction.
• Graph WaveNet (Wu et al. 2019): Graph WaveNet combines graph convolution with dilated casual convolution to capture spatial-temporal dependencies.

5.3 Experiment Settings
我们以6:2:2的比率将所有数据集分成训练集、验证集和测试集。我们使用一个小时的历史数据来预测下一个小时的数据,这意味着使用过去的12个连续时间步长来预测未来的12个连续时间步长。所有实验重复十次。
我们使用MXNet实现STSGCN模型(Chen et al. 2015)。超参数由模型在验证数据集上的性能决定。这4个数据集上的最佳模型由4个stsgcl组成,每个STSGCM包含3个图卷积运算,分别包含64、64、64个滤波器。

5.4 Experiment Results
表2显示了预测任务的不同方法的比较。

在这里插入图片描述

除PEMS07外,我们的STSGCN在三个数据集上的性能始终优于其他基线方法。在PEMS07中,我们的STSGCN具有最好的MAE和MAPE,但RMSE略大于DCRNN。
V AR、SVM和LSTM只考虑了时间相关性,不能利用时空网络的空间相关性。DCRNN、STGCN、ASTGCN®、STG2Seq和我们的STSGCN都利用了空间信息的优势,因此它们比仅用于时间序列预测的方法具有更好的性能。
DCRNN、STGCN、ASTGCN和Graph WaveNet分别使用两个模块对空间相关性和时间相关性进行建模。并利用一个模块来提取不同时段的长期时空相关性,忽略了时空网络数据的异质性。我们的方法考虑了局部的时空相关性,捕获了时空数据的异质性,因此我们的STSGCN比这些方法有更好的性能。

STG2Seq还打算同时对时空相关性进行建模。从表2可以看出,我们的STSGCN在这四个数据集上都有更好的性能。STG2Seq的局限性在于它只是将相邻周期的特征连接起来,而不是像我们的STSGCN那样将不同时间步长的节点视为不同的单独节点。这种方法在一定程度上忽略了时间信息和时空相关性。

5.5 Component Analysis
为了进一步研究STSGCN不同模块的作用,我们设计了六种不同的STSGCN模型。我们将这6个变量与PEMS03数据集上的STSGCN模型进行了比较。所有这些模型都包含四个stsgcl,每个STSGCM中都有[64,64,64]滤波器。这7种模型的区别如下:

  1. basic:该模型不配备时空嵌入和掩码矩阵。它使用ReLU作为激活函数。每个STSGCL只包含一个STSGCM,并且它在所有时间段共享这个模块。输出层与astgcn的输出层是相同的,它简单地使用一个包含12个过滤器的卷积层来产生预测。
  2. multi-module:该模型将基本模型中的stsgcl改为多模块版本
  3. GLU:该模型将多模块模型中的所有激活函数都改为GLU
  4. +emb:该模型根据GLU版本在每个STSGCL中添加时空嵌入
  5. +mask:该模型在+emb的基础上添加了mask矩阵
  6. shape-output:该模型使用两个完全连接的层来生成预期的预测
  7. STSGCN: STSGCN模型部署多个两级全连接层来生成每个时间步长的预测。
    在这里插入图片描述
    如图5所示,GLU的性能优于ReLU激活功能。原因是GLU的参数大小是ReLU的两倍,因此其更大的容量使其能够捕捉复杂的时空相关性。此外,它能比ReLU更灵活地控制输出。

在每个时间段配置单独的STSGCM模型的性能明显优于共享的STSGCM模型,说明了对时空网络数据异质性建模的必要性。

结果表明,时空嵌入可以明显提高STSGCN模型的性能。
在图卷积操作中,我们通过添加掩码矩阵来调整每个节点与其邻居之间的权值。可以在一定程度上提高预测效果。
用于生成预测的卷积层没有意义,因为它与空间图中的所有节点共享所有参数。由于时空数据的异质性,每个节点可能表现出不同的属性,因此使用不同的模块生成预测结果要优于使用一个卷积输出层。
因此,改造后的输出层和多输出版本可以进一步提高预测性能。

6 Conclusion

我们提出了一种既能有效捕获局部时空相关性又能考虑时空数据异质性的模型。在四个真实数据集上的大量实验表明,我们的模型优于现有的模型。此外,我们所提出的模型是时空网络数据预测的通用框架,因此可以应用于许多相关的应用中。代码和数据集已经在https://github.com/Davidham3/STSGCN上发布。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值