孙 平,张 萌
(山东交通学院,山东 济南 250307)
随着机动车保有量的不断增加,交通拥堵日益严重,交通供需矛盾日益突出。道路平均延误不仅是评价路网交通状态的主要指标,也是开展交通管控的主要依据之一。因此,研究道路平均延误的快速、精确获取方法,不仅可以为出行者提供精准的交通信息服务,也可以为交通管理部门制定科学的交通管理政策提供技术支撑。
在对交通延误计算方面,Webster[1]提出的交叉口延误模型,是目前最为典型的交叉口延误时间估计模型,并得到了广泛应用。但Webster延误计算模型是以一定假设为基础的,不能很好地计算车辆到达时所产生的交通延误,也无法估计在过饱和交通流状态下的信号控制道路交叉口交通延误。对此,Newell[2]对比分析了假设交叉口进口道处车辆的到达情况和驶离情况服从均匀分布、一般分布这两种情况,发现分布情况的不同会导致延误时间估计值存在显著差异。基于此,Newell建立了适用于交叉口饱和程度较大情况下的延误时间估计模型。何宁等[3]结合我国的实际交通状况,针对经典的Webster延误时间估计模型在我国城市无法直接使用这一问题,选取柯布—道格拉斯生产函数,对信号交叉口的延误时间现场数据进行非线性回归拟合,从而得到了交叉口延误时间估计模型。Dion等[4]比较各种延误估计模型,总结它们的不足后提出了时依延误模型。李锐等[5]以两相位信号控制交叉口为研究对象,通过分析车辆经过这种类型交叉口的延误产生情况,提出了基于等效流率的 Webster 车均延误时间修正模型。沈旅欧等[6]通过实例比较分析指出,现场实测交通延误数据与一些理论计算方法所得的值还存在着不可忽视的差异。GPS定位技术在交通领域的广泛应用,为交通延误的估计方法提供了新的方法,利用GPS数据估计交通延误的方法也不断深入。Hellinga等[7]利用公交车GPS定位系统和自动乘客计数系统来估算交叉口延误。朱伟刚等[8]利用实测 GPS 数据,针对路段行程时间的随机性开发了行程时间估计自适应模型,提出了交叉口延误估计模型,与传统的交叉口延误计算模型相比延误值估计精度显著提高。
关于利用BP神经网络模型预测交通类问题,国内外学者对此进行深入研究,大多数都是对交通流量进行预测。马君等[9]建立了一种基于神经网络的交通流量动态预测模型,采用BP神经网络和径向基网络(RBF)建立了预测模型。户佐安等[10]建立了BP神经网络预测模型,通过因子分析和因子结果归一化处理缩减了BP神经网络输入样本的数量,验证了模型的适应性,使得模型可以更加精确地预测交通信息量。寇飞[11]在对短时交通流进行预测时,将自适应人工鱼群算法与BP循环神经网络相结合,通过实例验证,证明了模型预测精度更加可靠。胡鑫泽等[12]基于BP神经网络理论预测未来时段交通流量,从而进一步预测未来时段拥堵情况。
在交通延误估计计算中,由于模型公式计算规定的假设条件比较多,导致延误计算过于理想化,得不到准确性比较高的延误数据。单一检测器估计法由于检测器使用时外界环境及检测器自身故障的影响,使得采集到的数据存在缺失、失真等问题,也致使延误估计出现一定程度的偏差。因此本文构建BP 神经网络预测模型,并针对传统BP 神经网络模型中权重和阈值分配不均的问题,使用遗传算法对BP神经网络延误预测模型进行优化,设计了基于遗传算法优化的BP神经网络延误预测模型。并通过该模型将济南市道路网络中典型路段和信号控制交叉口的浮动车数据和卡口检测器设备实测数据进行融合,充分发挥浮动车和卡口检测器的优点,弥补单一检测方式计算出的路段平均延误精度不高的缺点,获取更精准、更可靠的路段平均延误,为交通运营管理者提供更有力的数据支撑。
随着物联网技术的发展,交通传感设备大规模布设,城市交通数据采集覆盖面、精度和实时性逐渐提升。浮动车、卡口检测器等交通传感设备均可以采集到大量交通数据,为路段平均延误的估计提供数据支撑。本节提出了如何利用交通传感设备采集的数据估计平均延误的方法。
对浮动车GPS数据的研究过程中发现,浮动车GPS回传点的分布通常不会匹配到目标点上,但是浮动车在一定路线上短区间内行驶速度总在较小范围变化,在此较小区间内,车辆行驶距离与行驶时间呈线性正比关系。因此可以利用拉格朗日插值公式估计浮动车经过路段节点i的时间Ti,如图1所示。
图1 浮动车经过路段端点的时间估计
卡口检测器数据是由安装在交叉口处的智能车辆监控系统捕捉到的车辆信息,当车辆通过交叉口停车线位置的检测区域时,会将车辆的通行时刻、车牌信息、交通流量、速度等信息记录下来,并存储到系统中。
在上下游相邻交叉口进口道均安装卡口的情况下,车辆j经过上游卡口A的时刻为tA、下游卡口B的时刻为tB,车辆j由检测设备点A行驶到检测设备点B的行程时间T行:
车辆在此路段上的延误D:
图2 浮动车时间插值算法
由于视频卡口检测设备受到外界环境影响较大,所以导致检测器采集到的数据一般存在数据缺失、数据失真等问题,因而通过卡口检测器估计得到的路段平均延误存在一定的误差。
BP神经网络是一种多层前馈神经网络,也是目前应用范围较广的预测模型之一,但是BP神经网络的应用效率受到初始权值和阈值的影响较大。为解决传统BP神经网络初始权重和阈值分配不均,本研究采用遗传算法来改进BP神经网络,提出基于遗传算法优化的BP神经网络延误预测模型。
2.1.1 输入与输出层设计
BP神经网络输入层神经元有两个,分别为浮动车、卡口检测器数据估计得到的路段平均延误,输出层神经元为实际路段平均延误。
2.1.2 隐含层设计
隐含层设计的核心是确定隐含层层数与各隐含层的节点数,一般情况下BP神经网络的训练误差会随隐含层数及节点数的增加而减小,但同时会增加网络复杂度,使训练时间变长,而且可能产生过拟合使得网络泛化能力变差。本文设计不同隐含层节点数的神经网络结构,采用均方根误差RMSE作为该误差指标,来选取最佳的隐含层节点数。隐含层节点数可按经验公式(7)估算:
RMSE范围为[0,+∞),当预测值y^i与真实值yi完全吻合时等于0,即完美模型;误差越大,该值越大。
2.1.3 激活函数的选择
本文采用Sigmoid转换函数作为网络激活函数:
式中:β为平滑系数,其值越大,激活函数的曲线越平滑,收敛的速度越慢;相反其值越小,收敛的速度越快,在极值点也易产生波动。
2.1.4 数据归一化处理
为了提高模型的训练速度,避免模型陷入饱和运算,需要对原始输入数据进行归一化处理保证数据处于同一量级。模型采用premnmx函数将原始数据数值确定在[-1,1],保证运算精度。归一化公式如下:
式中:resule为神经网络输入输出归一化值;m为神经网络输入的标定值;min、max为输入的最小、最大标定值。
遗传算法优化BP神经网络的关键,在于先利用遗传算法模拟自然进化过程搜索最优解的方法,找出BP神经网络各个权值和阈值的较优解,缩小最优解的搜索范围,再通过优化后的BP神经网络算法进行反复多次的训练得到目标的最优模型参数[14]。具体算法结构流程如图3所示。
图3 GA-BP算法流程
(1)种群初始化,包括神经网络的权值ωi0、阈值bi0、种群P、交叉规模N、交叉概率Pc、变异概率Pm(0.1%~10%)、种群规模M。
(2)设置适应度函数,由(1)中初始种群值得到BP网络的初始权值和阈值,使用BP网络预测误差来确定适应度函数。
(3)选择运算,按照个体适应度,采用轮盘赌法。
(4)交叉运算,GA算法在计算过程中采用实数编码法,本研究采用实数交叉法[15],公式如下:
式中:axi为第x个染色体的i位;ayi为第y个染色体的i位;b为随机数,0≤b≤1。
(5)变异运算,对选中的个体,利用变异概率Pm将某一个或某一些基因值更改为其他的等位基因。
(6)用遗传算法优化算法得到的最优个体赋值给BP神经网络,作为权值和阈值输入,进而运行BP网络,得到最佳预测结果。
本文以济南市经十路中历山路路口与山师东路路口的路段为例,将经过这两个路口路段浮动车数据与卡口检测器数据提取、处理,按照本文提出的基于遗传算法的BP神经网络延误预测模型,对估计得到的路段平均延误进行融合,并对传统BP神经网络与遗传算法优化的BP神经网络,预测路段平均延误的精确性进行比较。
选择济南市经十路中历山路路口与山师东路路口两路口路段上早6时至晚20时的浮动车数据与卡口检测器数据。将浮动车数据、卡口数据通过数据预处理后,按照第一章内提出的延误估计方法,按每5 min时间间隔计算平均延误,估计得到的路段平均延误如表1所示。
表1 浮动车数据、卡口数据路段平均延误估计值
上文已分别求得基于卡口检测器数据的路段平均延误估计值m1和基于浮动车数据的路段平均延误估计值m2,将它们作为改进BP算法的输入值,实地调研获得的真实路段平均延误n作为算法的期望值。输入值和期望值如表2所示。
表2 BP神经网络输入值及期望值
从分析时间段中取6时至13时,该时段的数据作为训练样本,取13时至20时,该时段的数据作为测试样本。网络中,设定的初始学习速率η(0)为0.01,仿真 1 000 次,误差精度为 0.000 1,遗传算法参数初始种群规模为10,迭代次数为30,交叉概率为0.2,变异概率为0.1。
隐含层节点由经验公式(11)可知其范围在[3~12],实验运行不同网络结构,通过均方根误差RMSE的变化来确定出隐含层最佳节点数,实验运行的不同隐含层节点对应的RMSE变化如表3所示。
表3 不同隐含层节点数误差变化比较
由表3的数据可以明显看出,当隐含层节点为7时,运行结果均方误差RMSE是0.052 9,隐含层节点数为3时,运行结果均方误差RMSE是0.032 6,因此确定最优隐含层节点数为3。所构建优化的BP神经网络结构组成为2-3-1网络结构。
训练完成后,该模型隐含层各神经元的连接权重系数矩阵V=[2.336 5,-0.648 6;-2.190 5,1.040 1;-1.857 6,-1.558 6]。隐含层与输出层之间的连接权重系数矩阵W=[0.203 3;-0.559 7;-0.758 6]。输入层神经元阈值矩阵b1=[-2.436 7;-0.055 8;-1.615 9]。输出层神经元阈值矩阵b2= [-1.085 2]。
利用13时至20时的数据对遗传算法优化的BP神经网络延误预测模型进行测试后,结果如图4、图5所示。
图4 不同方法估计的路段延误对比
图5 不同方法估计的路段延误误差对比
由图4可以看出,与利用传统BP神经网络预测结果相比,遗传算法优化的BP神经网络延误预测模型的预测值更接近真实的路段延误。通过误差对比图5可以看出,传统BP预测模型误差有较大波动,采用遗传算法优化的BP神经网络延误预测模型,预测结果的相对误差都小于5.69%,即预测精度>94.31%,预测精度明显高于传统BP神经网络预测模型。
由表4可以看出,遗传算法优化的BP神经网络延误预测模型的平均绝对误差、均方误差、平均绝对百分比误差较传统BP预测模型有所下降,拟合优度更接近于1,表明引入遗传算法后提高了全局搜索能力,预测精度得到显著提升。由表5可以看到,遗传算法优化的BP神经网络延误预测模型预测结果的平均相对误差,就单一检测器估计得到结果的平均相对误差大幅降低。因此遗传算法优化的BP神经网络算法对浮动车数据和卡口检测器数据估计的路段平均延误融合后,可以更加准确地反映路段平均延误,满足道路管理者对精度的要求。
表4 两种模型的预测误差对比
表5 不同方法估计路段平均延误相对误差对比
本文基于对神经网络算法原理及多源交通数据特性的理解,首先分析了基于浮动车和卡口检测器数据估计路段平均延误的方法以及它们所存在的不足之处。其次针对传统BP预测模型初始权重和阈值分配不均的问题,通过遗传算法对BP神经网络延误预测模型进行改进,设计了基于遗传算法优化的BP神经网络延误预测模型,并且通过训练组数据将网络模型调整为最优状态。最后通过Matlab软件系统对模型进行仿真验证。结果表明:基于遗传算法优化的BP神经网络延误预测模型,融合估计出的路段平均延误比使用单一数据源估计的更加精准可靠,融合后预测精度高于94.31%。