1. 引言
交通预测是交通管理的重要部分,是实现合理、高效的交通规划的重要环节。准确、及时的交通预测不仅可以为城市交通管理者提供科学的管理依据和高效的管理办法,还可以为城市道路出行者提供便利的出行服务和愉悦的出行体验。然而,由于交通道路网络中存在复杂的空间、时间依赖性,准确、及时的交通预测一直是一项具有挑战性的任务。
交通路网错综复杂的结构导致一个路段的交通状况变化会影响整个路网的交通状况变化,即交通道路网络中存在复杂的空间依赖性。空间依赖性包括空间相关性和空间异质性,空间相关性是指由于路网中相邻路段之间的影响,相邻路段的交通要素往往会出现相似的变化趋势。空间异质性是指由于路网中不同路段的功能分区、人口密度和道路条件等的不同,不同路段的交通要素往往呈现出差异。图1呈现了交通路网中的空间依赖性,在一段时间内,交通量的变化由上游路段与中游路段相似变为上游路段与下游路段相似,这显示了交通路网中的空间相关性,同一时间不同路段的交通量不同,这显示了交通路网中的空间异质性。交通路网中,路段的交通状态会随时间变化而变化,即交通道路网络中存在时间依赖性。时间依赖性包括周期性、趋势性和随机性,周期性是指同一路段的交通要素在一段时间内相同时段会呈现出周期变化,例如,在早晚高峰时段交通流量会显著增加,在非高峰时段则相对较低。趋势性是指同一路段的交通要素随时间变化而变化。随机性是指突发事件(如交通事故、恶劣天气等)会导致短时间内交通路网中路段交通要素的急剧变化。图2呈现了交通路网中的时间依赖性,图2(a)中交通量在一周内的变化显示了周期性,图2(b)中交通量在一天内的变化显示了趋势性,图中短时间内急剧的交通量变化显示了随机性。
Figure 1. Spatial dependency map
图1. 空间依赖性图
(a)
(b)
Figure 2. Time dependency diagram. (a) Periodicity; (b) Trendiness
图2. 时间依赖性图。(a) 周期性;(b) 趋势性
现有的交通预测方法有很多,根据出现顺序大致可分为统计模型、机器学习模型和深度学习模型。
传统的交通预测方法主要是基于统计模型(如自回归差分移动平均(Autoregressive Integrated Moving Average, ARIMA) [1]、卡尔曼滤波[2])和浅层机器学习算法(如支持向量机(Support Vector Machine, SVM) [3]、随机森林(Randon Forest, RF) [4]),这些方法虽然在特定场景下表现稳定,但其局限性日益凸显,一方面,交通数据具有复杂的时空依赖性,传统方法难以有效捕捉交通道路网络的拓扑结构与动态交通模式之间的非线性关系;另一方面,交通系统受天气、突发事件、节假日等外部因素的影响,传统方法对多模态数据的融合能力不足[5]。近年来,深度学习算法的兴起为交通预测提供了新的思路,尤其是卷积神经网络(Convolutional Neural Networks, CNN) [6]和循环神经网络(Recurrent Neural Networks, RNN) [7]在提取空间特征和时间序列特征方面展现出优势。然而,CNN依赖欧氏空间下的规则网格划分,无法直接建模非欧式的交通道路网络结构;RNN则面临长程依赖建模困难和计算效率低下等问题[8]。
在上述背景下,图神经网络(Graph Neural Networks, GNN) [9]因其具有对非结构化数据的强大建模能力,逐渐成为交通预测领域的研究热点。图卷积神经网络(Graph Convolutional Network, GCN) [10]通过卷积操作聚合来自邻居的特征,然后对聚合的特征实行线性变换。然而,GCN需要整个图结构来进行训练,这消耗了大量的计算机内存。在这种情况下,基于注意力机制[11]的图注意力网络(Graph Attention Network, GAT) [12]被提出,GAT为每个节点分配不同权重,使得模型能够自动地关注与当前节点相关的重要邻居节点,有助于模型在交通预测中提取关键信息,从而提高预测准确性。但GAT采用注意力权重加权聚合,会消耗更多的计算和存储资源。
为了解决上述问题,我们将图卷积神经网络与门控递归单元相结合进行交通预测,并使用自有数据集验证模型性能,本文的主要工作包含以下三个方面:
第一,探究了交通流量、速度和密度之间的关系。依据格林希尔兹提出的关系式,通过速度数据得到了交通流量数据,为现有交通流量数据集的大众性和稀缺性提供了解决思路。
第二,本文采用基于图卷积网络和门控递归单元的模型,建模交通路网的时空依赖性。具体而言,图卷积网络可捕获道路网络的拓扑结构,建模空间依赖性;门控递归单元可捕获道路上交通数据的动态变化,用于建模时间依赖性。
第三,本文采用自有数据集来评估本文方法。实验结果表明,与传统方法相比,本文采用的方法将预测误差降低了约6.3%~97.73%,并证明了模型在交通预测方面的优越性。
2. 数据预处理
该数据集Los-loop来源于Zhao等[13]人公开发表的一篇论文,该数据是由环路探测器从洛杉矶县的高速公路实时收集的,包含了2012年3月1日至3月7日207个路段上传感器的交通速度,每5分钟汇总一次,数据集包括邻接矩阵和特征矩阵,邻接矩阵描述了传感器所在路段之间的连通关系,特征矩阵描述了传感器所在路段的交通要素特征(如交通流量、速度或密度),由于原始数据集中存在一些缺失值,已使用线性插值的方式进行了填充。
交通流量是指单位时间内通过道路的车辆数,速度通常指平均速度,密度是指单位路段上存在的车辆数。道路交通流的状态可以通过研究交通流的三要素来获取,交通流量q反映道路的交通流负荷程度,速度v反映道路能提供的服务水平,密度k反映车辆在道路上行驶的自由程度。交通流三要素的基本关系为:
当道路上车辆数量增多,也就是密度增大,速度就会降低。且基于交通流基本关系式,已知密度和速度,就可以计算出交通流量。格林希尔兹(B. D. Greenshields)提出了速度和密度之间的关系图,如图3所示:
Figure 3. Velocity-density relationship graph
图3. 速度密度关系图
其中,
为畅行速度,
为阻塞密度,
为临界速度,
为临界密度。速度与密度的关系式为:
同样,密度与速度的关系式为:
图3中线段上任意一点的横坐标、纵坐标与原点所围成的面积即为交通流量。根据
,可以得到:
交通流三要素间的流量速度关系图和流量密度关系图如图4所示:
(a) (b)
Figure 4. Relationship diagram of the three elements of traffic flow. (a) Flow-velocity relationship diagram; (b) Flow-density relationship diagrams
图4. 交通流三要素关系图。(a) 流量速度关系图;(b) 流量密度关系图
其中,
为最大交通流量,由图中可以看出,当交通流量和密度均较小时,速度可以达到最大值,即自由速度
,当密度增加,交通流量也随之增加,速度逐渐降低,直至达到临界速度
,密度也达到临界密度
,此时交通流量达到最大,即
,当密度继续增加,交通流量反而降低,速度也逐渐降低,直至达到最大密度形成阻塞,即阻塞密度
,此时道路中车辆停止行驶,速度和交通流量均为0。
交通流量计算公式中,畅行速度
为数据集中速度的最大值,阻塞密度
取120 veh/km。
格林希尔兹公式本身是一个简化模型,可能难以应对复杂交通状况,于是格林伯(Greenberg)提出了对数关系模型应对交通拥堵的情况,安德伍德(Underwood)提出了指数关系模型应对交通密度较小的情况。但如图5所示,由于本数据集交通速度主要集中于临界速度,无法很好地区分交通密度较小、正常及较大(即拥堵)路段,所以本文统一使用格林希尔兹公式,根据已有速度数据集和交通流量计算公式,计算得到交通流量数据集。
Figure 5. Scatterplot of traffic speed
图5. 交通速度散点图
3. 模型
在本研究中,交通预测的目标是根据道路上的历史交通信息预测一定时间段内的交通信息。在我们的方法中,交通信息是一个通用概念,可以是交通流量、速度或密度。本文我们以交通流量作为实验路段的交通信息。
3.1. 问题定义
我们将道路网络表示为图
,其中
表示道路网络内的一组
个节点(即记录点),
是一组表示节点之间连通性的边。
的邻接矩阵由
表示,如果
且
,则
等于1。因此,在任何时间步长
的交通状态可以被认为是一个图形信号
,其中
对交通参数的类型(例如,交通量、速度等)进行计数。在这项工作中,我们的目标是只预测一种类型的参数,即交通量(因此
)。给定记录数据
,可以训练模型
来预测道路网络
上未来
个时间步长
的交通量,如下所示:
式中,
为历史时间序列的长度,
为需要预测的时间序列的长度。
3.2. 模型整体架构
我们的模型包含图卷积网络和门控递归单元两个部分。如图6所示,我们首先使用历史N个时间序列数据作为输入,使用图卷积网络学习交通路网的拓扑结构,学习空间依赖性。其次,将学习的具有空间特征的时间序列输入到门控递归单元中,通过单元之间的信息传递学习时间特征,学习时间依赖性。最后,我们通过全连接层得到预测结果。
Figure 6. Overall structure of the model
图6. 模型整体结构图
3.3. 模型部分
3.3.1. 空间依赖性建模
交通数据具有图结构特性。一方面,交通路网本质上是图结构,而非图像中的规则网格。另一方面,交通路网中节点的相互作用可能随时间变化而变化。传统的卷积神经网络(CNN)无法很好地适应交通路网结构。一方面,CNN的卷积操作基于平移不变性,但交通路网中节点之间的领域是不规则的,强行将图数据转换为网格数据会破坏图数据本身的拓扑结构,导致信息损失。另一方面,CNN的浅层感受野难以捕捉道路网络中节点间的多跳依赖。而图卷积网络(GCN)在学习交通路网结构上具有优势。一方面,GCN通过邻接矩阵定义道路网络中节点之间的连通关系,通过聚合邻居节点的特征直接编码交通路网的拓扑结构,可以显式建模图结构。另一方面,GCN的权重在整张图上共享,能适应不同交通路网中节点的度数(节点邻居数),可以灵活共享参数。因此,本文选用GCN模型建模交通预测中的空间依赖性。
GCN模型通过在图上定义卷积操作,聚合节点及其邻居的特征信息,从而学习节点的特征表示,其公式为:
其中
是添加自连接的矩阵,
是单位矩阵,
是度矩阵,
,
是
层的输出,
包含该层的参数,
表示非线性模型的sigmoid函数。公式中的主要操作有邻居特征聚合、归一化、线性变换和非线性激活,其中,通过
聚合邻居节点的特征,通过
对聚合结果归一化,平衡节点度数的影响,避免梯度爆炸,通过
将特征映射到新的维度,通过
引入非线性表达能力并缓解梯度消失。
在本研究中,选择2层GCN模型来获得空间相关性,可以表示为:
其中
表示预处理步骤,
表示从输入到隐藏层的权重矩阵,M是特征矩阵的长度,H是隐藏单元的数量,
表示从隐藏层到输出的权重矩阵,
表示预测长度为T的输出,
代表线性整流函数,是现代深度神经网络中常用的激活函数。
总之,我们使用GCN模型从交通数据中学习空间特征。如图7所示,一节点与相连通的周围节点相连接,GCN模型可以得到一节点与其周围节点的拓扑关系,对路网拓扑结构和道路上的属性进行编码,从而学习到空间依赖性。
Figure 7. Topology of the traffic road network
图7. 交通路网拓扑结构
3.3.2. 时间依赖性建模
交通预测还要考虑时间特性,目前,递归神经网络(RNN)被广泛应用于处理时间序列数据,并产生了两个变体,分别是长短期记忆网络(LSTM)和门控递归单元(GRU)。LSTM由三个门控单元(遗忘门、输入门和输出门)和一个记忆单元组成。一方面,独立的记忆单元和隐藏状态适合建模极长期的时间依赖性。另一方面,精细地控制信息流动对复杂时间模式的捕捉能力更强。但是,一方面,参数量大,计算复杂度较高,训练速度较慢。另一方面,对噪声敏感,在较小的数据集上容易发生过拟合。GRU由两个门控单元(重置门和更新门)组成。一方面,模型结构得到了简化,参数较LSTM少了约三分之一,训练速度更快。另一方面,更新门直接控制历史信息保留比例,适合建模短期依赖和动态调整。因此,本文选用GRU模型建模交通预测中的时间依赖性。
如图8展示了GRU模型的结构,其中,
表示
时刻的隐藏状态,
表示t时刻的交通信息,
为复位门,用于控制忽略前一时刻状态信息的程度,
为更新门,用于控制前一时刻的状态信息进入当前状态的程度,
为t时刻的候选隐藏状态,结合了当前输入和部分历史信息,
是t时刻的输出状态,通过更新门
动态混合历史状态和候选隐藏状态。GRU以
时刻的隐藏状态和当前交通信息作为输入,得到t时刻的交通信息。
Figure 8. Structure of the gated recursive unit (GRU) model
图8. 门控递归单元(GRU)模型结构
3.3.3. 交通预测整体过程
为了同时从交通数据中捕获空间和时间依赖性,本文采用GCN建模空间依赖性,采用GRU建模时间依赖性。如图9所示,左侧为时空预测的整体过程,右侧为模型的具体结构。输入数据为当前时刻的交通信息和上一时刻的隐藏状态,当前时刻的交通信息经过GCN模型的处理后得到输出,经过处理的当前时刻的交通信息和上一时刻的隐藏状态作为输入,进入GRU模型,得到当前时刻的输出,即下一时刻的预测值。图中,
表示
时刻(上一时刻)的输出,
表示t时刻(当前时刻)的交通信息,
表示经过GCN处理的t时刻(当前时刻)的交通信息,GCN为图卷积过程,
、
为t时刻的更新门和重置门,
表示t时刻(当前时刻)的输出,即t + 1时刻(下一时刻)的预测值。
Figure 9. Map of the overall process of traffic forecasting
图9. 交通预测整体过程图
3.3.4. 损失函数
在训练过程中,目标是最小化道路上的真实交通流量与预测值之间的偏差。我们使用
和
分别表示实际交通流量和预测交通流量。模型的损失函数如下式所示。第一项用于最小化真实交通流量和预测值之间的误差。第二项
是有助于避免过拟合问题的L2正则化项,
是超参数。
4. 实验
4.1. 数据描述
为了评估本文模型的预测性能,本文采用自有数据集进行实验,使用交通流量作为预测信息。
Los-loop数据集是由环路探测器从洛杉矶县的高速公路实时收集的。数据集选取了2012年3月1日至3月7日的207个传感器及其交通速度,每5分钟汇总一次,依据格林希尔兹公式,得到交通流量数据集,作为自有数据集。数据集由邻接矩阵和特征矩阵组成。邻接矩阵的维度是207*207,描述道路之间的空间关系,由交通网络中传感器之间的距离计算。特征矩阵的维度是207*2016,描述每条道路上速度随时间的变化,每一行代表一条路,每一列是不同时间段道路上的交通流量。
在实验中,输入数据被归一化为[0, 1]区间。此外,80%的数据用作训练集,其余20%用作测试集。本文预测未来15分钟的交通流量。
4.2. 对比模型
我们将本文模型的性能与以下方法进行了比较:
(1) 历史平均模型(HA),该模型通过历史数据的平均值来预测未来交通状态。
(2) 自回归差分移动平均模型(ARIMA),该模型通过捕捉交通数据中的趋势性和线性依赖关系,对未来的交通流量进行预测。
(3) 图卷积网络模型(GCN),该模型通过邻接矩阵定义节点之间的连通关系,通过聚合邻居节点的特征直接编码交通路网的拓扑结构,以预测未来的交通数据。
(4) 门控循环单元模型(GRU),利用门控递归单元从交通数据中获得时间依赖性,以预测未来的交通数据。
4.3. 参数选择
本文模型的超参数主要包括:学习率、批量大小、训练轮数和隐藏单元数。实验中,本文设置学习率为0.001,批量大小为32,训练轮数为1000。隐藏单元数是本文模型的一个重要参数,因为不同的隐藏单元数可能会极大地影响预测精度。为了选取最佳值,本文用不同的隐藏单元进行实验,并通过比较预测误差和预测精度来选取最佳的隐藏单元数。
实验中,对于Los-loop数据集,本文从[2, 4, 8, 16, 32, 64, 128, 256]中选择隐藏单元的数量,并分析预测误差和预测精度的变化。如图9所示,横轴表示隐藏单元的数量,纵轴表示不同度量的变化。图10(a)显示了训练集中不同隐藏单元的MAE和RMSE的结果。可以看出,当数量为128时预测误差最小。图10(b)显示了不同隐藏单元的Accuracy、R2和var的变化。同样,当数量为128时,预测精度达到最大值。综上所述,当隐藏单元数设置为128时,预测结果最佳。当隐藏单元数继续增加时,预测误差开始增大,预测精度开始减小。这主要是因为当隐藏单元数大于一定程度时,模型复杂度和计算难度大大增加,结果在训练数据上发生过拟合。因此,在Los-loop数据集的实验中,我们将隐藏单元的数量设置为128。
(a)
(b)
Figure 10. Comparison of prediction performance for different number of hidden units. (a) Comparison of MAE and RMSE for different numbers of hidden units; (b) Comparison of R2, var, accuracy for different numbers of hidden units
图10. 不同隐藏单元数的预测性能比较。(a) 不同隐藏单元数的MAE、RMSE比较;(b) 不同隐藏单元数的R2、var、Accuracy比较
4.4. 实验结果及分析
表1显示了本文模型和其他传统模型在Los-loop数据集上执行15分钟预测任务的性能。*表示数值小到可以忽略不计,表明模型的预测效果较差。可以看出,本文的模型在几乎所有的评估指标下都获得了最佳的预测性能,证明了对于时空流量预测任务的有效性。
Table 1. Performance comparison between our model and traditional model on Los-loop dataset
表1. Our Model与传统模型在Los-loop数据集上的性能比较
数据集 |
评估指标 |
HA |
ARIMA |
GCN |
GRU |
Our Model |
Los-loop |
RMSE |
321.3915 |
451.363 |
8.6721 |
7.7735 |
7.2837 |
MAE |
213.5436 |
326.1757 |
6.1041 |
5.4705 |
4.9612 |
Accuracy |
0.7089 |
0.4967 |
0.8524 |
0.8617 |
0.876 |
R2 |
0.7011 |
* |
0.6092 |
0.6968 |
0.7246 |
var |
0.7012 |
* |
0.6094 |
0.6972 |
0.7254 |
通过实验发现,HA和ARIMA虽然计算时间较快,具有更高的计算效率,但预测误差过大,精度过低。GCN、GRU和本文模型虽然花费数小时的计算时间,但大大降低了预测误差,提高了预测精度。本文模型和GRU模型强调对时间特征建模的重要性,通常比其他基线(如HA和ARIMA)具有更好的预测精度。例如,对于15分钟流量预测任务,本文模型和GRU模型的RMSE误差较HA降低约97.73%和97.58%,精度较HA提高约23.57%和21.55%。本文模型和GRU模型的RMSE误差分别比ARIMA降低约98.39%和98.28%,精度分别提高约76.36%和73.49%。这主要是由于HA和ARIMA方法难以处理复杂的非平稳时间序列数据。GCN方法的预测效果较低是因为GCN只考虑了空间特征,忽略了交通数据是典型的时间序列数据。此外,作为一种成熟的交通预测方法,ARIMA的预测精度相对低于HA,主要是因为ARIMA难以处理长期和非平稳数据,并且ARIMA通过计算每个节点的误差并进行平均,如果某些数据出现波动,也会增加最终的总误差。
4.5. 消融实验
为了验证本文模型中各个组件的有效性,我们对Los-loop数据集进行了消融实验。表2显示了MAE、MAPE和RMSE的度量。“模型元素”表示每个配置。
Table 2. Ablation experiments with different configuration modules
表2. 不同配置模块的消融实验
数据集 |
模型元素 |
RMSE |
MAE |
Accuracy |
R2 |
var |
Los-loop |
Our Model |
7.2837 |
4.9612 |
0.876 |
0.7246 |
0.7254 |
GCN |
8.6721 |
6.1041 |
0.8524 |
0.6092 |
0.6094 |
GRU |
7.7735 |
5.4705 |
0.8617 |
0.6968 |
0.6972 |
可以得出以下结论:对于GCN部分,本文模型的RMSE低于仅考虑时间特征的GRU模型,表明GCN对捕捉空间特征的有效性。对于GRU部分,本文模型的RMSE低于仅考虑空间特征的GCN模型,表明GRU对捕获时间特征的有效性。
5. 总结
本文采用了一种基于图神经网络的交通预测方法,它结合了GCN和GRU。首先,本文依据格林希尔兹提出的交通流三要素间的关系得到交通流量数据,并在自有数据集上进行实验。其次,本文使用图结构对交通路网进行建模,其中图上的节点表示道路,边表示道路之间的连接关系,道路上的交通信息被描述为图上节点的属性。图卷积网络可捕获道路网络的拓扑结构,建模空间依赖性;门控递归单元可捕获道路上交通数据的动态变化,建模时间依赖性。最后,本文采用自有数据集来评估所提方法,实验结果表明,与传统方法相比,本文采用的方法将预测误差降低了约6.3%~97.73%,并证明了模型在交通预测方面的优越性。同时也可以应用于其他时空预测任务。
致 谢
感谢甘肃省科技计划项目(24YFFA055, 22JR5RA797),甘肃省云计算重点实验室开放课题(2023KFKT-005)与甘肃省重点人才项目(“东数西算”场景下的后量子数据加密传输机制研究)的资助。感谢甘肃省计算中心提供的计算资源和技术支持。本研究中的大量计算工作均在该中心进行,这对于本论文的顺利完成起到了至关重要的作用。
NOTES
*通讯作者。