基于GRU和Kalman滤波组合模型的公交车辆到站时间预测方法研究
2022-09-29刘政泽
刘政泽
(山东科技大学交通学院,山东 青岛 266400)
智慧公交是我国城市化高速发展的重要内容之一,公交到站时间是乘客较为关心的问题,准确的公交到站时间能够为出行者的时间安排提供依据。对此,国内外的相关学者进行了大量研究。
历史数据法在历史到站时间数据的基础上,结合路段信息如站点、路段、站间距离等信息,对车辆未来到站时间进行预测。XU等[1]建立路径剖面图,在历史数据基础上加入聚类算法计算站点间的时变分布。PANG等[2]利用多时间步长依赖关系,建立LSTM神经网络预测公交到站时间。LIU等[3]提出了一种基于时空特征向量的LSTM+ANN的综合预测模型,模型可以根据预测距离长短自动调整。Han[4]将预测过程分为CDS、DT、STS三部分并分别求得加权因子来计算公交行驶时间。以上方法在交通条件不变的情况下,预测效果较好,但当交通状况较为复杂时,基于历史数据的预测方法预测精度会降低,其实时性和抗干扰能力较差。因此在此基础上,许多学者利用实时数据与上述方法的预测结果相结合,根据公交车行驶状态的实时变化,对预测值做出调整。AVINASH等[5]为捕获数据中的线性非平稳空间相关性,使用线性卡尔曼滤波器进行预测,并分别进行单步和多步预测测试。于滨等[6]在支持向量机的基础上,结合Kalman滤波,减小了车辆行驶过程中外界因素对预测结果的影响。范光鹏等[7]将公交行驶时间看作短期没有规律的时间序列问题,提出了一种将LSTM与Kalman滤波相结合的预测模型。CHUNG等[8]比较了不同类型的递归单元,在对序列模型进行建模时,GRU和LSTM的表现更好。
GRU神经网络模型是RNN循环神经网络的优化模型,其在LSTM的基础上,对门单元进行精简,将原有的输入门、遗忘门和输出门简化为重置门和更新门,减少了神经网络单元参数,能够在训练时降低运算量,保证预测准确率的同时提高运算效率。卡尔曼滤波(Kalman Filtering)可以利用在车辆行驶过程中获得的实时数据,对到站基础时间序列进行更新,减小车辆行驶过程中突发影响因素对车辆到站时间预测准确率造成的影响。本文通过分析公交行驶过程以及影响公交行驶时间的多种因素,结合GRU神经网络和Kalman滤波,对公交到站时间进行预测,并以山东省青岛市西海岸新区60路公交车(以下简称60路)运行情况为例,给出其实际应用过程。
1 公交车到站时间预测分析
公交车到达站n点的时间为Tn,从站点n到下一站点n+1的时间为Tn+1,那么公交车到达站点的时间由式(1)表示。
当已知公交车的发车时间,即可通过预测公交车在各个站点之间的行驶时间,得到公交车到达各个站点的时间。
文章将根据公交车辆历史数据结合实时信息,对相邻站点间的公交行驶时间进行预测。通过分析多条趟次数据,发现公交车辆的总行驶时间是有规律的,但在不同的站点之间,其变化规律又各不相同,会受到站点、站间距离、是否为工作日、时段和天气等因素的影响,同时在行驶过程中遇到的突发事件,也会对预测准确率造成影响。
此次研究将预测过程分为两个阶段,首先利用车辆的历史数据对公交车的行驶时间进行预测,然后在此基础上,利用公交车到站时获得的实时数据进行更正,以此提高预测的准确性。
在第一阶段,利用历史数据对模型进行训练并预测,影响因素包括站点序号、车辆编号、天气、是否为工作日、时段和站间距离等。设表示公交车到达各个站点的多维数据变量。其中,k表示第k趟次,n表示第n个站点,T表示历史数据中各个站点之间的实际行驶时间,S表示站点序号,P表示运行时段,W表示天气情况,Q表示是否为工作日,D表示该站与下一站之间的距离,那么k+1第趟次车辆在行驶到每个站点时所经历的时间可由式(2)计算得到。
在公交车辆实际行驶过程中,车辆受到多种因素影响,会导致预测时间产生偏差,需要在已有时间序列的基础上,根据实时信息进行更正,由式(3)表示:
2 基于GRU和Kalman滤波的组合预测模型
2.1 GRU预测模型
利用GRU门控循环单元训练历史数据,得到基础预测模型,通过结合多源数据,对公交车辆的到站时间进行基础时间序列预测。GRU作为RNN的变种神经网络,与LSTM长短时记忆神经网络一样,能够解决RNN中反向传播时的梯度消失和梯度爆炸问题。相对于LSTM,GRU内部结构较为简单,只有两个门单元,如图1所示。更新门将上一时刻输入GRU单元的信息带入到当前时刻,控制上一时刻信息进入当前GRU单元的数量,更新门数值越大,进入当前状态的信息就越多;重置门与LSTM中遗忘门的设定相似,控制之前信息的遗忘数量,判断多少信息将通过到下一候选集上,重置门的值越小,说明被遗忘的信息越多。
图1 GRU单元结构
GRU网络的前向传播公式如下式所示。
2.2 卡尔曼滤波
式中:Kn为卡尔曼增益系数,须使得均方差Pn为Φ最小。
综上,可以得到公交车辆行驶时间预测的Kalman滤波递推方程:
2.3 时间预测组合模型
使用组合模型的预测过程如图2所示,主要包括两个阶段,第一阶段为基于GRU的基础时间序列预测,首先对原始数据进行预处理,数据处理好后将历史数据输入到GRU模型中进行训练。训练好后,将需要预测的数据变量输入到模型中进行预测,得到站点之间的基础行驶时间,但由于基于历史数据的预测模型未考虑到车辆在行驶过程中遇到的其他因素,因此需要通过第二阶段进行实时调整。第二阶段在第一阶段预测的行驶时间基础上,加入Kalman滤波对其进行实时调整,从而保证到站时间预测的实时性和准确性。
图2 公交车站间行驶时间预测
首先将Φn、Bn和Hn等初始系统状态参数输入到模型中,基于本文研究问题,设定Φn、Bn和Hn为单位矩阵,wn、vn设定为相互独立、期望为0的独立白噪声。车辆在首站出发时,设置初始时间为,通过GRU神经网络得到了车辆运行时间的基础时间序列,因此车辆到达第2站的先验时间。当到达第2站时,通过车辆的GPS系统,获得车辆到达该站点的实际观测时间。再根据Kalman滤波递推公式,得到该站点的卡尔曼增益系数K2,对后续到站时间进行修正更新,以此递推,能够在行驶过程中不断更新到站时间,减少车辆在行驶过程中产生的累计误差。
2.4 预测效果评价指标
实例验证时采用的评价指标选择了均方差(RMSE)和平均绝对误差(MAPE)两个评价指标。通过分析不同站点实际到站时间和预测到站时间的均方差和平均绝对误差来对预测的准确性进行评价,同时与其他预测模型进行对比。计算公式如下:
3 实例验证
3.1 模型建立及训练
为了验证上述模型的有效性,利用青岛西海岸新区60路公交车2019年10月1日—2019年10月31日的数据对模型的有效性进行验证,其中10月1日—10月19日的数据作为训练集,10月20日—10月26日的数据作为验证集,10月27日—10月31日的数据作为测试集。60路下行方向由安子公交枢纽站到星光岛首末站,全长18.7 km,共经过32个车站,由于原始数据存在重复、缺失等问题,需要对其进行补齐,替换站点序号,同时通过天气网站的历史信息对天气部分进行补齐,晴天、多云、阴天等标记为1,雨天、雾天等不良天气标记为2,相邻站点之间距离利用青岛真情巴士公司提供的站点信息进行匹配。根据公交车的早晚运行时间,将早5点到晚22点共17个小时按照每小时一个时段进行划分。
本文模型预测的站间行驶时间与实际行驶时间的对比如图3所示,可以看出,所提出的GRU神经网络预测模型的预测效果较好。
图3 预测时间与实际时间对比
3.2 模型对比
通过公式(13)和公式(14)定义的RMSE、MAPE评价指标来对公交到站预测时间的准确度进行评价,结果如表1所示,可以看出,在预测公交车到站时间上,GRU模型平均绝对误差最小,SVM模型和LSTM模型相对于GRU模型表现不佳。
表1 不同模型的评价指标对比
GRU本身的单元结构相对于LSTM要简单,在实际训练过程中,其训练参数相对于LSTM更少,所以预测效率要高于LSTM。两种模型在训练同一组数据时的损失函数下降图如图4所示,可以看到GRU相对于LSTM在训练和验证时的损失函数收敛更快,损失值更小。
图4 GRU模型与LSTM模型损失值对比曲线图
单纯的GRU模型对预测效果还不够理想,因此加入Kalman滤波对预测结果进行实时调整,调整结果如图5所示,可以看出调整后的行驶时间与实际行驶时间几乎重合,误差更小。
图5 Kalman滤波调整前后的行驶时间
调整后的评价指标对比如表2所示,可以看出,在结合卡尔曼滤波后,三类模型的平均绝对误差值和均方差值都显著降低。
表2 Kalman滤波调整后的评价指标
不同模型在各个站点的RMSE、MAPE分别如图6和图7所示。可以看出,在加入Kalman滤波进行实时调整后,各个站点的预测时间RMSE、MAPE都显著降低。SVM模型在各个站点的预测均方误差都远远大于LSTM和GRU,相比之下,LSTM和GRU的均方误差相差不大,但GRU还是要略低于LSTM,说明三种模型中,GRU的预测效率要优于SVM和LSTM。
图6 Kalman滤波调整后各个站点的RMSE
图7 Kalman滤波调整后各个站点的MAPE
4 结语
文章分析了公交到站过程及影响公交到站时间的因素,利用青岛市西海岸新区60路公交车的历史行驶数据,提出了一种公交到站时间预测方法。首先,将多维数据进行融合,生成历史时间数据序列,建立GRU双层神经网络模型,预测公交车在各个站点之间的行驶时间。然后,在此基础上,通过Kalman滤波结合GPS信息,对预测结果进行实时调整,以此来提高预测的准确率。结果表明,GRU神经网络可以有效处理时间序列问题,避免梯度消失和梯度爆炸。在预测效率方面,与同样能够处理时间序列问题的LSTM模型相比,GRU模型效率更高。在预测误差方面,文中构建的GRU和Kalman滤波组合模型预测结果误差更小。可以将不同时段不同地区的道路拥挤程度通过量化表示,在预测时将其列入影响因素范围内,从而进一步提高预测的准确率。