基于Graph Transformer 的大规模路网交通流量预测

2023-11-22 08:17董成祥张坤鹏汪永超
工业工程 2023年5期
关键词:交通流量交通流路网

董成祥,魏 昕,张坤鹏,汪永超

(1.广东工业大学 机电工程学院,广东 广州,510006;2.河南工业大学 电气工程学院,河南 郑州,450001;3.广州番禺职业技术学院 智能制造学院,广东 广州,511483)

对于大规模路网,准确的交通流量预测能够为出行者提供有效的出行参考,为城市管理者提供制定政策的依据。然而,相较于路段或者局部区域的交通流量预测,大规模路网的交通流量预测因其更加复杂和动态的时空特征而充满挑战。目前,国内外研究者对交通流量的预测方法主要可分为3 类:参数建模方法、机器学习方法和深度学习方法[1]。

对于参数化建模技术,交通流量预测问题可被近似看作时间序列预测问题。因此,可以使用统计学原理模型进行建模。其中,卡尔曼滤波 (Kalman filters, KF) 和自回归积分滑动平均 (auto-regressive integrated moving average, ARIMA) 是最常用的参数化建模技术。Guo 等[2]运用KF 对交通流的过程方差进行实时建模。Williams 等[3]采用ARIMA 对交通数据进行建模,实现交通流的准确预测。此外,Kumar 等[4]采用有限的交通数据,建立基于ARIMA的交通流预测模型。Xie 等[5]通过组合小波离散变化(discrete wavelet transform, DWT) 和卡尔曼滤波建立交通流量预测模型。然而,这些统计学理论的参数化建模技术是基于交通流的均值和方差始终不变的假设,不能够准确地描述交通流的随机性和非线性特征[6]。

与参数化建模技术相比,机器学习能够在交通流预测中表现出更好的性能。最常用的机器学习方法包括支持向量机 (support vector machine, SVM) ,k最近邻 (k-nearest neighbors,k-NN) 和人工神经网络(artificial neural network, ANN)。Yu 等[7]运用k-NN 建立交通流量短期预测模型。Yang 等[8]采用SVM 实现交通流量的短期预测。Sharma 等[9]利用反向传播ANN 预测混合交通条件下的双车道不分叉公路的交通流量。然而,这些机器学习方法受限于简单的自身结构,往往不能有效地捕捉路网层面上交通流量的时空特征。

近年来,随着计算机计算能力的不断提高和不断丰富的数据源,深度学习技术已经成功地应用于交通预测领域。它能够捕获复杂、动态的交通流量的时间和空间特征。为了挖掘交通流的时间特征,循环神经网络 (recurrent neural network, RNN) 及其变体 (long short-term memory, LSTM;gated recurrent unit, GRU) 被广泛应用。Yang 等[10]利用LSTM 建立交通流预测模型,并且在注意力机制的帮助下实现捕捉较长序列交通流的时间特征。Dai 等[11]基于GRU 提出交通流短期预测模型。尽管这些基于RNN 的模型能够有效地捕捉历史交通流数据的时间特征,但是他们往往忽视了路网层面的空间特征。

为了考虑路网层面的空间特征,基于卷积神经网络 (convolutional neural network, CNN) 的深度学习模型被广泛应用在交通预测中。例如,Chen 等[12]建立一个多时空三维CNN 结构模型 (multiple spatialtemporal three-dimensional CNNs, MST3D) 挖掘交通数据的时空特征。Zheng 等[13]基于CNN 建立一个深度嵌入的学习模型,该模型能够从细粒度的交通信息中捕捉时空特征。此外,为了在路网层面充分考虑交通流的时间和空间特征,研究者经常将CNN和RNN 模型结合起来运用。例如,Cheng 等[14]通过将CNN 和RNN 结合起来从交通信息中捕获时空特征。Du 等[15]提出一种用于交通流预测的混合多模态深度学习方法,其中采用CNN 捕捉空间特征,并采用具有注意力机制的GRU 单元捕捉时间特征。然而,这些基于CNN 的深度学习方法只适用于具有标准网格结构的数据,对于复杂的拓扑结构的路网并不适用[16]。

