一种时空周期性注意力网络的交通流量预测模型
2022-11-18王婧娟陈庆奎
王婧娟,陈庆奎
1(上海立信会计金融学院 信息管理学院,上海 201209)2(上海理工大学 光电信息与计算机工程学院,上海 200093)
1 引 言
因为交通拥堵等现象易引起交通事故,不利于交通安全,因此治理交通拥堵问题刻不容缓[1].交通流量是辨别交通拥堵因素之一.精确的交通流量预测能为交通参与者提供参考.人们可根据交通流预测信息提前规划出行计划,避开拥堵路段,缩减出行时间.精确的交通流量预测也作为交通安全的一部分[2].
交通流量会随着时间和空间的变化而变化,交通流具有以下显著特征:
1)随机性.因为道路上的各种车辆随机决定路径另有外界环境的种种因素的影响和干扰,呈现出剧烈的随机特征.
2)周期性.一周有7天,包含5天工作日和2天周末,人们的驾驶外出也展现出规律性.对于交通流量,相同路段的交通流量表现出周期性的通畅、拥挤等现象,并且相同路段每隔一段时间,交通流状态呈现出重复性.
3)时空特性.下一时刻的交通流受之前交通流的影响,即历史交通流量对现在和将来的交通流量有影响,且邻近路段的交通流间也会相互影响[3].
4)网状特性.道路间纵横交错,比如城市的关键交通枢纽靠主干道彼此连接,其它小路段利用辅助交通路线连接至主干道,而驾驶人依照各自的出行经验或使用不同的导航系统选取不同的驾驶路径,致使整个路网像一个错综复杂的网络.
综上所述,交通网络受各类因素影响,不同时段、不同道路的交通流间相互关联、彼此作用,且显示出不确定性和复杂性,难以准确预测交通流量.交通预测不单能为交通管理员提早觉察交通状态,且能为本文提供较合理的路线、提升交通效率.但是因为其复杂的时间和空间依赖性,使得交通流预测成为一项难题.
针对交通流量的空间相关性和时间依赖性的特征,本文提出了基于时空周期性注意力网络的交通流量预测模型(STPAN).首先,使用GCN构造空间相关性.其次,综合考虑短期和长期的周期性信息对流量进行预测,并采用LSTM获取时序依赖关系.因为时间周期性非真正意义上的周期,因此文本利用周期性注意力机制来解决此问题.此外,还将天气等外部因素增添到模型中,以提升模型的预测精度.最后在PeMS数据集上验证了所提出的模型的有效性.
2 相关工作
深度学习模型能学习到更复杂的特征,可以有效解决一些难题.现在深度神经网络在各个行业各个领域均被广泛使用.目前大量研究人员将深度学习模型引入到交通预测问题中.
文献[4]构造了基于数据驱动的城市路网短期交通流预测模型.该模型先将时间序列划分为趋势序列和残差序列.对这两个时间序列重构后,进行了基于LSTM-RNN的模型训练和预测.然后,将这两个结果组合在一起,产生最后的预测.最后用两个城市道路网对模型进行评价.结果显示,数据处理模块增强了模型的鲁棒性.但LSTM和RNN存在梯度弥散和梯度爆炸问题.
文献[5]提出了基于DNN的交通预测模型(DNN-BTF),该模型运用交通流的周期性和时空特性以及注意力机制,可以自动学习历史交通流量的重要特征.使用CNN模型提取交通流的空间特征,使用RNN提取交通流的时间特征.虽然CNN可以有效的提取网格数据的空间特征,但不适合图结构的时空数据的特征描述和时空相关性分析.
文献[6]提出了基于图像的交通速度预测模型,可以自动学习抽象的时空交通特征来提取时空关系.此方法分为两大步骤:1)将路网流量变换成图像,此图像将交通网络的时间和空间维度分别作为图像的两个维度.因为相邻路段在图像中也是邻近的,因此能够保存时空信息;2)使用基于CNN的深度网络模型对此图像进行交通预测.但CNN无法直接处理路网结构.
文献[7]提出了基于误差反馈递归卷积神经网络(eRCNN)进行车速预测.将相邻道路的时空车速视为输入矩阵,eRCNN运用相邻路段间的隐含相关性来提升模型的预测精度.最后对北京市二三环出租车的真实数据进行大量实验,验证了eRCNN模型的优秀的预测能力,但模型并没有考虑道路的交通流方向.
文献[8]使用GCN与GRU组合模型用于高速公路和出租车数据集进行车速的预测,且加入噪声验证模型的鲁棒性,结果显示此模型达到较好的性能.但此模型未考虑到路网内交通流之间的特性.
文献[9]根据最小二乘支持向量机提出了一种改进型的灰狼优化算法进行交通流量预测.为避免陷入局部最优,设计了灰狼优化算法内部的交叉、变异和选择操作,提升了算法的搜索性能.但此文献并没有考虑外部特征对模型的影响.
文献[10]构造了基于关键路段的混合卷积长短期记忆神经网络模型(CRS-ConvLSTM NN)来估计未来的交通变化.首先根据时空相关算法鉴别出对子网络影响最大的关键路段.然后,将关键路段的交通速度当作ConvLSTM的输入来预测整个网络的将来的交通状态.实验结果验证了CRS-ConvLSTM模型在不同关键路段下的预测能力.但该文献没有考虑周期特性和外部环境信息.
文献[11]提出了DCRNN(扩散卷积循环网络),分别采用扩散卷积和循环网络在有向图上捕获交通流的空间和时间依赖性,结果表明该模型具有良好的预测精度.文献[12]提出了STGCN(时空图卷积网络),可以提取时空特征且捕捉空间的依赖关系.但文献[11]和文献[12]均没有考虑周期特性和外部环境信息.
综上所述,有些方法在建模时没有同时考虑空间依赖和时间依赖,还有些研究忽略了时间序列预测中的长期周期性影响.交通数据具有周期性,但交通数据的周期性非真正意义上的按日或按周的.因此,本文构造一个周期性注意力机制来解决周期性时间变化问题.
3 基本概念
在本小节中,先描述研究过程中使用的基本理论,以及研究问题的定义.
定义1.道路网络拓扑G.本文按照行驶方向用有向图G(V,L)刻画道路网络的拓扑结构,把每个传感器当作图中的一个节点,其中,V={v1,v2,…,vN}是一组传感器节点,L表示路段,A是道路的邻接矩阵描述道路间的连接关系.邻接矩阵A仅包含两个元素,即0和1,如公式(1)所示.
(1)
定义2.交通流量.交通流量是指在一定时间段内途经某个地点的车辆的个数,其随时间的推移构成时间序列,且具备嵌入在连续空间中的空间属性.交通流量的计算公式见公式(2)所示.交通流量预测是一个典型的时空数据预测问题.
(2)
其中,x是交通流量,T是观测时间,N是在观察时间内经过的车辆个数.
在路段li(li∈L)的第tth个时间间隔(比如5分钟)处的流量被定义为该路段在该时间间隔期间的车辆的平均流量,用xi,t表示.将在第tth个时间间隔的道路网络的流量定义为向量Xt,其中第ith个元素是(Xt)i=xi,t.
问题表述.交通流量预测的目标是利用一系列的历史交通流量数据对各路段的将来流量值进行预测.具体来说,给定先前Tp时间步长的历史流量记录{Xt-Tp+1,…,Xt},目标是预测未来TF时间步的交通流量Xt+TF.交通流量预测问题可当作是描述将历史流量数据映射到未来流量数据的非线性映射函数f,如公式(3)所示:
Xt+TF=f({Xt-Tp+1,…,Xt},G)
(3)
4 空间相关性建模
获取复杂的空间依赖性是交通预测中的重要难题.传统的卷积神经网络(CNN)能获取局部空间特征,但CNN限于处理欧式数据(如图像,语音等).城市道路网是非欧几里得拓扑图,这表明CNN模型不能描述城市道路网的复杂拓扑结构,因此不可以正确地捕捉道路网的空间相关性.GCN用于提取基于图的数据的空间相关性.空间相关性的提取过程对应于框架图1中的a部分.
图1 STPAN的整体框架结构图
首先,本文定义了道路网络拓扑G=(V,L)上的空间卷积.
通常,邻接矩阵是一跳邻域矩阵A,K跳邻域矩阵可以通过计算A的K次幂得到.本文将对角线元素添加到邻域矩阵,其定义为:
(4)
其中,Ci(·)是矩阵的clip函数,目的是将每个非零元素修改为1.
(5)
图的一跳和二跳的图示例
根据上述邻域矩阵,图卷积的简明形式可以定义如下:
(6)
为了使并行计算更加适用和灵活,将公式(6)分解为一维卷积得到公式(7).
(7)
5 时间依赖性建模
很多文献仅将前几个时间间隔(往往是几个小时)进行流量预测.而这些方法忽视了长期相关性(如周期性),周期性也被视为时空预测问题的一个重要特征[13].交通数据在时空相关性上表现出周期性变化,在本小节,不但考虑短期信息,也将考虑长期的周期信息.
经过第4节提取数据的空间特征后,接着使用LSTM来获得时间序列依赖关系.本文使用文献[14]中的LSTM版本.还选取天气信息特征一同输入进LSTM,此等同于对输入LSTM的数据增添一维特征,继而对道路上的交通流量进行预测.交通数据随时间和空间的改变而不断改变,呈现出强烈的不确定性和复杂性,所以在交通预测中,需考虑这些复杂性和不确定性对预测结果的影响.
hi,t=LSTM([xi,t;ei,t],hi,t-1)
(8)
其中,hi,t是时间t处路段i的输出表示.ei,t表示外部变量(如天气).因此,hi,t包含空间和短期时间信息.此方法仅使用了与预测时段相邻的历史时间序列片段,由于一个节点先前时刻的流量数据必然会对其下一时刻的流量造成较大的影响.这种网络仅利用最近的几个时间间隔,为了能更好地进行长期预测,还需考虑周期性信息.由于本文的工作时间较统一,容易出现交通早晚高峰现象,交通流量数据在相同时刻有较强的相似性.交通流量数据也拥有明显的周周期模式,比如,周一的交通模式通常与之前的周一的交通模式相似,而与周末的交通模式略有不同.
训练LSTM处理长期信息是一项艰巨任务,因为随着时间序列长度的增加,会显著减弱周期性的影响.为解决此问题,应该对预测目标的相对时段(例如,昨天的这个时候,前天的这个时候等)进行建模.然而,仅考虑相对时段是不足的,因为这忽略了周期的时间变化,即交通数据非严格周期性的.例如,工作日的高峰期常出现在下午的后半段,可能在下午4:30到下午7:00之间.如果遇到交通事故或出现交通拥堵现象,周期的变化在交通序列中是广泛存在的.即周期性非严格按日或按周的.因此,本研究设计了一个周期性注意力机制来解决这些限制.具体的描述如下.
图1中的b部分,包含了前P天对应的时段用于处理周期性依赖.对于每天,为解决周期性时间变化问题,从每天中额外的选择Q个时段.例如,假若预测的时间是上午9:00-9:30,本文选择前一个小时和后一个小时,即上午8:00-10:30,|Q|=5.这些时段q∈Q用来处理潜在的时间周期性变化.另外,使用LSTM来处理每天p∈P的序列信息,其公式如式(9)所示:
(9)
(10)
(11)
参考文献[15],注意力分数的定义可以视为基于内容的函数:
(12)
(13)
6 模型训练
(14)
(15)
其中,Wfa和bfa是参数.由于本文做了归一化操作,因此模型的输出范围是(-1,1).稍后对预测值进行归一化的反向操作,使其回到实际范围.
在训练阶段,目标是让道路上的实际交通流量和预测值间的误差最小.模型的损失函数如公式(16)所示.
(16)
7 PeMS数据集
公共数据集PeMS是从多于39000个单独的探测器中收集的.这些传感器横跨加利福尼亚州主要大都市,提供了十多年的数据,其中包含影响车流量的各类信息.本文使用的是2017-2018年的圣地亚哥地区的探测器.交通流的搜集时间段从2017年的6月至2018年的4月(共13个月).选取前12个月的数据作为训练集,并用最后一个月(2018年4月)的数据作为测试集.
本文将数据集的标准时间间隔设置为5min.因而,道路图中的每个节点每天有288个数据点.对数据清理后的缺失值使用线性插值法进行填充.另外,利用Z-Score方法对输入进行归一化.
在PeMS中,道路图的邻接矩阵是根据交通网络中站点之间的距离来计算的.加权邻接矩阵W可以表示为:
(17)
其中,ωij表示从站点i到站点j的边的权重,dij表示从站点i到站点j的道路距离,σ是距离的标准差,ξ是控制矩阵分布和稀疏性的阈值.在本节中,将σ2和ξ分别指定为1.5和0.5.
8 实验部分
8.1 评价指标
为了评估STPAN模型的预测性能,使用3个标准指标来计算现实的交通状态与预测状态之间的误差.它们的定义如下:
1)平均绝对误差(MAE):
(18)
2)均方根误差(RMSE):
(19)
3)平均绝对百分比误差(MAPE):
(20)
8.2 对比方法
在本小节中,评估STPAN和其它方法在PeMS数据集的预测性能.对比方法有传统的时间序列分析方法(HA、ARIMA)、机器学习方法(SVR、XGBoost)和深度学习模型(STGCN、DCRNN).
1)HA:历史平均值.历史平均模型根据训练集的经验统计来预测测试数据集的未来交通流量.例如,路段li∈L的9:00-9:05期间的平均交通流量是依据同一路段的9:00-9:05期间训练数据集中的历史交通流量的平均值来估计.
2)ARIMA:自回归移动平均模型.对于ARIMA(p,d,q)模型[17],对数据进行差分的阶数设置为d=1,通过使用p∈[0,2],q∈[7,12]计算训练数据集的相关赤池信息准则(AIC)来确定自回归部分和移动平均部分(p,q).
3)SVR:支持向量回归.本文选取径向基核函数进行训练,其中核系数设置为0.1.
4)XGBoost:极端梯度提升.XGBoost[18]是一套提升树可扩展的机器学习系统.它是基于树结构的端到端的提升系统.
5)STGCN:时空图卷积网络[12].ST-Conv块的3层通道分别是64、16和64.图卷积和时间卷积的核大小设置为3.STGCN模型使用RMSprop优化器对MSE进行最小化训练,batch大小为50.初始学习率为0.001,每5个epochs之后衰减率为0.7.
6)DCRNN:扩散卷积递归神经网络[11].DCRNN是通过Adam优化器最小化MAE进行训练的.编码器和解码器均有两个LSTM层,每个LSTM层有64个单元.最初的学习率是0.01,从第20个epoch开始,每10个epochs缩短10%.随机游走的最大步数设置为3,最大epoch为100,根据监测验证误差决定是否采取提前终止的措施.
8.3 实验设置
本文的实验设备是Intel®CoreTMi7-4790 3.60GHZ CPU和4个NVIDIA GeForce Titan X Pascal GPU.
对于PeMS数据集,本文采用的是13个月(2017年4月到2018年4月)的交通流量,在实验时,选择前12个月的交通流量数据作为训练集,并用最后一个月(2018年4月)的数据作为测试集,随机抽取20%的训练样本作为验证集.
本文根据验证集的性能来设置STPAN模型的超参数.对于空间信息,将卷积核大小设置为3×3,64个过滤器.把K设为3.对于时间信息,将短期LSTM长度设为为7(即前3.5个小时),长期周期信息|P|=3(即前3天),周期性注意力机制|Q|=3(即考虑相对于预测时间的前后半小时),LSTM的隐藏层的维数设为128.模型STPAN使用Adam进行优化,batch size为64,学习率为0.001.LSTM中的dropout为0.5.
8.4 在PeMS数据集上的性能评价
图3展示的是在PeMS数据集上预测2018年4月10日的交通流量图.从图中可看到本文提出的模型STPAN可以较好地捕获到早高峰和晚高峰时段的趋势走向,与真实交通流量非常接近.
图3 2018年4月10日的交通流量预测
图4描述的是在PeMS数据集上预测2018年4月1日的交通流量.因为2018年复活节的时间是2018年4月1日,与愚人节是同一天,高于往常交通流量,因此图4的整体交通流量高于图3的交通流量,本文提出的STPAN模型能捕捉到流量的变化趋势,图4的趋势走向和图3的趋势走向较吻合,交通流量的高峰时段大致相似.
图4 2018年4月1日的交通流量预测
图5描述的是在PeMS数据集上对2018年4月3日至2018年4月10日共一周的交通流量预测结果.预测的时间间隔为5分钟.从图中能看到交通流量数据随时间动态变化,每天的早高峰和晚高峰时段相似,呈现出强烈的周期性特征,尽管每天的流量趋势相似但又不完全相同.本文提出的STPAN模型在PeMS数据集上较好地实现了对交通流量的预测.
图5 2018年4月3日至4月10日的交通流量预测
表2描述的是STPAN模型与其它方法在PeMS数据集上进行15分钟、30分钟和45分钟的流量预测的实验对比结果,从表中看到本文提出的STPAN模型在3个评价指标中均获得了最好的性能.传统的统计和机器学习方法对于短期预测表现良好,但因为误差积累和缺乏空间信息,它们的长期预测并不准确.深度学习模型通常比传统的机器学习模型更能取得好的预测效果.由于模型STPAN不仅对传感器的空间拓扑进行建模,而且在时间维度上利用周期性注意力机制以及外部环境信息,从而使得本文的模型STPAN在短期和中长期预测方面均优于STGCN和DCRNN.
表2 不同交通流量预测方法的性能比较
8.5 消融实验
为证明STPAN模型中的每个组件对预测效果的影响,本文用控制变量法对STPAN的变体做进一步的研究.虽然更改了部件,但所有变体均拥有相同的框架结构和参数设置.具体地说,在提出的STPAN框架中,一次删除一个组件.首先,将STPAN的变体命名如下.
1)STPAN/noGCN:不带GCN组件的STPAN模型.这种没有GCN的STPAN变体对空间相关性不敏感.
2)STPAN/noPA:没有周期性注意力机制的STPAN模型.STPAN/noPA有两个LSTM网络.一个是作为捕获短期依赖关系,另一个是根据前3天信息中的相对时间来获取长期信息.注意,本文设置|Q|=1(仅考虑前3天的相对预测时间).
图6描述的是STPAN及其两个变体在不同预测时间间隔下的MAPE的对比结果.从图中看出,STPAN取得了最低的MAPE值,STPAN/noGCN是3种方法中最高的MAPE值,由于此变体模型没有对空间信息进行提取,预测效果远低于STPAN模型,这表明空间依赖性对最终模型的预测效果影响很大,也侧面说明了GCN(对空间相关性进行建模)在交通流预测中的重要性.此外,通过对比STPAN/noPA和STPAN的性能,表明周期性注意力机制的加入对模型的预测性能有了一定的提升.
图6 不同预测时间间隔下STPAN和其变体的性能对比图
9 结 语
预测未来交通流量是智能交通系统中的关键问题之一.交通流量数据受各种因素共同影响,其是一个非线性、随时间改变的复杂的随机过程.由于道路按功能区域的空间分布、人们出行需求的差异,使得交通流具有时空特性,且交通流量的预测受大量复杂因素的影响.
准确的交通流量预测不但为交通管理员和出行人提供有价值的信息,且有利于提升道路资源利用率,减少人们的出行和时间成本,实现交通管理从“被动”变为“主动”的关键.
本文提出了一种时空周期性注意力网络的交通流量预测模型(STPAN).首先,使用GCN来描述基于图的交通流数据的空间相关性.其次,综合考虑短期和长期的周期性信息进行流量预测,并使用LSTM获得时序依赖关系.因为时间上的周期性非严格固定的,因此本文利用周期性注意力机制来处理此问题.本文还将天气等外部信息增添到模型中,以提高模型的预测性能.
本文将STPAN模型与HA、ARIMA、SVR、XGBoost、STGCN、DCRNN在PeMS数据集上分别进行实验,实验结果表明,在不同的预测间隔下,STPAN模型的预测性能均优于其他方法.此外,还将STPAN和两种其变体(STPAN/noGCN、STPAN/noPA)进行了对比实验,结果表明,STPAN模型的预测效果是最好的.