使用动态时空神经网络的市区交通流量预测
2023-03-06任建华孟祥福张霄雁
任建华,朱 尧,孟祥福,张霄雁
(辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105)
1 引 言
随着城市智能交通的飞速发展,交通流量预测对交通管理和公共安全越来越重要.准确的交通流量预测可以帮助政府规划城市交通的运行路线和运行时间,实现人群分流以防止交通堵塞,同时也能提升城市交通的运行效率;乘客也可以根据预测的交通信息规避高峰期人群拥挤,选择更好的出行方式和路线.因此,准确的交通预测有助于人们绿色出行,节省时间成本.
城区流量预测是根据城市区域过去一段时间的交通流量信息来预测未来一段时间的交通流量信息.近年来,深度学习被证明具有良好的预测精度,研究人员尝试使用深度学习模型对交通流量进行预测.基于深度学习的预测模型可以归纳为两类:一类是基于递归神经网络(RNN)的模型,Fu等人[1]在2016年首次提出使用门控递归单元(GRU)进行交通流量预测.Yang等人[2]提出了一种基于长短期记忆网络(LSTM)的增强模型,用于交通客流量预测.另一类是基于卷积神经网络(CNN)的模型,Zhang等人[3]提出了一种深度时空残差网络(ST-ResNet)来捕获空间相关性,预测城市区域人流量的变化.
然而,现有的城市区域流量预测仍然存在以下两个问题:
1)区域流量预测是一个复杂的时空问题,包含局部(近距离)和全局(远距离)区域的时空相关性.由于区域流量会受到附近区域的流入影响,同时周围区域也会受到此区域的流出影响,因此邻近区域的流量通常有很强的空间相关性.同一个区域的流量也会受到近期或周期规律的影响.例如,某商业区流量如图1所示,区域流量会因为人们日常生活的影响呈现出周期性的规律.这种近距离区域影响和长短期时间相关性可以看作局部区域时空相关性.区域流量变化还存在远距离时空依赖性.如图2所示,人们可以乘坐地铁或出租车在短时间内到达任何地点.例如,在国定假日期间,人们一般会去距离居住地很远的动物园或者景点游玩,同时,其它地区的游客也会乘坐轻轨或动车到城市观光.本文把远距离的时空相关性称为全局区域时空相关性.由此可见,对城市区域局部和全局相关性同时进行建模,对精准预测区域交通流量非常重要.
图1 商业区交通流量Fig.1 Traffic flow in business district
图2 远距离移动Fig.2 Distant movement
2)在交通领域,市区交通流量在时间序列上的变化是不平稳的,而捕捉这种城市交通流量的动态变化规律是一个困难的任务.其次,一些周期性的规律会因为突发事故或者自然灾害受到影响,从而增加了从过往城市流量信息中学习有用信息的难度.最后,城市交通流量还会受到现实中地理位置的影响.
为了解决上述问题,本文提出了一种基于深度学习的时空动态特征网络ST-3DGN(SpatioTe-mporal 3D Convolution Global Depth Residual Network),该模型使用时空数据作为输入,对交通数据的远近区域时空相关性和区域流量动态性同时进行建模,进而预测城市未来所有区域的流量变化.
本文的主要贡献有4个方面:
1)提出了时空动态相关性模型,将多层三维卷积引入交通流量预测,以便从时间和空间两个维度提取高层次时空特征,捕获交通流量的流动规律.
2)设计了远距离区域影响模型,能够同时捕获局部和偏远地区交通流量对某个特定区域的流量影响,并考虑了地理位置对城市区域流量变化的影响.
3)考虑了交通流量数据的短期时间依赖和长期时间依赖,使用早期融合机制,提高了模型的预测精度和稳定性.
4)在两个真实数据集上进行大量实验,实验结果表明本文模型在不同区域流量预测效果优于现有相关预测方法.
2 相关工作
由于城市区域流量分析在城市交通管理和公共安全领域的广泛应用,城市区域交通流量预测最近引起了广泛的研究兴趣.研究方法主要分为3大类:经典时间序列方法、传统机器学习方法和深度学习方法.经典时间序列方法有历史均值法、整合移动平均自回归模型(ARIMA)[4]及其变体模型SARIMA[5]等.然而,经典时间序列方法是根据理想的假定来预设的,复杂的交通数据无法满足这些假设.因此,时间序列方法在实际场景下的应用效果通常不够理想.
SVR[6]和SVM[7]等传统机器学习方法为交通预测提供了更灵活的选择,采用核函数将低维非线性交通数据映射到高维空间描述交通数据的非平稳变化,核函数的选择对预测结果有很大的影响.城市区域交通流量预测还采用了贝叶斯方法[8]和KNN[9].然而,传统的机器学习方法在处理高度非线性的流量数据[10]时,需要良好的特征选取才能做出准确的预测,同时也无法有效考虑城市区域交通流量的时空相关性.
受到深度学习在各种任务上取得重大进展的启发[11,12],许多研究者也开始尝试使用深度神经网络模型处理城市区域流量预测这一任务.卷积神经网络(CNN)通过卷积运算自动分层捕获空间结构信息,可以很好地捕获城市区域流量的空间相关性.Zhang等[3]设计了基于卷积神经网络的深度时空残差网络(ST-ResNet)对未来一段时间城市区域流量进行预测.Dai等人[13]提出了一个简化的深度残差网络对区域交通流量进行预测.然而,这类模型将相邻时间间隔的信息简单地视为多个通道,因此经过一次卷积后就会丢失时间维度信息.深度学习的另一种经典类型是递归神经网络(RNNs),通常用于时间信息建模.为了解决递归神经网络的梯度消失问题,长短期记忆神经网络(LSTMs)和门控递归单元网络(GRUs)被开发出来学习长时间跨度的时间依赖.George[14]和Cai[15]采用基于LSTM的网络预测短期交通速度和交通流量,但是这些模型不能自动捕捉空间信息.此外,这些基于LSTM的网络不能有效地捕获长期的时间相关性,如交通数据中的周期和趋势模式,这在区域流量预测中很重要.
本文提出的融合流动性和时空特性的市区交通流量预测模型(ST-3DGN),融合了城市局部区域的流动性和全局区域交通流量的时空相关性,还考虑了地理位置对城市交通流量的影响,模型的预测能力得到进一步提升.
3 相关定义
定义1.区域:将城市划分为m×n个网格,其中,每个网格代表一个固定区域,M和N分别代表网格的行数和列数,(m,n)代表城市中的第m行第n列的区域,所有区域组成一个集合:
R={r1,1,…,ri,j,…,rm,n}
(1)
定义2.轨迹:轨迹数据是记录移动物体位置的三元组(x,y,τ)序列,其中(x,y)表示物体在时间τ的位置.对于单个移动物体r,其运动轨迹Tr可按照时间顺序表示为地点序列:
Tr:P1→P2→…→Pk→…→Pl
(2)
轨迹的总长度Tr可表示为l,Pk∈(xk,yk)表示第k个轨迹点Pk位于网格的(xk,yk)位置.
(3)
(4)
定义5.周期依赖:城市区域车流在某一时刻的流入流出可以看作图片的两通道张量,从中提取出体现近期依赖和远期依赖特性的子序列.lc是短时依赖序列的长度,近期依赖子序列表示为:[xt-lc,xt-(lc-1),…,xt-1]∈Rc,m,n,lc.lr是长期依赖序列的长度,p为固定的一周时间,远期依赖子序列表示为:[xt-lr·p,xt-(lr-1)·p,…,xt-p]∈Rc,m,n,lr.近期依赖数据集表示为A(t)=(c,t,m,n),周期依赖数据集表示为B(t)=(c,w,m,n),其中c代表进出车流,t和w代表时间长度,m和n代表城市区域网格的长和宽.
问题定义.城市流量预测:给定历史时空交通网格流量数据(x1,x2,x3,…,xT-1),本文目标是准确预测出下一个时间段T的城市所有区域进出的交通流量.例如,某个区域举办大型活动(如集会等),已知前T段时刻的某区域内的交通流量,预测接下来T+H时段内区域的交通流量,H表示预测时间间隔.
4 模 型
本文提出的ST-3DGN模型框架如图3所示,主要由3个组件构成,分别是流输入、局部动态时空相关性模块、全局流动时空相关性模块.其中,流输入包括近期依赖和周周期依赖,以每半个小时或一个小时统计一次区域的交通流量,形成具有时间信息的网格流量图,将这些网格流量图加权.然后,局部动态时空相关性模块使用多层三维卷积建模城市交通流量的局部时空相关性和流动性.最后,全局流动时空相关性模块模拟城市中交通流量的远距离空间依赖性,捕获远距离城市间交通流量的影响.
图3 ST-3DGN模型架构Fig.3 Architecture of ST-3DGN
下面分别介绍模型的流输入、局部动态时空相关性模块、全局流动时空相关性模块.
4.1 流输入
将城市按经度和纬度进行分区,地理网格的一个单元代表城市的一个区域,每个区域的大小完全相同.分区效果如图4所示.
图4 北京市网格划分图Fig.4 Grid division of Beijing
每隔一小时或半小时对每个区域的流入和流出量统计一次,形成具有时间属性的交通流量图,将这些流量值归一化到[-1,1]范围内.本文使用定义1和定义4中提出的方法,将每个时间间隔内城市的流入和流出转化为二通道图像矩阵.
城市区域交通流量在时间维度上还存在近期和周期规律影响.一个区域不仅会受到前几个时刻的周围区域的交通流量影响,还可能和一周前同一段时间该区域的交通流量变化具有相似性,即存在短期和长期的时间相关性.
为了获取城市区域交通流量在时间上的长短期之间的影响.首先,按时间轴将区域交通流量图划分为两个时间段,一个片段选用将要预测时段的前几个时间片段,另一个片段选用前几周相同时刻的城市区域交通流量图,分别表示近期城市交通流量变化和周周期城市交通流量变化.然后,对每个时间片段的区域流量图进行二维卷积操作,捕捉城市邻近区域之间车辆流动的影响.最后,将卷积之后的城市流量图按时间顺序重新堆砌,保留城市区域流量图的时间信息属性.
4.2 局部动态时空相关性模块
该模块将具有时间属性的城市区域流量图作为输入,使用三维卷积神经网络对邻近区域的时空动态相关性进行建模.
在交通数据中,相邻的时间间隔和地理位置的车流具有较强关联性.以北京早高峰为例,早上八点半时,车流常覆盖一个连续的区域.随着时间的推移,车流会向前移动,邻近区域也可能出现车道堵塞的情况.在交通数据分析中,捕获多个邻近区域连续时间段的运动信息至关重要.在现实问题中,只对邻近区域之间的流量相互影响进行建模还不够全面.三维卷积神经网络在视频分析问题中已经被证明可以从时间和空间两个维度有效地捕获运动信息[16],因此本文使用三维卷积神经网络来捕获城市区域车流局部动态时空相关性.
城市在某一时刻下切分成的所有流量图都可以看成是一个静态图像,以往的研究直接使用CNN进行多次卷积时会在第一次融合时丢失时间信息.三维卷积是通过堆叠多个连续的帧(也就是按时间序列连成的多个区域流量图)组成一个立方体,然后在立方体中运用三维卷积操作可以捕获邻近区域的时空动态相关性.在这个结构中,卷积层中每一个特征都会与上一层中多个邻近的连续帧相连,据此捕捉运动信息.运动信息的3D模型可表示为:
(5)
4.3 全局流动时空相关性模块
全局流动时空相关性模块用来捕获相距较远的城市区域之间交通流量的时空相关性.该模块结合残差和二维卷积神经网络模拟远距离城市区域交通流量关系.
单个区域不仅具有邻近区域依赖性,还与一些遥远区域存在远距离空间依赖关系.由于现代城市的先进交通系统,人们在短时间内可以乘坐地铁、电车去很远的地方.因此,区域间流量的远程空间依赖在城市交通中越来越重要.普通卷积难以有效捕获单个区域与远距离区域的关联关系,Lin等人[17]基于ST-ResNet提出了ResPlus单元捕捉远距离之间交通流量影响.如图5所示,ResPlus单元包含ConvPlus和普通卷积,ConvPlus模块有两个通道,一个通道是卷积核大小与网格尺寸大小相同的全局卷积神经网络,这个完全连接的层被用来捕获远距离交通流量影响,用来学习每一个区域的全局空间依赖.另一个是卷积核为3×3的普通卷积,用于获取周围区域对其区域的影响,然后将两个通道合并成一个通道,ConvPlus的输出与正常卷积输出具有相同的维度,可以用作下一个卷积的输入,最后和原始输入做残差操作.卷积层每个通道对应一个核,卷积使用这些核计算和映射空间的相互关系.卷积操作可定义为:
图5 ResPlus模型架构Fig.5 Architecture of ResPlus
(6)
在现实交通场景中,互相影响的两个区域可能具有地理位置相关性,例如住宅区和景点在节假日会有强联系.而ConvPlus结构是仅考虑城市每个区域两两之间的联系,忽视了远距离区域间交通流量因为地理信息而存在的强弱联系关系.受注意力模型CBAM模型的启发[18],本文使用空间注意力机制动态捕捉区域间因地理信息影响的交通流量强弱联系.空间注意力使用平均池化层和最大池化层对输入的特征图进行通道层面的压缩操作,最大池化的作用是在通道上提取最大值,平均池化是在通道上提取平均值,提取的次数都是高乘以宽,最后合并成一个二通道的特征图,具体操作如下所示:
(7)
其中,σ为Sigmoid激活函数,3×3表示卷积核的大小,AvgPool代表平均池化,Maxpool代表最大池化.
为了考虑远距离依赖和现实地理位置的影响,提出了一种改进的ResPlus模型(如图6所示),将空间注意力机制和ResPlus模型结合,并对原始的ResPlus模型使用双层残差操作,并加入归一化和激活函数等一系列优化,从而解决梯度消失和过拟合问题.其中,“Conv”表示卷积层,“BN”表示归一化层,“ReLU”表示激活层,“SAM”表示空间注意力.
图6 改进ResPlus模型架构Fig.6 Architecture of the improved ResPlus
4.4 融合预测模块
城市交通流量预测在近期和远期的历史交通流量上存在时间相关性,本文使用早期融合代替末尾融合机制.早期融合机制可以减少参数和简化网络,同时还能解决无法收敛的问题.同时,考虑到不同层的特征具有不同的功能,在网络末端设置了多尺度融合机制,在此基础上整个网络定义如下:
(8)
4.5 损失函数
本文提出的ST-3DGN模型是通过最小化损失函数进行训练,损失函数定义为城市区域真实交通流量值和预测值之间的均方误差:
(9)
其中θ是ST-3DGN可学习的参数.
4.6 评价函数
已知的城市区域交通流量预测采用网格化的方法,一般会使用均方根误差RMSE和平均绝对误差MAE度量方式来衡量预测模型的性能.本文同样采用准确率的两个指标对模型的效果进行评价,均方根误差的度量方法如下:
(10)
平均绝对误差度量方法如下:
(11)
5 实 验
5.1 实验设置
数据集:实验使用表1中介绍的两个公开数据集TaxiBJ和BikeNYC来验证ST-3DGN模型的有效性.BikeNYC是纽约的用户租赁自行车行驶轨道数据,纽约自行车数据主要由包含用户行程持续时间、起止站ID、起止时间的时空数据组成.TaxiBJ是北京出租车GPS数据生成的轨迹数据,记录了北京出租车2013年7月1号~2013年10月30号,2014年3月1号~2014年6月30号,2015年3月1号~2015年6月30号,2015年11月1号~2016年4月10号的行驶数据.两个数据集都以最后10天为测试集,剩下的数据为训练集.
表1 数据集统计信息Table 1 Statistics of datasets
参数设置:实验中,使用BikeNYC数据集时将纽约市划分为16×8个区域,每个区域规模约为1km×1km,每个时间间隔设置为一小时,区域的数值代表车辆在一个小时内的流入流出量.使用TaxiBJ数据集将北京市6环以内划分为32×32个区域,每个网格的长和宽大约为1.8km,每个时间间隔设置为半小时.两个数据集都使用归一化方法将交通流量数据压缩到[-1,1]的范围内.
实验采用Keras框架实现ST-3DGN模型.近期依赖序列长度设置为6和远期依赖序列长度设置为4;3D卷积为4层,每层有64个滤波器,第1层三维卷积核大小为10×3×3,其余的三维卷积核都为3×3×3.改进ResPlus单元数目为4,每个ResPlus包含Conv和ConvPlus单元,Conv和ConvPlus的通道数量都为64个,卷积核大小为3×3,ConvPlus中包含全局卷积神经网络和普通卷积神经网络,全局卷积神经网络的通道数为8,卷积核大小与网格大小相同.空间注意力机制的卷积核大小为3*3.
对比模型:本文将ST-3DGN模型和下面7种基线算法比较.基线算法中参数的设置为原文中使用的数值,实验结果是使用早停机制的最优结果.
HA:通过相应时期的历史流入和流出的平均值来预测人群的流入和流出.
ARIMA[19]:是时间序列预测分析方法之一,全称叫做自回归差分移动平均模型.
LSTM[2]:循环神经网络,一种特殊的RNN.LSTM单元由输入门、输出门和遗忘门组成,可用于序列系列类型的数据处理.
GRU[1]:递归神经网络,只有两个门,一个复位门和一个更新门,擅长处理序列类型的数据.
ConvLSTM[20]:一种擅长捕捉时空特性的LSTM,可以对城市区域人流的时间和空间相关性同时建模.
ST-ResNet[3]:一种基于残差学习的神经网络模型,可以有效捕捉时空特性和解决梯度爆炸问题.
DeepSTN+[17]:一个基于深度学习的卷积神经网络模型预测超大城市的区域人流量,通过对城市交通流量的大范围的空间依赖关系建模,同时使用融合POI分布和时间因素的方式引入城市区域人群流量的流动性先验知识,最后通过融合机制可稳定并提升预测性能.
ST-MetaNet[21]:一个基于深度元学习的模型,擅长处理时空数据,通过使用编码器学习历史信息,同时使用解码器逐步进行预测,能够有效捕获交通流量的时空相关性,因此该网络在交通流量预测方面具有优秀的性能.
ST-3DGN-P:该模型使用3D模型和使用未改进ResPlus模块.
ST-3DGN:本文提出的模型,在ResPlus模块中加入空间注意力并进行优化,结合3D模型使其能够对交通流量的流动性和周期性规律影响进行建模,有效预测城市区域车流变化.
5.2 实验结果和分析
实验结果:分别在BikeNYC和TaxiBJ数据集上验证了ST-3DGN模型预测下一个时刻区域进出流量的效果.实验采用均方根误差(RMSE)和平均绝对误差(MAE)作为评价指标对模型进行评价.如表2和图7所示,本文模型预测效果明显优于其它方法.
实验结果分析:从表2和图7中可以看出,其中HA、ARIMA、LSTM和GRU在实验中效果相对较差,因为它们只考虑了城市交通流量变化中的时间相关性,却忽视了城市区域交通流量的空间相关性.HA算法只捕捉流量数据的周期性模式,而忽略了最近的时间相关性,而ARIMA只考虑了时间相关性忽视了流量数据的周期性.从实验结果可以看出,ARIMA模型预测效果明显比HA好,这可能是因为短期城市区域未来交通流量流量很大程度上取决于近期城市区域间的交通流量.
图7 模型性能对比Fig.7 Model performance comparison
表2 不同方法在两个数据集上的预测性能比较Table 2 Performance comparison of different methods on the two datasets
其次,LSTM和GRU都是基于循环神经网络的模型.LSTM是一种为了解决存在于RNN结构无法解决的长期依赖问题而被设计出来的结构,由于其独特的重复神经网络的链式形式,LSTM适合处理和预测时间序列问题.GRU是LSTM的一种变体,它的结构比LSTM更加简单,它同样也能处理长期依赖问题.从实验结果看,二者效果相似.LSTM和GRU都只模拟时间特征,没有考虑空间信息.尽管LSTM和GRU在理论上可以捕获长期依赖关系,但是在实验中,当输入序列过长且多余时,很难进行有效的训练,训练时长也会比卷积神经网络长.
ConvLSTM和ST-ResNet可以捕获时间和空间相关性.然而,ConvLSTM没有考虑到城市区域车流具有流动性,也没有对周期性和趋势信息进行建模.ST-ResNet使用基于卷积神经网络的残差结构分3个通道,对长短时间依赖和远近城市区域之间的依赖进行建模.但是ST-ResNet对远距离空间依赖性建模是通过加深网络层数的方法,因此深层网络结构会导致训练困难和远距离空间依赖捕获不完全.DeepSTN+考虑了城市交通流量的远距离依赖关系,ST-MetaNet使用seq2seq的架构捕获城市交通流量的时空相关性,但这些模型都没有考虑到城市交通是一个动态的过程.从实验结果中可以发现,对时空建模预测效果明显优于比只对时间建模的效果.
与这些基线方法相比,ST-3DGN和ST-3DGN-p明显优于其它算法,因为这两个算法不仅考虑了城市区域车流是一个动态的过程,还考虑了局部时空动态相关性和全局时空相关性.在时间维度,模型还考虑了车流的周期规律和近期依赖影响.ST-3DGN使用3D卷积代替二维卷积对城市局部区域时空相关性进行建模,有效提升了预测性能,说明了考虑城市区域车流流动性的重要性.ST-3DGN比ST-3DGN-p稍有提升,ST-3DGN-p中对全局时空相关性建模使用的是原始ResPlus单元,虽然相对于ST-ResNet能够更好的捕获远距离空间依赖性,但是却忽视了地理信息因素的重要性.
ST-3DGN对ResPlus单元进行了改进,考虑了现实中地理位置对交通流量的影响,在全局流动时空相关性模块中加入空间注意力机制,能够更好地对远距离区域交通流量空间依赖性进行建模.ST-3DGN使用了早期融合机制,参数量比ST-ResNet少,能够更好地避免梯度爆炸问题.该模型在两个真实数据集上的实验性能提高了9%~14%,表明了本文提出的模型的优越性.
为了充分验证模型的鲁棒性,本实验将TaxiBJ数据分为4个部分:2013年7月1日~2013年10月30日、2014年3月1日~2014年6月30日、2015年3月1日~2015年6月30日、2015年11月1日~2016年4月10日.本实验将测试集都设置为10天,大部分超参数与前面测试相同.实验结果如表3和图8所示.从图表中可以看出,ST-3DGN在每个数据集上都优于效果最好的ST-ResNet模型.结果表明,对于短期交通流量预测问题,ST-3DGN具有较高的鲁棒性.
表3 ST-ResNet和ST-3DGN在TaxiBJ数据集上的效果Table 3 RMSE results of ST-ResNet and ST-3DGN on TaxiBJ data set
图8 不同年份的模型性能对比Fig.8 Model performance comparison under different years
6 结束语
本文提出了一种融合时空动态相关性和远距离区域交通流量影响的城市区域车流预测的新颖模型ST-3DGN,该模型以时空数据为输入,能同时建模交通流量的动态相关性和远距离地区间的车流影响,并能很好地融合不同功能.使用两种不同的真实数据集验证ST-3DGN的性能,将本文的模型与其它经典的方法进行比较.结果表明,该模型在不同的数据集上表现得非常稳定.本文提出的模型还可以用在城市交通拥堵预测和交通干道的车量流速上,在这些领域有着良好的应用前景.在交通流量预测中,天气变化和突发事故是城市交通流量变化的重要影响因素.将这些外部影响因素有效地融合到模型中,提升模型的预测精度是下一步要考虑的工作.