随着我国汽车保有量的不断增长,高速公路上的车辆也越来越多,加之节假日、通行时间限制以及天气等因素的影响,导致交通环境越发复杂,车辆在高速公路上的行程时间具有波动性,呈现出非线性的特点,预测难度也越来越大,而在先进的交通信息系统所提供的信息中,最有价值的信息内容之一就是实时的预测行程时间.因此,高速公路行程时间预测一直是研究热点,如Jiwon等[1]和Zhao等[2]采用KNN方法对行程时间进行了预测.王翔等[3]改进K最近邻非参数回归预测方法对高速公路短时行程时间进行了预测.邢雪等[4]以历史行程时间作为特征向量,采用K-means方法进行了预测.景立竹等[5]研究了高速公路交通流状态对车辆通行时间的影响,并对行程时间进行了预测.陈娇娜等[6]基于Bootstrap建立了行程时间区间预测模型.
Zhang等[7]、毕松等[8]和Oh等[9]综述了现行的行程时间预测方法.主要分为两大类:一类是传统的统计学方法,如线性回归、自回归移动平均值等.但这些方法不能很好地预测具有非线性特点的行程时间[10].另一类是诸如模糊推理系统、支持向量机和神经网络等机器学习法.模糊推理系统缺乏自学习能力,支持向量机也不能很好地处理大规模数据[11].而神经网络在非线性、局部极小值和处理大规模数据等方面均具有较好的表现,应用广泛,如江安等[12]利用小波神经网络对二氧化碳和水溶液体系界面张力进行了预测;丁宏飞等[13]综合利用BP神经网络和支持向量机进行了预测;Xie等[14]设计神经网络通过采集到的历史数据和实时数据对香港交通进行了预测;李松江等[15]采用系统聚类法与BP神经网络相结合的方法,以15 min为一个时段对高速公路行程时间进行了预测.然而,以上算法都是前馈式神经网络算法,前馈式神经网络在处理时间序列数据时只能利用当前信息,无法利用历史信息,即使在一定程度上提高预测精度,但依旧不是特别理想.为此,20世纪90年代,Elman就已经设计了递归神经网络(recurrent neural network, RNN),在该网络中,隐藏层的输入同时包含当前时刻输入层的输入和前一时刻隐藏层的输出,理论上,RNN能够对任何长度的序列数据进行处理.但是在实践中,RNN对学习远距离信息的能力欠佳,存在梯度消失和梯度爆炸的问题.为了解决该问题,1997年,Hochreiter等[16]对普通RNN的隐藏层进行了改进,设计了长短期记忆单元(long short-term memory,LSTM),LSTM经过输入门、遗忘门和输出门来控制前面的状态、当前的输入和当前的记忆,并使用不同的传递函数来计算隐藏层状态.通过3个门的设置,LSTM解决了梯度消失和梯度爆炸的问题,成为了学者们处理时间序列问题的良好方法,得到了广泛的应用.Petersen等[17]结合LSTM神经网络和卷积神经网络对公交行驶时间进行了预测.Duan等[18]改进了LSTM模型并使用英国高速公路66个路段的旅行时间数据进行了训练,验证了模型的预测性能.张威威等[19]考虑空间相关性,采用LSTM神经网络对旅行时间进行预测,并与BP神经网络等进行了对比,指出LSTM拟合效果更好.Ran等[20]考虑出发时间的影响设计LSTM,对英国高速公路行程时间进行了预测.
然而,LSTM神经网络同时也存在着结构复杂、参数过多、收敛速度较慢、训练时间太长的缺点.为此,Cho等[21]对其进行改进提出了收敛速度更快的GRU(gated recurrent unit,GRU)神经网络并用于机器翻译.另外,Chung等[22]也分析指出了GRU和LSTM有相近的表现.自此,GRU神经网络得到了广泛的应用[23-24].
综上所述,在有关行程时间预测方面,已经取得了一定的研究成果,但还存在如下问题: 1) 由于交通信息的复杂性,当数据维数较大时,运算时间过长; 2) 预测方法参数过多,结构复杂; 3) 没有很好地利用时间序列数据的历史信息.而递归神经网络的出现为时间序列预测领域的发展带来了巨大的机遇.但总体而言,在行程时间预测领域,递归神经网络的应用还处于初步探索阶段,而随着ETC等智能交通系统的发展,高速公路历史行程时间可以通过车辆进出收费站刷卡数据交易获取.基于此,本文设计门控递归单元神经网络应用于高速公路行程时间预测领域,具有一定的理论意义和实际应用价值.本文主要工作如下:首先,综述了有关行程时间预测的国内外研究现状;接着介绍了门控递归单元神经网络;然后设计了高速公路行程时间预测流程;最后进行了案例应用.
GRU内部结构如图1所示.
图1中,xt为当前时刻GRU模块的输入;ht-1为上一时刻的状态;rt为重置门,可通过式(1)求出,用于决定候选状态对ht-1的依赖程度;zt为更新门,可由式(2)求出;ht是经过重置门处理后的输出候选值.联立式(1)~(4)可求得ht:
rt=sigmoid(Urht-1+Wrxt+br),
(1)
zt=sigmoid(Uzht-1+Wzxt+bz),
(2)
(3)
(4)
其中,Ur和Wr分别为t-1时刻输出和t时刻输入到重置门的权重矩阵,br表示重置门的偏置量;Uz和Wz分别为t-1时刻输出和t时刻输入到更新门的权重矩阵,bz表示更新门的偏置量;Uc和Wc分别为t-1时刻输出和t时刻输入到候选隐藏状态的权重矩阵,bc为候选隐藏状态的偏置量.
图1 GRU内部结构图
Fig. 1 The internal GRU structure
从式(1)~(4)中可以看出,sigmoid函数控制更新门和重置门的取值范围.重置门控制xt与ht-1的结合方式,rt越趋于0,则ht-1所占比例越小.更新门zt决定ht-1进入当前时刻的大小,zt越接近1,则之前时刻的信息利用也越多.
GRU和LSTM都是利用门控来保留重要历史特征,但是,与LSTM相比,GRU结构更简单,GRU只有两个门且没有细胞状态,它将遗忘门和输入门合并成更新门来控制上一时间步的隐藏状态信息传递到当前隐藏状态.上一时间步的隐藏状态信息通过重置门控制遗忘情况.GRU尽管没有LSTM的细胞状态, 但其仍对历史隐藏状态具有良好的记忆能力.因此,相较于传统LSTM而言,GRU更加简单,却也能够保持LSTM的预测效果.
本文将高速公路行程时间预测设计为8个步骤,通过以下步骤可实现使用GRU神经网络对高速公路短时行程时间的预测,预测流程如图2所示.
Step 1 采集数据.利用车辆通过高速公路进出收费站的刷卡数据获取该时刻收费站之间路段所需的行程时间.
Step 2 处理数据.对历史输入数据进行预处理,以每30 min为一个时段,计算各时段行程时间平均值作为该时段所需的行程时间,然后采用最小最大标准化技术将各时段行程时间映射到[0,1]之间:
(5)
式中,xmax和xmin是原始数据中的最大值、最小值;xi为需要处理的数据;为标准化后的值.
Step 3 划分数据.为了提高模型的泛化能力,将时间序列数据集划分为训练集、验证集和测试集,并设置分割窗口长度.
Step 4 构建GRU神经网络结构.本文利用第t时段、t-1时段 、t-m时段的行程时间数据来预测第t+1时段的行程时间,因此,输入层神经元个数设置为m+1个,输出层神经元个数设置为1个.将输入层神经元输入隐藏层,隐藏层的第一层为GRU层,第二层为全连接层,若需要多个GRU层或全连接层可以依次叠加,隐藏层的层数和各层神经元的个数根据数据规模确定.
Step 5 随机初始化各层之间的连接权值和各神经元的偏置,并选择合适的激活函数和损失函数.本文使用均方误差来作为损失函数:
(6)
式中,n为训练集样本数;yi 为实际值;y′i为输出值.
Step 6 训练模型.将训练集和验证集输入模型,并利用损失函数计算误差.本文使用2014年Kingma等提出的Adam(adaptive moment estimation)[25]优化方法来优化模型参数.训练算法如下:首先设全局学习率为η,默认值为0.9,矩估计的指数衰减速率为β1和β2,一般分别取0.9和0.999,初始化参数W0,初始值为0的一阶和二阶矩变量m0,v0以及时间步计数t(初始化为0).然后循环执行以下步骤,直至满足停止要求为止.
① 计算梯度:
gt=J(Wt-1),
(7)
式中,gt为第t时间步的梯度值,J为代价函数,Wt-1表示第t-1时间步的权值矩阵.
② 更新时间步t.
③ 更新一阶有偏矩估计:
mt=β1mt-1+(1-β1)gt,
(8)
式中,mt为一阶动量项,β1为一阶矩估计的指数衰减率,默认值为0.9.
④ 更新二阶有偏矩估计:
(9)
式中,vt为二阶动量项,β2为二阶矩估计的指数衰减率,默认值为0.999.
⑤ 对一阶矩的偏差进行修正:
(10)
⑥ 对二阶矩的偏差进行修正:
(11)
⑦ 计算参数的更新量:
(12)
式中,η为学习率,默认值为0.9,δ是一个取值很小的数,默认值为10-8.
⑧ 更新参数:
Wt+1=Wt+Δw.
(13)
Step 7 测试模型.将测试集输入训练好的模型,并进行反标准化处理,得到对应的行程时间预测值.
Step 8 评估模型.采用均方根误差(RMSE)和平均绝对误差(MAE)对预测结果进行评价,其值越小,模型对于真实值拟合的偏差越小,结果越准确,计算表达式如下:
(14)
(15)
其中,N为测试集的样本数量,y′i为模型预测值,yi为观测值.
图2 GRU神经网络预测流程图
Fig. 2 The GRU neural network prediction flow chart
本文采用的样本数据为OPENITS所开发的广州市机场高速南线(三元里至机场南路段,全长约26 km)连续10天的半小时平均行程时间数据(详见网站:http://www.openits.cn/),共计480个样本,如图3所示.
图3 行程时间数据图
Fig. 3 Travel time data
根据时间顺序,按照6∶1∶3的比例将全部样本划分为训练集、验证集和测试集.构建的GRU网络为一层GRU加上一个全连接层.其中,输入层神经元个数设为8,输出层神经元个数设为1,GRU层有14个神经元,全连接层为1个神经元,使用sigmoid和tanh激活函数.Dropout设置为0.1,在模型训练过程中,损失函数使用均方误差函数,使用Adam优化器进行优化.迭代次数(epoch)为50次.本文编程在PYTHON环境下实现,以TENSORFLOW为后端,并基于KERAS深度学习框架,使用KERAS中的序贯模型进行编程,运行平台为Intel(R)Core (TM)i5-6300U 2.40 GHz CPU,4.0 G内存.模型构建后,将样本集输入模型,程序运行12.7 s后得到预测结果和损失值曲线分别如图4和图5所示.
图4 GRU神经网络预测测试结果
Fig. 4 GRU neural network prediction test results
图5 训练数据和验证数据的损失值
Fig. 5 Losses of the training data and the validation data
图4中虚线表示对训练集进行预测的结果,实线表示对测试集进行预测的结果,点线表示原始数据.由图可知,GRU神经网络对高速公路行程时间预测效果较好.
表1 不同旅行时间序列输入长度下的RMSE和MAE
Table 1 The RMSE and MAE under different input lengths of travel time series
№.lengthtrainingRMSEtestRMSEtrainingMAEtestMAE1192.1986.8367.1165.182392.0688.6064.6965.323586.5682.6263.2964.314788.6987.5661.7965.115989.1289.2967.2170.0361185.9987.3059.6566.0671383.0786.5558.7166.6481582.6585.6458.2064.70
从图5中可以看出,不论是训练集还是验证集,损失值都趋近于越来越小,没有出现过拟合的情况.为了找到最佳的旅行时间序列输入长度,本文将旅行时间序列长度分别设置为1,3,5,7,9,11,13,15运行程序,得到训练集和测试集的RMSE和MAE如表1所示.从表1中可知,当输入长度为5时,测试集的RMSE和MAE都最低.
为了进一步验证GRU神经网络的预测效果,引入LSTM、BP神经网络进行模型间比较分析.构建LSTM神经网络和GRU网络结构完全一致,只是把GRU层换成了LSTM层;构建BP神经网络由两个全连接层构成,神经元个数分别为14个和1个输出神经元.分别迭代10次后,结果如表2所示.通过不同模型间的对比可以看出,不论是RMSE还是MAE模型预测评价指标,GRU神经网络对高速公路行程时间的预测效果都优于LSTM和BP神经网络模型,同时所需训练时长也比LSTM需要时间更少.
表2 不同模型预测效果
Table 2 Prediction effects of different models
GRULSTMBPNNRMSE97.65101.29116.51MAE75.2081.0786.09timet/s7.6616.56.8
针对高速公路行程时间具有非线性和时间序列性的特点,本文引入深度学习中的GRU神经网络应用于高速公路行程时间预测,丰富了高速公路行程时间预测相关理论,为相关学者以及交通管理部门等提供新思路.通过对广州市机场高速南线行程时间预测,证明了GRU神经网络对高速公路行程时间预测效果较好. 通过与LSTM神经网络和BP神经网络的对比分析表明,GRU神经网络的预测效果好于LSTM神经网络和BP神经网络.
[1] JIWON M, KIM D K, KHO S Y, et al. Travel time prediction using K nearest neighbormethod with combined data from vehicle detector system and au-tomatic toll collection system[J]. Transportation Research Record Journal of the Transportation Research Board, 2011, 20(2256): 51-59.
[2] ZHAO Jiandong, GAO Yuan, TANG Jinjin, et al. Highway travel time prediction using sparse tensor completion tactics and K-nearest neighbor pattern matching method[J]. Journal of Advanced Transportation, 2018, 2018: 5721058.
[3] 王翔, 陈小鸿, 杨祥妹. 基于K最近邻算法的高速公路短时行程时间预测[J]. 中国公路学报, 2015, 28(1): 102-111.(WANG Xiang, CHEN Xiaohong, YANG Xiangmei. Short term prediction of expressway travel time based on K nearest neighbor algorithm[J]. China Journal of Highway and Transport, 2015, 28(1): 102-111.(in Chinese))
[4] 邢雪, 于德新, 田秀娟, 等. 基于数据挖掘的高速公路行程时间预测[J]. 华中科技大学学报(自然科学版), 2016, 44(8): 36-40.(XING Xue, YU Dexin, TIAN Xiujuan, et al. Freeway travel time prediction based on clustering method with data mining[J]. Journal of Huazhong University of Science and Technology (Nature Science Edition), 2016, 44(8): 36-40.(in Chinese))
[5] 景立竹, 李群善, 许金良, 等. 基于v/C比和载重汽车混入率的高速公路基本路段车辆平均行程时间预测模型[J]. 长安大学学报(自然科学版), 2018, 38(5): 106-113.(JING Lizhu, LI Qunshan, XU Jinliang, et al. Average travel time prediction model in basic expressway sections based on v/C ratio and truck percentage[J]. Journal of Chang’an University(Natural Science Edition), 2018, 38(5): 106-113.(in Chinese))
[6] 陈娇娜, 张翔, 张生瑞. 高速公路行程时间Bootstrap-KNN区间预测分析与实证[J]. 控制与决策, 2018, 33(11): 2080-2086.(CHEN Jiaona, ZHANG Xiang, ZHANG Shengrui. Analysis and empirical study on highway travel time interval prediction based on Bootstrap-KNN[J]. Control and Decision, 2018, 33(11): 2080-2086.(in Chinese))
[7] ZHANG Y, SHI W H, LIU Y C. Comparison of several traffic forecasting methods based on travel time index data on weekends[J]. Journal of Shanghai Jiaotong University (Science), 2010, 15(2): 188-193.
[8] 毕松, 车磊, 赵忠诚, 等. 城市路网路段行程时间预测研究综述[J]. 计算机仿真, 2014, 31(7): 157-160.(BI Song, CHE Lei, ZHAO Zhongcheng, et al. A survey on the link travel time prediction for urban road net[J]. Computer Simulation, 2014, 31(7): 157-160.(in Chinese))
[9] OH S, BYON Y J, JANG K, et al. Short-term travel-time prediction on highway: a review of the data-driven approach[J]. Transport Reviews, 2015, 35(1): 1-29.
[10] KASAI M, WARITA H. Refinement of pattern-matching method for travel time prediction[J]. International Journal of Intelligent Transportation Systems Research, 2014, 13(2): 84-94.
[11] 王增平, 赵兵, 纪维佳, 等. 基于GRU-NN模型的短期负荷预测方法[J]. 电力系统自动化, 2019, 43(5): 53-58.(WANG Zengping, ZHAO Bing, JI Weijia, et al. Short-term load forecasting method based on GRU-NN model[J]. Automation of Electric Power Systems, 2019, 43(5): 53-58.(in Chinese))
[12] 江安, 刘平礼, 李年银, 等. 小波神经网络模型预测二氧化碳+水溶液体系界面张力[J]. 应用数学和力学, 2017, 38(10): 1136-1145.(JIANG An, LIU Pingli, LI Nianyin, et al. Prediction of interfacial tension between CO2 and brine with the wavelet neural network method[J]. Applied Mathematics and Mechanics, 2017, 38(10): 1136-1145.(in Chinese))
[13] 丁宏飞, 李演洪, 刘博, 等. 基于 BP神经网络与SVM的快速路行程时间组合预测研究[J]. 计算机应用研究, 2016, 33(10): 2929-2932.(DING Hongfei, LI Yanhong, LIU Bo, et al. Expressway’s travel time prediction based on combined BP neural network and support vector machine approach[J]. Application Research of Computers, 2016, 33(10): 2929-2932.(in Chinese))
[14] XIE J M, CHOI Y K. Hybrid traffic prediction scheme for intelligent transportation systems based on historical and real-time data[J]. International Journal of Distributed Sensor Networks, 2017, 13(11): 1-11.
[15] 李松江, 宋军芬, 杨华民, 等 基于聚类分析的高速公路行程时间预测[J]. 计算机仿真, 2019, 36(2): 384-388.(LI Songjiang, SONG Junfen, YANG Huamin, et al. Travel time prediction of freeway based on clustering analysis[J]. Computer Simulation, 2019, 36(2): 384-388.(in Chinese))
[16] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8) : 1735-1780.
[17] PETERSEN N C, RODRIGUES F, PEREIRA F C. Multi-output bus travel time prediction with convolutional LSTM neural network[J]. Expert Systems With Applications, 2019, 120: 426-435.
[18] DUAN Y, LÜ Y, WANG F. Travel time prediction with LSTM neural network[C]//2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC). Rio de Janeiro, Brazil, USA, 2016.
[19] 张威威, 李瑞敏, 谢中教. 基于深度学习的城市道路旅行时间预测[J]. 系统仿真学报, 2017, 29(10): 2309-2315.(ZHANG Weiwei, LI Ruimin, XIE Zhongjiao. Travel time prediction of urban road based on deep learning[J]. Journal of System Simulation, 2017, 29(10): 2309-2315.(in Chinese))
[20] RAN X D, SHAN Z G, FANG Y F, et al. An LSTM-based method with attention mechanism for travel time prediction[J]. Sensors, 2019, 19(4): 861.
[21] CHO K, MERRIENBOER B V, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[R/OL]. [2019-07-19]. https://arxiv.org/pdf/1406.1078.pdf.
[22] CHUNG J, GULCEHRE C, CHO K H,et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[R/OL]. [2019-07-19]. https://arxiv.org/pdf/1412.3555v1.pdf.
[23] 王体迎, 时鹏超, 刘蒋琼, 等. 基于门限递归单元循环神经网络的交通流预测方法研究[J]. 重庆交通大学学报(自然科学版), 2018, 37(11): 76-82.(WANG Tiying, SHI Pengchao, LIU Jiangqiong, et al. Research on traffic flow prediction method based on gated recurrent unit recurrent neural network[J]. Journal of Chongqing Jiaotong University(Natural Science), 2018, 37(11): 76-82.(in Chinese))
[24] 刘明宇, 吴建平, 王钰博, 等. 基于深度学习的交通流量预测[J]. 系统仿真学报, 2018, 30(11): 4100-4114.(LIU Mingyu, WU Jianping, WANG Yubo, et al. Traffic flow prediction based on deep learning[J]. Journal of System Simulation, 2018, 30(11): 4100-4114.(in Chinese))
[25] KINGMA D P, BA J L. Adam: a method for stochastic optimization[R/OL]. [2019-07-19]. https://arxiv.org/pdf/1412.6980.pdf.