最近,以图卷积神经网络 (graph convolutional network, GCN) 为代表的深度学习方法在解决具有拓扑网络结构的问题中表现出强大的能力[17]。在交通领域,研究者采用GCN 模型挖掘路网的空间特征。例如,Zhao 等[18]采用GCN 挖掘路网的空间特征。Wu 等[19]提出一个图形波浪网络模型 (graph waveNet) ,该模型能够挖掘交通数据中隐藏的空间特征。此外,为了同时获取时间特征,GCN 与RNN 的混合网络结构能够同时获取路网的时空特征。例如,Li等[20]通过将GCN 和LSTM 组合在一起,实现了同时获取路网的时间与空间特征。基于GRU 和GCN,Wang 等[16]构建时空图卷积网络 (spatiotemporal graph convolutional network, ST-GCN),实现更准确的交通流量预测。然而,尽管这些基于GNN 的模型可以通过与RNN (即LSTM 和GRU) 结合来捕获时间特征,但由于梯度消失和爆炸问题的限制,它们不足以捕获交通流量长期的时间特征[21-22]。

为了解决上述问题,本文提出基于Graph Transformer 的大规模路网的交通流预测模型。在多头注意力的帮助下,Transformer 能够有效地学习交通流的长期时间依赖特征,通过组合GRU、GNN 和Transformer,建立一个端到端的深度学习框架,实现大规模路网的多预测范围的交通流量预测。

1 问题定义

交通流量预测的本质是根据历史交通流量预测未来的交通流量。因此,预测模型的输入是大规模路的历史交通流数据,可定义矩阵X为

矩阵X作为模型的输入,模型的预测值可用矩阵Yˆ 表示,其表达式为

式 (2) 所对应的交通流量真实值可用矩阵Y表示。

2 交通流量预测模型建立

2.1 模型流程图

预测模型的流程图如图1 所示。首先,从源数据中提取路网的历史交通流数据和路网的物理结构,并将路网中各个传感器的历史交通流数据和它们在路网中的相互关系表示为交通图G=(V,E) 。其中,V表示节点 (即传感器) 的特征集合;E表示相互联系的节点之间的边的集合。由于从源数据中提取的历史交通流量的量纲不同,为了提高预测模型的稳定性,需对历史交通流数据进行归一化处理,本文采用最小-最大归一化方法 (min-max normalization method:x=(x-min)/(max-min) ),通过归一化处理,交通流数据的大小范围在[0,1]之间。交通图作为预测模型的输入,可被划分为3 个部分:70%作为训练集,10%作为验证集,余下的20%作为测试集。其中,训练集和验证集被用来训练和验证模型,测试集被用来预测交通流量。

图1 模型流程图Figure 1 The flow chart of the proposed model

2.2 模型结构图

图2 是预测模型的结构示意图。由于未来交通流量与历史交通流量在时间上最具相关性,因此,从源数据中提取的历史交通流数据首先经过GRU单元处理,充分挖掘路网中历史交通流量的时间特征。然后,由经过GRU 处理的交通流特征和路网的物理结构组成的边所构建的交通图作为Graph Transformer 模块的输入,并经过激活函数Leaky-ReLU,再次传递给Graph Transformer 模块,目的是充分挖掘交通图的时空特征。其输出经过一个批量标准化层处理,以提高模型的稳定性。经过处理的特征传给Transformer 编码器模块再次进行时空特征的挖掘,最后经过两个全连接层处理,实现大规模路网的交通流预测。

图2 模型框架Figure 2 The framework of the proposed model

2.2.1 GRU 模块

未来交通流与历史交通流在时间上具有极大的相关性,为了发掘历史交通流的时间特征,GRU 单元被用来处理路网中的历史交通流信息,其内部结构示意图如图3 所示。

