交通预见未来(24): T-GCN-时间图卷积网络用于交通预测
《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》。
中南大学 地球科学与信息物理学院 2019年发在IEEE Transactions on Intelligent Transportation Systems上的一篇文章。
为了同时捕获空间和时间依赖关系,文章提出了一种基于神经网络的交通预测方法—时间图卷积网络(T-GCN)模型,该模型结合了图卷积网络(GCN)和门控递归单元(GRU)。GCN用于学习复杂的拓扑结构来捕获空间依赖关系,GRU用于学习交通数据的动态变化来捕获时间依赖关系。T-GCN模型应用于基于城市路网的交通预测。实验表明T-GCN模型预测结果优于基准模型。
提出了一种新的基于城市道路网络的交通预测方法—时间图卷积网络(T-GCN)。主要贡献如下:
(1)T-GCN模型集成了图卷积网络和门控递归单元。利用图卷积网络捕获路网拓扑结构,对路网的空间依赖性进行建模。利用门控递归单元捕获道路交通数据的动态变化,对时间依赖性进行建模。T-GCN模型也可应用于其它时空预测任.务。
(2)T-GCN模型的预测结果表明,在不同的预测水平下,T-GCN模型处于稳定状态,这说明T-GCN模型不仅可以实现短期预测,还可以用于长期的交通预测任务(15分钟30分钟45分钟60分钟)。
(3)我们使用两个真实的交通数据集来评估我们的方法。结果表明,与所有基线方法相比,该方法的预测误差降低了约1.5%-57.8%,证明了T-GCN模型在交通预测方面的优越性
本文的其余部分组织如下。第二部分回顾了交通预测的相关研究。第三部分详细介绍了我们的方法。在第四部分,我们评估了T-GCN的预测性能,包括模型参数设计、预测结果分析、扰动分析和模型解释。我们在第五部分对本文进行了总结。
在本研究中,交通预测的目标是基于道路上的历史交通信息,预测一定时期内的交通信息。在我们的方法中,交通信息是一个一般概念,可以是交通速度、交通流量或交通密度。为保证一般性,我们在实验部分以交通速度作为交通信息的一个例子。
道路网络为G,我们使用未加权图G = (V, E)来描述道路网的拓扑结构,每个道路作为一个节点, V是道路节点集合,V = {v1、v2,···, V N}, N是节点的数量,E代表边集合。邻接矩阵A表示道路之间的连接,A∈R(N×N)。邻接矩阵只包含0和1的元素。
特征矩阵X∈R (N×P)。道路上的交通信息网络是网络中节点的属性特征, P代表节点属性的数量特征(历史时间序列的长度),Xt∈R(N×i)我用于表示每条道路的速度。同样,节点属性特性可以是任何交通信息,比如交通速度、交通流和交通密度
因此,时空交通预测问题可以认为是在路网拓扑G和特征矩阵X的前提下学习映射函数f,然后计算未来T时刻的交通信息,如式1所示:
T-GCN模型由图卷积网络和门控递归单元两部分组成。如图3所示,我们首先使用历史n时间序列数据作为输入,利用图卷积网络捕获城市路网拓扑结构,获得空间特征。其次,将得到的具有空间特征的时间序列输入门控递归单元模型,通过单元间的信息传递获得动态变化,捕捉时间特征。最后,通过全连通层得到结果。
1)Spatial Dependence Modeling
城市道路网络不是二维网格,而是图的形式,这意味着CNN模型不能反映城市道路网络复杂的拓扑结构因此不能准确地捕捉空间依赖关系。
给定一个邻接矩阵A和特征矩阵X, GCN模型在傅里叶域中构造一个过滤器。该滤波器作用于图的节点上,通过它的一阶邻域捕获节点之间的空间特征,然后通过叠加多个卷积层来构建GCN模型,可以表示为:
本研究选择2层GCN模型捕捉空间依赖关系,可以表示为:
综上所述,我们使用GCN模型从交通数据中学习空间特征。如图4所示,假设节点1为中心道路,GCN模型可以得到中心道路与其周围道路之间的拓扑关系,对路网拓扑结构和道路属性进行编码,得到空间依赖关系。
2)Temporal Dependence Modeling
然而,由于LSTM结构复杂,训练时间较长,而GRU模型结构相对简单,参数较少,训练能力较快。因此,我们选择了利用GRU模型从交通数据中获取时间相关性。其结构如下图。
3)Temporal Graph Convolutional Network
如图6所示,左边是时空预测的过程,右侧的是T-GCN cell的特定结构, ht−1表示t – 1时刻的输出, GC是图卷积过程, ut 和 rt是t时刻的更新门和重置门, ht表示t时刻的输出。(简单来说就是叠加了两个GCN层和一个GRU层)
4)loss function
加入了L2正则化防止过拟合。
在本节中,我们评估了T-GCN模型在两个实际数据集上的预测性能:SZ-taxi数据集和Los-loop数据集。因为这两个数据集都与交通速度有关。不失一般性,在实验部分,我们使用交通速度作为交通信息。
1)SZ-taxi。该数据集由深圳2015年1月1日至1月31日的出租车轨迹数据组成,本文选取罗湖区156条主要道路作为研究区域。实验数据主要包括两部分。一个是156*156的邻接矩阵,它描述了道路之间的空间关系。每一行表示一条道路,矩阵中的值表示道路之间的连接性。另一个是特征矩阵,它描述了每条道路上的速度随时间的变化。每一行代表一条路,每一列是不同时段道路上的交通速度。我们每15分钟计算一次每条路上的车速。
2)Los-loop。该数据集是通过环形探测器在洛杉矶高速公路上实时采集的。我们选择了207个传感器和它从2012年3月1日到3月7日的交通速度。每5分钟计算一次交通速度。类似的,数据由一个邻接矩阵和一个特征矩阵组成。利用交通网络中传感器之间的距离计算邻接矩阵。由于数据集包含一些缺失的数据,我们使用线性插值方法来填充缺失的值。
实验中,输入数据归一化为区间[0,1]。另外,80%的数据作为训练集,剩下的20%作为测试集。我们预测未来15分钟,30分钟,45分钟和60分钟的交通速度。
文章竟然选了5个评价指标,也是不怕麻烦~
其中,RMSE和MAE用于测量预测误差,数值越小,预测效果越好。Accuracy用于检测预测精度,数值越大,预测效果越好。R2和var计算相关系数,衡量预测结果代表实际数据的能力,值越大,预测效果越好。
T-GCN模型的超参数主要包括:学习速度、批量大小、训练时间和隐藏单元数。在实验中,我们手动调整并设置学习率为0.001,批量大小为32,训练时间为5000,隐藏单元数是T-GCN模型的一个非常重要的参数,不同的隐藏单元数对预测精度有很大的影响。为了选择最优值,我们对不同的隐藏单元进行了实验,并通过比较预测结果来选择最优值。在我们的实验中,对于SZ-taxi数据集,我们从[8,16,32,64,100,128]中选择隐藏单元的个数,分析预测精度的变化。根据实验结果我们对SZ-taxi数据集设置了100个隐藏单元。采用同样的方法对Los-loop数据集设置了64隐藏单元。
另外,使用Adam优化器训练T-GCN模型。
这篇文章的预测结果给的比较客观,五个指标中,并非所有情况下提出的模型都是最好的,而是在大多数情况下是最好的比较符合实际。(∗表示值小到可以忽略不计)。
(5)模型解释
为了更好的理解T-GCN模型,我们在SZ-taxi数据集中选择了一条道路,并将测试集的预测结果可视化。以15分钟为例。
1)T-GCN模型对局部极小值/极大值的预测较差。我们推测主要原因是GCN模型在傅里叶域中定义了一个平滑滤波器,并通过不断移动滤波器来捕捉空间特征。这一过程导致了整体预测结果的微小变化,使得峰值更加平滑。
2)实际交通信息与“零出租车值”的预测结果存在一定的误差。“零出租车值”是指由于道路上没有出租车,使得真实值不为零的交通特征矩阵为零的现象。
3)无论预测时长范围如何,T-GCN模型总能取得较好的预测结果。T-GCN模型可以捕获道路交通信息的时空特征,得出了道路交通信息的变化趋势。此外,T-GCN模型检测到交通高峰期的开始和结束时间,并与实际交通速度做出相似的预测结果。这些性质有助于预测交通拥挤和其他交通现象。
如果你和我一样是轨道交通、道路交通、城市规划相关领域的,可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!