Temporal Multi-Graph Convolutional Network for Traffic Flow Prediction
1. 文章概述
作者认为距离较远的道路之间更多的语义成对关联对于交通流预测也是至关重要的,为了联合建模道路网络中具有各种全局特征的空间、时间、语义相关性,提出了一种深度学习的交通流预测框架——时间多图卷积网络。本文主要工作如下:
- 根据不同语义关联构建了多个图
- 使用循环神经网络建模时间关联
- 全连接层融合时空关联和全局特征
三种依赖关系:
- 空间相关性:相邻路段对道路未来状态的影响
- 时间相关性:相邻时间段和周期性时间对当前和未来状态的影响
- 语义相关性:具有相同模式的道路(如:不同商业区附近的道路,住宅区附近的道路)
文章主要贡献:
-
识别道路之间的两种语义相关性:历史交通模式相关性和局部区域功能相似性,并进行构图并分别进行图卷积
-
我们识别各种全局特征(即时间特征、周期性特征和事件特征),通过堆叠GRU捕捉时间依赖性。
-
在两个真实数据集上进行实验
2.Method
2.1 Input Layer
输入数据为一个 N × W N\times W N×W的矩阵其中N代表节点个数,W是时间序列的长度,使用滑动窗口将数据风格成K个片段形成最终输入
2.2 Convolutional Layer
卷积层主要由两部分构成:图的构建,图卷积
2.2.1 Graph Construction:本文从不同的角度为构建了四个道路图
Topological graph G r G_r Gr :该部分的权重 W r ( i , j ) W_r(i,j) Wr(i,j)为从道路 v i v_i vi 到道路 v j v_j vj 至少要经过的跳数的倒数。
Weighted topological graph
G
w
G_w
Gw :拓扑图只考虑道路中间链接数,但是这些链接的长度也可能影响道路的相关性该部分权重
W
w
W_w
Ww计算公式如下:
w
w
(
i
,
j
)
=
median
{
len
(
v
k
)
∣
v
k
∈
V
}
len(the shortest path from
v
i
to
v
j
)
w_{w}(i, j)=\frac{\text { median }\left\{\operatorname{len}\left(v_{k}\right) \mid v_{k} \in V\right\}}{\text { len(the shortest path from } \left.v_{i} \text { to } v_{j}\right)}
ww(i,j)= len(the shortest path from vi to vj) median {len(vk)∣vk∈V}
其中
l
e
n
(
v
k
)
len(v_k)
len(vk)代表路段
v
k
v_k
vk 的长度
Traffic pattern graph G p G_p Gp :通过直接测量每条道路对的历史交通状况模式的相似性来利用道路间相关性
首先,使用使用每个节点平均历史每周交通状况作为其交通模式,然后使用DTW算法计算相似性,最后的
w
p
(
i
,
j
)
w_p(i,j)
wp(i,j) 表示如下:
w
p
(
i
,
j
)
=
e
−
α
×
d
t
w
(
i
,
j
)
w_{p}(i, j)=e^{-\alpha \times d t w(i, j)}
wp(i,j)=e−α×dtw(i,j)
Functionality graph
G
f
G_f
Gf: 该部分使用兴趣点构图,计算公式如下:
p
v
i
[
j
]
=
m
j
i
m
i
×
log
M
M
j
\mathbf{p} \mathbf{v}_{i}[j]=\frac{m_{j}^{i}}{m^{i}} \times \log \frac{M}{M_{j}}
pvi[j]=mimji×logMjM
其中
p
v
i
[
j
]
pv_i[j]
pvi[j] 代表节点
v
i
v_i
vi 周围POI类别
j
j
j 的密度,
m
i
j
m_i^j
mij 表示节点
v
i
v_i
vi 周围POI类别为
j
j
j 的数量
2.2.2 Multi-Graph Convolutional Networks
使用图卷积对四个类型的图分别进行图卷积,公式如下:
H
(
l
+
1
)
=
Re
L
U
(
D
~
−
1
2
X
~
D
~
−
1
2
H
(
l
)
W
(
l
)
)
\mathbf{H}^{(l+1)}=\operatorname{Re} L U\left(\tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{X}} \tilde{D}^{-\frac{1}{2}} \mathbf{H}^{(l)} \mathbf{W}^{(l)}\right)
H(l+1)=ReLU(D~−21X~D~−21H(l)W(l))
这边得到四个特征矩阵:
H
r
,
H
w
,
H
p
,
H
f
H_r,H_w,H_p,H_f
Hr,Hw,Hp,Hf ,将四个特征矩阵进行融合得到该层的最终输出,操作如下:
W
r
′
,
W
w
′
,
W
p
′
,
W
f
′
=
s
o
f
t
m
a
x
(
W
r
,
W
w
,
W
p
,
W
f
)
Y
=
W
r
′
H
r
+
W
w
′
H
w
+
W
p
′
H
p
+
W
f
′
H
f
W_{r}^{\prime}, W_{w}^{\prime}, W_{p}^{\prime}, W_{f}^{\prime}={softmax}(W_{r}, W_{w}, W_{p}, W_{f}) \\ {Y}= W_{r}^{\prime}{H}_{r}+W_{w}^{\prime} {H}_{w}+W_{p}^{\prime} {H}_{p} +W_{f}^{\prime} {H}_{f}
Wr′,Ww′,Wp′,Wf′=softmax(Wr,Ww,Wp,Wf)Y=Wr′Hr+Ww′Hw+Wp′Hp+Wf′Hf
2.3 Recurrent Layer
本文堆叠两层的GRU结构,这是增加模型容量的有效方法。我们将GRU层间的dropout应用于正则化。
2.4 Output Layer
提取三种全局特征:Time Feature、Periodicity Feature、Event Feature,选择性的与GRU的输出进行拼接,最后输入一个全连接层得到模型最后的输出。