图3 GRU 单元内部结构示意图Figure 3 The inner structure of a GRU unit

GRU 单元的当前输入包含两部分:当前的输入it,前一个节点的隐层状态ht-1。当前时间的输入经过GRU 单元处理后,输出当前节点的隐层状态ht和当前节点的状态Ot。GRU 单元的关键数学表达式如 (4) ~ (7)所示。

其 中,rt是 重 置 门,由it和ht-1决 定;zt是 更 新门;hˆt表示隐藏门;W*(Whr,Wir,Whz,Wiz,Ws,Wi)和b*(br,bz,bs) 分 别 是 可 被 模 型 学 习 的 权 重 和 偏差; σ 是激活函数;符号“ ⊙ ”表示矩阵运算 (hadamard product)。

2.2.2 交通图

由GRU 模块处理的历史交通流特征和节点在路网中的连接关系共同组成的交通图G={V,E} 构成了Graph Transformed 模块的输入。然而,交通图可分为无向图、有向图及带自循环的无向图3 种类型。现实中一条道路的交通流会同时影响路段上游和下游的交通流量,且节点自身的交通流对预测未来交通流最具参考价值。因此,本文选取带节点自循环的无向图作为模型的输入。如图4 所示,以传感 器s1、s2和s3为 例,节 点s1、s2和s3中 包 含 了 历 史交通流数据特征,三者之间的连接关系可用一个二维矩阵表示。

图4 交通图Figure 4 The traffic graph

具体来说,输入到Graph Transformer 模块的节点集V的维度为 (B,N,T,F) ,其中,B为输入到模块的数据批量大小;N为路网中安装的传感器总数量;T为历史观测时间;F为交通流的特征数。由图4 可知,边E的维度为 (2,M),其中,数字2 代表两个相互连接的节点;M表示交通图中边的数量。

2.2.3 Graph Transformer 模块

作为预测模型的关键组成部分,Graph Transformer 模块被用来挖掘交通图的时空特征。多头注意力在Graph Transformer 中被用来执行交通图中的边特征学习,如图5 所示。其原理如下。

图5 Graph Transformer 的内部结构示意图Figure 5 The inner structure of Graph Transformer

所示。

其中, || 表示C 头注意力的连接操作。多头注意力矩阵取代了GCN 的原始归一化邻接矩阵作为信息传递的过渡矩阵。特征fj被转换为vc,j∈Rd的加权和。与GAT 类似,如果采用图形变换器作为最后一个输出层,多头输出被平均化,非线性变换被去除,如式(14)、(15)所示。

2.2.4 Transformer Encoder 模块及输出

如图2 所示,经过批量标准化层处理的隐层特征,作为Transformer Encoder 模块的输入进行更深层次的时空特征挖掘。在该模块中,多头注意力作为重要组成部分被用来挖掘交通图中的边特征的时空特征。由Transformer Encoder 输出的隐层特征被引入到两个线性连接层,其中,两个线性连接层之间采用LeakyReLU 函数作为激活函数。最后的线性连接层的输出即为模型的预测值,其维度为(B,N,L,F)。其中,B为模型输出的批量大小;N是传感器数量;L是模型预测的时间范围;F是交通流特征。

3 实验与分析

3.1 数据集

