基于DWT-GCN的短时交通流预测①
2022-09-20王雨松吴向东尤晨欣
王雨松, 吴向东, 尤晨欣, 廖 聪
(长安大学 信息工程学院, 西安 710064)
1 引言
随着城市化进程的推进, 不断扩张的路网便利居民出行的同时也存在着诸多隐患, 道路的严重堵塞降低了交通系统的运转效率, 加大了交通事故发生的概率. 智慧交通系统(intelligent traffic system, ITS)[1]的出现为上述存在的问题找到了一个合理的解决方案. 精确的短时交通流预测已发展为ITS研究的重要领域之一, 高效准确的预测结果成为了助力出行者路线选择和管理者路径规划的有力保障.
短时交通流的预测模型主要可以分为4类: 基于传统统计建模的模型、机器学习模型、基于大数据驱动的深度学习模型、基于拓扑空间的图神经网络(graph neural network, GNN)模型.
基于统计方法的模型是基于数理统计的方法处理交通数据, 此类模型主要是以自回归滑动平均(autoregression moving average, ARMA)及其改进算法为代表.杨东龙[2]利用差分自回归滑动平均(autoregression integrated moving average, ARIMA)对区间车流量进行多个时间周期的预测; 靳小飞[3]利用自回归分数整合移动平均(autogression fractionally integrated moving average,ARFIMA)分析序列的长期记忆性来预测短时交通流.此类模型应用简单, 但适用性与实时性不强, 当实际情况与参数标定时的交通状态相差较大时, 预测误差偏高.
随着人工智能的普及, 机器学习应运而生, 此类模型可以分为基于特征的模型和状态空间模型. 前者是通过训练交通数据的回归模型进行预测分析, 张天逸等[4]利用K均值聚类(K-means clustering)来提取径向基函数(radial basis function, RBF)神经网络的中心向量, 提出了一种多维时间序列的交通流预测模型; 后者是基于系统随机性构建模型, 申启东等[5]利用马尔科夫链(Markov chain)对相关路网之间进行建模分析, 改进了权值计算公式来度量关联路段间的权值, 通过“滴滴打车”平台数据验证了模型的可靠性. 机器学习虽提高了模型的计算效率, 但关键参数的设置较为困难. 为进一步提高模型预测精度, 基于大数据驱动的深度学习模型预测交通流成为了行业新的研究热点. 克服了循环神经网络(recurrent neural network, RNN)不能保存历史状态信息问题的长短期记忆网络(long short term memory, LSTM)模型被广泛应用于时间序列预测, 产生了许多基于LSTM的短时交通流预测模型[6-9].
虽然端到端的深度学习模型可捕获交通流序列的非线性特征[10], 但却无法处理时空交通流这种具有天然图结构特性的非欧数据, 不能充分挖掘交通路网拓扑图中节点间的连接关系. 因此, 基于图卷积神经网络[11]的方法成为了挖掘交通流时空特性的有效途径. Cui等[12]提出的图卷积长短期记忆神经网络(GCN-LSTM)通过学习路网中路段之间的相互关联预测交通状态, 并将图卷积特征引入到损失函数中增强模型可解释性;Zhang等[13]提出的时空卷积图注意力网络(spatialtemporal convolutional graph attention network, STCGN)在路网局部空间相关性基础上考虑了全局区域间相关性, 实现了从局部到全局的全面交通流预测;Song等[14]提出一种时空同步图卷积网络模型, 该模型能有效捕捉交通状态的复杂局部时空关联和区域时空图的异质性; Zheng等[15]提出了一种结合GCN和多任务学习(multi-task learning, MTL)的异常交通数据预测混合模型, 并验证了随机缺失等异常模式下系统的鲁棒性. 虽然此类模型能挖掘路网中交通流数据的时空特征, 但单一模型的预测结果受交通流随机性扰动较大.
本文提出了基于DWT-GCN模型的短时交通流预测方法. 利用DWT算法将交通流序列分解为近似分量与细节分量, 细化交通流信息, 降低序列非平稳性; 优化路网拓扑图结构的邻接矩阵, 深度挖掘路网的时空关联; 将分解的交通流数据作为GCN的输入, 并对各组预测结果进行重构, 得到最终预测值. 利用PeMS数据库中交通流数据验证了模型预测短时交通流的有效性.
2 GCN算法
图的定义为: G =(V,E), 其中V 为图中的节点集合,E为图中边的集合. 图卷积网络是卷积神经网络(convolutional neural network, CNN)在图结构上的扩展, 从非欧空间的拓扑图中捕获空间关联, 提取图结构数据中的空间特征. GCN对交通流序列的预测是以图为最小单位的, 在实际路网中, 节点代表路段中不同位置处传感器, 边代表路段中不同传感器之间的空间物理关系.GCN算法的核心思想是一种消息传递机制, 构建目标节点的邻域空间, 从输入图数据节点的邻域中聚焦信息对中心节点特征进行更新, 经典的图卷积神经网络模型如图1所示.
图1 图卷积神经网络模型图
其中, A +I 表示添加一个自环的邻接矩阵; D为度矩阵;D-1/2(A+I)D-1/2表示对邻接矩阵的归一化操作, 该项的引入缓解了深度学习模型中数值发散、梯度消失或爆炸的问题. 输入X ∈RM×N通过一阶邻居节点的选取、连接权重W(0)∈RN(0)×N(1)和 激活函数σ 映射为第一层的输出 H(1)∈RM×N; 同理, 第l +1层 的输出H(l+1)∈RM×N是在第l层特征输出 H(l)∈RM×N基础上通过两层之间连接权重 W(l+1)∈RN(l)×N(l+1)进行邻居节点信息的传递和目标节点特征的聚合更新.
GCN算法不仅对参数W 的初始化没有严格要求,而且通过较浅的模型就能有效地更新节点特征, 降低模型训练的时间复杂度.
3 DWT-GCN短时交通流预测模型
非平稳的交通流序列在单一的预测模型下不易得到精准的预测结果, 因此结合离散小波变换降低序列随机性的特点和图神经网络挖掘非欧数据时空特征的优点, 对GCN预测模型进行优化, 基于DWT-GCN预测模型流程如图2所示.
图2 DWT-GCN模型流程图
3.1 DWT-GCN模型预测
假设给定的路网有 M个路段, 每个路段采集的交通流序列长度为 N , 则模型的路网输入X 可表示为:其 中 xm表 示 第m 个路段的交通流序列. 模型的具体训练及预测步骤如下:
(1)对路网输入X 进行多级DWT分解[16,17], 以 xm为例, 将其分解为细节分量 xm1、 细节分量 xm2, 细节分量xm3,…, 细节分量 xm(J-1), 近似分量 xmJ. 其中, xmj为xm小波分解的第 j 分量, j ∈{1,2,···,J}.
(2)将小波分解后的交通流量时间序列输入到GCN模型中训练, 挖掘交通流序列的时空特性. GCN模型输入 XG_in如 式(5)所示, 其中 xmj(t)为 路段m 处 第 j分量t时刻的交通流量, 0 <t≤N.
对于路段 m , 设定训练集序列长度为ltr, 测试集序列长度为 lte=N-ltr, 预测步长τ, 由原始数据集构建GCN预测模型的训练集输入 TRm_in、训练集输出trm_out与测试集输入T Em_in; 同理, 对于 M 个路段图数据, 通过构建GCN预测模型输入训练集T Rin和输出预测序列 TRout来训练网络参数, 并对输入测试集T Ein进行预测, 从而实现完整路网短时交通流预测.
将式(9)-式(11)代入式(1)-式(4)中, 得到路网图数据的预测输出 Hj, 其中hmj为 路段m 处 第 j分量的模型预测结果.
(3)对各个GCN的输出结果进行重构, 得到组合模型的最终输出预测结果Hout:
(4) GCN网络中邻接矩阵 A反映节点之间是否连通, 节点之间的权值则反映了节点之间重要程度. 基于不同空间距离对节点间交通流影响程度的差异不同,重新定义一种基于数据驱动的邻接矩阵A′如式(14), 其中γij、dij分别为节点i 、j之间的皮尔逊相关系数和欧氏距离, T H表示阈值.
3.2 模型评价
基于DWT-GCN的短时交通流预测模型一方面可以通过小波分解降低交通流序列由于外部因素导致的随机性; 另一方面, 根据改进的邻接矩阵可以有效地捕获路网拓扑图的邻近关系, 深度挖掘路网的时空特性,更加拟合真实应用场景. 但当路网图数据过大时, 构造邻接矩阵与选择邻近路段节点的计算复杂度较大. 因此, 虽然大规模路网图数据会降低模型预测效率, 但是该模型整体能够保持较高的预测性能, 可以适用于城市公路短时交通流预测问题.
4 实验
4.1 数据来源及评价指标
选用公开数据集PeMS04作为本文实验数据, 该数据集包括路网中307个节点实测交通流数据及节点之间的连接关系. 交通流数据采集时间从2018年1月1日到2018年2月28日共59天, 采样周期5分钟, 共采集16 992条交通流量. 将前49天数据为训练集, 后10天数据为验证集, 即 M =307, N =16992, ltr=14112,lte=2880.
选择平均绝对误差(mean absolute error, MAE)和平均绝对百分比误差(mean absolute percentage error,MAPE)为模型的评价指标, 计算如式(16)-式(17)所示:
4.2 模型构建
在PyTorch框架下搭建实验所需模型, 采用Python 3.7进行程序开发. 实验中参数设置如下: 对交通流数据进行3级小波分解得到4组分量; 训练迭代50次;批处理为64; 预测步长τ =6; GCN模型层数为3层; 激活函数为LeakyReLU. DWT算法分解交通流效果如图3,效果图以路网中第165节点一天的数据为例, 小波分解细化交通流特征, 细节分量和近似分量分别反映交通流的随机波动项和长期趋势项; DWT-GCN模型预测结果如图4, 预测结果MAE和MAPE分别为4.596 1、5.12%, 预测值与真实值整体上具有很高的拟合程度,表明了DWT-GCN模型预测短时交通流的有效性.
图3 基于DWT分解的交通流子序列
图4 预测结果曲线
4.3 模型性能分析
(1)不同模型预测结果对比
为验证模型的高效性, 选择ARIMA、小波神经网络(wavelet neural network, WNN)、GCN三种模型与本文模型进行预测结果对比分析. ARIMA模型通过前n 个数据预测第n +1个 数据, 模型自回归阶数 p=4, 差分阶数 d =1, 滑动平均阶数q =4; WNN模型隐层节点6个, 迭代次数100次, 学习率 lr=0.001, 预测步长τ=6; GCN模型与本文提出的混合模型中GCN部分参数设置一致. 图5为不同模型预测结果, 表1表示不同模型预测性能.
图5 不同模型预测结果曲线对比
表1 不同模型预测性能
根据图5和表1可知, ARIMA模型整体上反映了交通流数据的变化趋势, 但模型预测性能较差, 预测结果精度低; WNN模型相对于ARIMA预测精度得到了改善, 但仅考虑时间特性的模型不易挖掘交通流数据的空间特征; GCN模型利用拓扑图结构提取时空特性,进一步强化了模型预测性能. 相比于ARIMA、WNN、GCN模型, DWT-GCN通过小波分解降低了交通流的非平稳性, 预测模型的MAE、MAPE平均降低57%和59%, 表明DWT-GCN模型预测性能好, 预测精度高,能深度挖掘路网下交通流数据的时空特性, 反映真实的路网信息.
(2)参数分析
分析基于数据驱动的邻接矩阵A′以及相关系数阈值T H 对模型预测性能的影响. 邻接矩阵A′是A 的一种修正形式, 模型预测效果对比如图6所示, 预测值1、2分别表示邻接矩阵修正前、后模型预测结果. 从图6可以看出, 预测值2相比于预测值1在早、晚高峰处与真实值的拟合程度更高, 更加准确地预测了交通流变化趋势. 因此, 邻接矩阵的修正更大程度助力了预测模型挖掘交通数据的时空特性.
图6 邻接矩阵修正前后预测结果曲线
邻接矩阵A′同时考虑路网节点间的空间距离和相关程度, 后者通过皮尔逊相关系数衡量. 为了分析节点间相关程度对预测结果的影响, 在不同系数阈值下进行实验, 分别计算对应预测模型的MAE、MAPE, 预测性能如表2所示. 从表2可知, 相关系数阈值取0.9时,模型预测误差最小. 当相关系数阈值较小时, 容易引入过多关联程度较小的节点, 相当于增加了数据噪声, 降低预测精度; 当相关系数阈值较大时, 构造的邻接矩阵会因丢掉相关节点导致矩阵过于稀疏, 减少有用信息,从而不能深度挖掘路网的时空特性. 因此, 阈值的选取在理论分析和实验验证上相吻合.
表2 不同阈值预测性能
在本文中, 当节点特征之间相关系数阈值取0.9时, 目标节点能够基于数据驱动选择更加邻近的路段节点, 进而聚合所选邻居节点的特征, 较大程度地提高模型的预测精度. 在PeMS数据集对应的实际路网中,根据最佳阈值选取的邻近路段节点多数分布于目标路段节点的上下游, 根据空间距离和语义距离的分析, 相邻路段节点对具有明显邻近关系, 说明该模型预测结果符合实际路网情况, 模型能较好应用于真实场景的短时交通流预测.
5 总结
本文提出了一种基于DWT-GCN的短时交通流预测模型, 该模型基于图神经网络处理非欧数据的天然优势, 通过小波分解与重构弱化交通流序列非平稳性,并结合优化的邻接矩阵深度挖掘非欧交通流数据的时空特性, 提高了预测精度. 利用PeMS数据集的实测数据进行验证, 通过与其他基线模型预测结果对比可知,本文提出的模型在短时交通流预测中具有较强的预测性能与可解释性. 未来可以将天气、节假日等影响交通流数据的外部因素通过注意力机制引入到模型中进一步提高模型的预测精度和泛化能力.