文章目录
Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting(时空同步卷积网络)
思想
以前都方法都是单独建立时间空间组件来捕获时空相关性,但是忽略了时空异质性(只是捕获了前两种结构的影响)
时空图中的每个节点都可以在同一时间步直接影响其相邻节点,并且这种影响是从实际的空间依赖性得出的。同时,由于时间序列中的时间相关性,每个节点也可以在下一时间步直接影响自己。此外,由于同步的时空相关性,每个节点都可以在下一时间步直接影响其邻居节点。
贡献:
- 提出了一种新颖的时空图卷积模块,以直接同步地捕获局部时空相关性,而不是分别使用不同类型的神经网络模块。
- 构造了一个多模块层以捕获远程时空图中的异质性。这个多模块层在每个时间段上部署多个模块,从而使每个模块可以专注于提取每个局部时空图上的时空相关性。(异质性,比如不同时间段住宅和商业区呈现出不同的模式)
问题定义:
- 空间网络图 G G G, G = ( V , E , A ) G=(V,E,A) G=(V,E,A),其中 V V V为顶点, E E E为连边, A A A为邻接矩阵
- 图信号矩阵 X G ( t ) ∈ R N × C X_G^{(t)}\in R^{N×C} XG(t)∈RN×C,C为特征数量,图信号矩阵代表在t时刻空间图的观测值
- 问题可以定义为找到一个映射 f f f,将历史时空图信号序列 ( X G ( t − T + 1 ) , X G ( t − T + 2 ) . . . X G ( t ) ) (X_G^{(t-T+1)},X_G^{(t-T+2)}...X_G^{(t)}) (XG(t−T+1),XG(t−T+2)...XG(t))映射到未来观测序列 ( X G ( t + 1 ) , X G ( t + 2 ) . . . X G ( t + T ′ ) ) (X_G^{(t+1)},X_G^{(t+2)}...X_G^{(t+{T}')}) (XG(t+1),XG(t+2)...XG(t+T′))
模型架构:
1)在上一个和下一个时间步骤将每个节点与其自身连接,以构建局部的时空图。 2)使用时空同步图卷积模块捕获局部时空相关性。
3)部署多个模块以对时空网络系列中的异构性进行建模。
局部时空图构造
通过在前一刻和下一刻将所有节点连接起来,我们可以获得局部的时空图。根据局部时空图的拓扑结构,可以直接捕获每个节点与其时空邻居之间的相关性。这里
A
(
t
1
)
A^{(t_1)}
A(t1)代表t1时刻的邻接矩阵,而
A
t
1
→
t
2
A^{t_1 \rightarrow t_2}
At1→t2代表相邻时间的连边
时空embedding
连接不同时间的节点会掩盖每个节点的时间属性,这里将位置嵌入到时空网络序列中,对于时空网络序列 X G ∈ R N × C × T X_G \in R^{N×C×T} XG∈RN×C×T,构造一个可学习的时间嵌入 T e m b ∈ R C × T T_{emb} \in R^{C×T} Temb∈RC×T和一个可学习的空间嵌入 S e m b ∈ R N ∗ C S_{emb} \in R^{N*C} Semb∈RN∗C,训练完成后两个嵌入矩阵包括了时间相关和空间信息。
将两个embedding和原来的时空网络序列相加得到新的网络序列表示
时空同步图卷积
建立了一个时空同步图卷积模块(STSGCM),以捕获局部时空相关性。 STSGCM由一组图卷积运算组成。图卷积运算可以聚合每个节点及其邻居的特征。在顶点域中定义图卷积运算,以聚合时空网络中的局部时空特征。图卷积运算的输入是局部时空图的图信号矩阵。图卷积运算中,每个节点在相邻的时间步长处汇总其自身及其邻居的特征。聚合函数是线性组合,其权重等于节点与其邻居之间的边缘的权重。然后,我们部署一个具有激活功能的全连接层,以将节点的特征转换为新的空间。该图卷积运算可表示为:
h
(
l
)
h^(l)
h(l)代表第l层图卷积的输出,对于一个有L层图卷积的STSGCM,每个图卷积的结果都会被送到聚合层,聚合层会压缩所有输出,聚合层有两步操作,聚合和裁剪。
- 聚合:采用最大池化,模块内卷积运算的kernel数目应该相等
- 剪裁:裁剪操作删除了上一个和下一个时间步的节点的所有特征,仅保留了中间时刻的节点。这样做的原因是图卷积运算已经汇总了上一个和下一个时间步骤中的信息。即使我们裁剪了两个时间步长,每个节点仍包含局部时空相关性。如果我们堆叠多个STSGCM,并保留所有相邻时间步的特征,则大量冗余信息将驻留在模型中,这可能严重损害模型的性能。
时空同步图卷积层
为了捕获整个网络系列的长期时空相关性,我们使用滑动窗口来切出不同的周期。由于时空数据的异质性,最好使用多个STSGCM建模不同的周期,而不是在所有周期共享一个。多个STSGCM允许每个人专注于对本地化图中的本地时空相关性进行建模。我们将一组STSGCM部署为SpatialTemporal同步图卷积层(STSGCL),以提取远程时空特征,如图2所示。
定义输入矩阵:
X
∈
R
T
×
N
×
C
X \in R^{T×N×C}
X∈RT×N×C,首先加入时空嵌入,然后使用滑动窗口将分为
T
−
2
T-2
T−2个时空网络序列,每个时空网络序列为
X
′
∈
R
3
×
N
×
C
{X}' \in R^{3×N×C}
X′∈R3×N×C,然后连同局部时空图送入STSGCM中,然后T-2个GCM的输出进行连接成一个矩阵
其中
M
i
∈
R
N
×
C
o
u
t
M_i \in R^{N×C_{out}}
Mi∈RN×Cout定义第i个STSGCM的输出
通过堆叠多个STSGCL,我们可以构建可以捕获复杂的时空相关性和时空异质性的分层模型。经过几次时空同步图卷积运算后,每个节点将包含以自身为中心的局部时空相关性。
其他组成部分
-
掩码矩阵 邻接矩阵 A ′ {A}' A′决定了聚合程度,然而,每个节点不同程度地影响邻居节点,如果邻接矩阵仅仅包含0和1,那么聚合可能会受到限制,如果在局部时空图中两个节点是相连的,那么即使在某个时期他们没有相关性,但是他们的特征也会聚合在一起,添加一个可学习的掩码矩阵 W m a s k W_{mask} Wmask来调整聚合权重,使得聚合更加合理。
W m a s k ∈ R 3 N × 3 N W_{mask}\in R^{3N×3N} Wmask∈R3N×3N,将其与局部邻接矩阵 A ′ {A}' A′进行元素级别的乘法,来生成一个权重调整局部邻接矩阵:
A a d j u s t e d ′ = W m a s k ⊗ A ′ ∈ R 3 N × 3 N {A}'_{adjusted}=W_{mask} \otimes {A}' \in R^{3N×3N} Aadjusted′=Wmask⊗A′∈R3N×3N
然后使用生成的 A a d j u s t e d ′ {A}'_{adjusted} Aadjusted′来计算所有的图卷积 -
输入层 加入一个全连接在最顶端将输入转化到高维空间,能够提升网络的表征能力
-
输出层 定义输出层将STSGCL的最后一层转化为想要的输出,输出层的输入定义为 X ∈ R T × N × C X \in R^{T×N×C} X∈RT×N×C,首先对其进行转置并reshape成 X T ∈ R N × T C X^T \in R^{N×TC} XT∈RN×TC,然后我们使用两层全连接来产生预测
这里
y
(
i
)
^
\hat{y^{(i)}}
y(i)^表示第i步的预测结果
将多个时间步连接起来作为最后的输出
- Loss Function
其中Y为groundtruth,
Y
^
\hat Y
Y^为模型预测,
δ
\delta
δ为阈值参数控制均方误差
实验
对比其他方法的性能
消融实验
消融实验证明每个结构都是有其作用的
critical thinking:
- 创新点:将时域空域进行连接,生成局部时空同步图来捕获节点间的时空关系和异质关系,
- 不同的局部时空图之间对于预测的权重没有考虑,因为不是每个局部时空图对于每个节点的预测权重都是相同的,通过直接concat是否错失了这种局部重要性关系,比如离预测时刻越近的局部时空对于决策的影响越大