为了验证所建立模型的性能,选择加州交通局性能测量系统 (Caltrans' performance measurement system, PeMS) 数据集。该数据集包含了部署在加州高速公路系统中的15 000 个独立探测器的实时交通数据。如图6 所示,白色节点代表部署在高速公路系统中的数据收集传感器。它包含了1 906 个交通测量传感器在2018 年的251 d 内的交通流量,每隔5 min 汇总交通流量作为一个时间间隔内的交通流量。该数据集被分为3 部分:70%的数据被作为训练数据集;10%作为验证数据集;其余20%为测试数据集。

图6 研究区域Figure 6 The studied area

3.2 评估标准与实验条件

为了定量地评估模型的预测精度,引入3 个常用误差评价指标:均方根误差 (root mean square error,RMSE) 、平均绝对误差 (mean absolute error, MAE)和平均绝对百分比误差 (mean absolute percentage error, MAPE),表达式分别为

在进行模型训练时,需要对模型的超参数进行设置。模型的学习率设置为lr=0.000 1 ,训练批次大小设置为B=64 。对于Transformer 模块中的多头注意力的头数均设置为2,随机失活率设置为dropout =0.3。在训练过程中,选取MSE (mean squared error)作为模型训练的损失函数,选取Adam 作为优化器。

为了保证实验的公正比较,本研究中所进行的数值实验均在同一台工作站中开展,其主要配置包含一颗Core i5-11400F 中央处理器,32 GB 内存和NVIDIA GeForce RTX 3060 图形处理器。利用包括Scikit-learn 和Pytorch 在内的Python 库来开发上述模型。

3.3 模型预测性能对比分析

本节引入6 种模型与所建立的预测模型进行对比,所有的对比实验均在PeMS 数据集上进行。

1)k-NN:k-NN 是一种非参数数据驱动的分类和回归方法。它可以计算当前交通模式与k个历史交通模式的相似度。本节中运用k-NN 进行交通流预测,其中选取k=5 。

2) SVM:SVM 是一种有监督机器学习方法,被广泛应用于图像分类、交通预测等领域。根据结构风险最小化原则,SVM 可以处理非线性和高维的问题和凸二次规划。本节中采用SVM 预测交通流量,受模型自身结构限制而不考虑节点间的连接关系。

3) LSTM:LSTM 是一种改进后的循环神经网络,它能够避免RNN 模型在处理长期依赖问题中普遍存在的梯度消失或爆炸问题。它能够有效地捕捉时间序列问题的时间特征,本节引入LSTM 作为对比模型,预测交通流量问题。其中,设置训练批次大小B= 64;历史观测时间T= 10;学习率取0.000 1。

4) GRU:GRU 是LSTM 的一种变体,它拥有比LSTM 更简单的结构,更少的参数,实现的功能类似。本节引入GRU 作为对比模型,预测交通流量问题,模型的超参数设置与LSTM 保持一致。

5) GAT-ConvGRU:它将GAT 模块和ConvGRU模块集成,成功应用于预测多区域、多步长的乘客打车需求预测[23]。本文选取该模型进行大规模路网的交通流预测问题,其中,训练批次大小B= 64;历史观测时间T= 10;学习率取0.000 1。

6) GCN-ConvGRU:该模型与GAT-ConvGRU相似,不同之处在于将GAT 模块替换为GCN 模块。其作为对比模型,超参数设置与GAT-ConvGRU 相同。

本文所建立的预测模型与6 种对比模型的预测性能对比如表1 所示。对比实验均在同一PeMS 高速公路数据集上开展,预测时间范围包含5 min、15 min和30 min。从表1 可知,本文所建立的预测模型在均方根误差 (RMSE) 、平均绝对误差 (MAE) 和平均绝对百分比误差 (MAPE) 3 种误差评定指标中均最小,充分显示了该预测模型针对大规模路网的交通流量预测的优异性能。对于传统的机器学习模型k-NN 和SVM,其建模能力受自身结构的限制,很难从大规模路网中高度复杂和随机的交通流量中充分挖掘有效的时空特征,因此,预测性能相较于深度学习模型较差。对于经典的深度学习模型GRU 和LSTM,其预测误差明显低于传统的机器学习模型k-NN 和SVM,这是因为GRU 和LSTM 能够从大量的历史交通流量中充分发掘交通流的时间特征,这对预测未来的交通流量至关重要。然而,GRU和LSTM 缺乏挖掘大规模路网交通流的空间特征的能力。基于图神经网络的深度学习预测模型GCNConvGRU 和GAT-ConvGRU 通过将大规模路网的交通流量构建成交通图的形式,并且通过与GRU和LSTM 组合的深度学习混合框架,能够充分发掘大规模路网中交通流量的时空特征,其预测性能优于传统的深度学习模型。

