Page 95 - 《软件学报》2020年第12期
P. 95
柏梦婷 等:行程时间预测方法研究 3761
值和滞后值进行回归所建立的模型 [25] .
Oda 等人 [50] 使用 ARIMA 模型进行了实验.当假设车辆长度为常量时,行程时间平均预测误差为 13.9%;当车
辆平均长度变化时,行程时间平均预测误差为 6.8%.此外,Saito [51] 和 Ishak [52] 等人也使用了 ARIMA 模型来预测
行程时间.Voort 等人 [53] 将 Kohonen 网络和 ARIMA 模型结合,其中,Kohonen 网络用于聚类.Zhicharevich 等人 [54]
使用 KARIMA 模型研究高速公路的实时短期行程时间预测问题.Williams 等人 [55] 提出了季节性自回归集成移
动平均模型(seasonal ARIMA,简称 SARIMA).SARIMA 在 ARIMA 的基础上添加了季节周期性变量,这是实现高
精度的关键特征 [55] .Xia 等人 [56] 提出一个 SARIMA 结合自适应卡尔曼滤波器的多阶段行程时间预测器,该模型
在新数据实时可用时,能够不断调整预测结果.使用 I-80高速公路数据预测未来 5min的行程时间,平均绝对百分
比误差为 5.34%.然而,这种方法在交通拥堵和发生事故时性能降低.我们认为:这是由于卡尔曼过滤器的更新频
率不够高,无法及时使用实时数据进行参数调整.Sun 等人 [57] 使用浮动车数据对城市任意出发地和目的地对之
间的行程时间进行了预测,结果显示:SARIMA 和卡尔曼过滤器的混合模型的性能优于单独的卡尔曼过滤器和
SARIMA 模型,平均绝对误差和平均绝对百分比误差均小于 7%.由于季节性分析能够提取交通的周期性模式,
而卡尔曼滤波能适应实时交通状况,季节性分析消除了卡尔曼滤波方法的滞后性,因而混合模型性能更好.
(3) 卡尔曼滤波
卡尔曼滤波(Kalman filtering,简称 KF)理论 [26] 在 20 世纪 60 年代被美国数学家 Kalman 提出.KF 方法采用
状态方程和观测方程组成的线性随机系统的状态空间模型,按线性无偏最小均方误差估计准则,采用递推算法
对状态变量作出最佳估计,从而求得滤掉噪声的数据的最佳估计.KF 方法在交通领域已被用于预测交通流量
[26] [58] [59]
、旅行分布和交通密度估计 以及实时需求转移 等方面.由于行程时间受到各种因素的严重影响,动态行
程时间的变化没有严格的规律.KF 方法可以利用行程时间的动态变化来进行预测 [60] .
Ji 等人 [61] 根据 KF 模型,使用浮动车速度数据动态预测行程时间.由于时间和空间的连续性,在某些路段获
得行驶时间观测值时,可以不断更新模型并预测行程时间.实验平均相对误差为 1.6%.Chen 等人 [62] 也使用 KF 进
行动态行程时间预测.仿真实验结果显示,该模型的相对方根误差小于 2.8%.Ojeda 等人 [63] 提出了在线预测行程
时间的自适应 KF 方法,该方法使用 CTM 对密度和流量进行预测,然后通过 KF 方法预测行程时间,将路口预测
行程时间和道路上预测行程时间之和作为最终预测结果.仿真实验结果显示,该模型预测错误率小于 9%.Liu 等
人 [64] 提出了增强型 SES 模型(ESES)方法预测短期行程时间.SES 由于简单而被广泛使用 [65] ,可以预测短期时间
序列.应用于交通预测时,如果未来的交通状况与历史数据基本一致,SES 表现良好 [66] .然而由于静态性,SES 无
法适应突发事件.KF 能在连续时间间隔内优化平滑因子,改善 SES 在突发状况的性能.具体来说,该模型将时变
平滑因子引入 ESES,预测的行程时间是历史和实时行程时间的加权平均值.实验结果表明,ESES 性能优于 KF
和 SES.
3.2.2 非参数方法
由于参数模型固有的缺点以及越来越多的数据可用,非参数模型逐渐被研发出来.本文主要讨论 4 种非参
数方法:神经网络、支持向量回归、最近邻和集成学习方法.
(1) 神经网络
1943 年,Pitts [67] 提出了神经网络的数学模型.此后,神经网络逐渐为研究人员们所推崇,并已应用于信息 [68] 、
生物学 [69] 、交通 [70] 等多个领域.
对于行程时间预测问题,神经网络模型一般使用行程时间或者速度等时间序列数据作为网络的输入,利用
历史数据对模型参数进行训练,目标是调整网络参数,以最小化网络实际输出和期望输出之间的差异,最后使用
训练好的模型预测行程时间.行程时间预测的神经网络一般有反向传播网络、循环神经网络、长短期记忆网络
和状态空间网络.这些网络在结构上不尽相同,用于预测行程时间时有各自的优缺点.
i. 反向传播神经网络
反向传播神经网络(back propagation neural network,简称 BPNN)使用反向传播算法 [27] 进行参数调优.
BPNN 内部的每一层神经元只与下一层神经元连接,同一层内的神经元相互独立.