表1 预测模型与对比模型在多个预测范围内的性能对比Table 1 Performance comparison among the proposed model and baseline models over multiple prediction horizons

通过随机选取路网中的一个传感器,对本文所建立的预测模型在多时间预测范围的预测效果进行了可视化,如图7 所示。由图7 可知,在5 min 和15 min 预测范围内,预测值与真实值吻合良好,在30 min 预测范围内,真实值与预测值略有偏差。这是因为模型的预测误差随着预测范围的不断增加而增大。

图7 模型在多个预测范围内的交通流量预测Figure 7 Traffic flow prediction of the proposed model over multiple prediction horizons

3.4 模型分析

在对未来交通流量进行预测时,历史观测时间作为预测模型的输入起到关键作用。合适的历史观测时间能够使模型充分发掘交通流量的时空特征而提高模型的预测精度。为了选取合适的历史观测时间,分别选取历史观测时间从1 增加到16 进行对比分析,如图8 所示。当历史观测时间为10 时,模型的RMSE 误差最小。历史观测时间从1 增加到10 时,模型的预测误差逐渐减小,这是因为随着历史观测的增加,模型能够挖掘到更多的时空特征,有利于预测精度的提高。然而,当历史观测时间从10 增加到16 时,模型的预测精度逐渐降低,说明过多的历史观测值不利于模型预测精度的提高。因此,选取10 作为模型的历史观测时间。

图8 历史观测时间对比Figure 8 Comparisons of historical observation time

对于预测模型的输入,选取合适的数据批量大小,能够使模型表现出最佳的预测性能。针对5 种常用的批量大小 (Batch size: 8, 16, 32, 64, 128) 做了对比分析,如图9 所示。当批量大小Batchsize = 64时,模型表现出最小的预测误差。

图9 Batch size 对比Figure 9 Comparisons of batch sizes

同时,图10 显示了模型的收敛情况。在前20个迭代过程中,模型的验证误差RMSE 迅速下降,这表明模型的收敛速度较快。当迭代过程达到180之后,模型的验证误差有上升趋势,这说明模型的迭代次数达到180 时可以停止训练。

图10 模型的收敛性Figure 10 Convergence of the proposed model

4 结语

基于Graph Transformer 建立交通流量预测模型能够实现大规模路网的交通流量在多时间预测范围内的准确预测。通过有效地组合GRU、GNN 和Transformer 而建立的深度学习预测模型,能够充分挖掘大规模路网中极其复杂、随机的交通流量的时空特征。在PeMS 数据集上进行的对比实验表明,本文所建立的预测模型表现出最佳性能。该模型的优点可归结为以下几点:1) 基于大规模路网的交通流量数据和路网结构而构建的交通图,有利于模型更加准确地挖掘大规模路网中交通流量的时空特征;2) 通过引入Transformer 模块,使得模型能够挖掘交通流数据的长期依赖性,有利于模型预测性能的提高;3) 基于PeMS 高速公路数据集,通过与经典的预测模型进行对比分析,验证了本文所提出的预测模型的先进性能。

猜你喜欢
交通流量交通流路网
基于XGBOOST算法的拥堵路段短时交通流量预测
基于GA-BP神经网络的衡大高速公路日交通流量预测
打着“飞的”去上班 城市空中交通路网还有多远
省际路网联动机制的锦囊妙计
首都路网 不堪其重——2016年重大节假日高速公路免通期的北京路网运行状况
路网标志该如何指路?
交通流随机行为的研究进展
路内停车对交通流延误影响的定量分析
具有负压力的Aw-Rascle交通流的Riemann问题
基于复合卡和ETC的交通流量采集研究