时间:2024-07-28
■朱志强
(深圳市市政设计研究院有限公司,深圳 518029)
机动车数量的不断增加使得交通拥堵状况日趋严重,为了缓解交通拥堵、实现车辆的高效率运行,在智能交通背景下的交通控制策略以及交通流智能化诱导显得十分必要, 而交通流量的预测是智能交通控制环节中不可或缺的重要组成部分[1],因此,本文针对交通流量的预测问题进行研究。 以往文献提出了众多的交通流量预测方法[2],在这些方法中,BP 神经网络模型应用较广[3]。张军[4]针对福泉高速公路车流量预测问题,应用BP 神经网络模型进行了研究, 研究结果证实了BP 神经网络拥有较好的容错性和鲁棒性。景辉鑫等[5]为了进一步提高模型的预测精度,对BP 神经网络模型进行了改进,提出了灰色ELM 神经网络的短时交通流预测方法,并通过仿真实验验证了所提模型具备较高的预测精度。常峰等[6]考虑交通流的混沌特性, 应用小波基函数对BP 神经网络模型的隐含层进行优化,有效提高了模型的预测精度。 钱伟等[7]分析了交通流具有每周各天特性相似的特征, 提出了灰色模型与BP 神经网络模型相组合的交通流量预测模型,研究结果表明,组合模型能够凸显各子模型部分的阶段性预测优势,从而提高模型预测精度。
可以看出,BP 神经网络模型虽然能够较好地用于交通流量的预测研究中, 但BP 神经网络模型本身存在这模型预测精度不够高的缺点。鉴于此,本文将Adaboost 算法融入传统BP 神经网络模型, 旨在进一步提高模型预测精度, 为智能交通控制系统中的交通流量预测提供参考。
BP 神经网络模型是一种常用的神经网络模型[8],在模型结构上它一般分为三个部分,即输入层、隐含层和输出层,如图1 所示。 在图1 中,输入层对应的是数据的输入,也称为自变量,自变量经过隐含层的数据训练,在输出层输出所预测的结果,即输出层输出的是因变量。输入层节点数用n 表示,隐含层节点数用l 表示,同时输出层节点数用m 表示, 则BP 神经网络模型通过隐含层的非线性函数关系,建立了从输入层n 到输出层m 的函数关系。
图1 BP 神经网络模型结构
BP 神经网络模型原理的核心在于数据的训练过程,其主要步骤如下:
步骤1:初始化神经网络
根据BP 神经网络模型的输入与输出数据矩阵计算n、l 和m 的值, 同时初始化各层神经元之间的连接权重系数wij和wjk,隐含层与输出层的范围a 和b,同时,确定神经元学习激励函数等参数。
步骤2:确定隐含层输出
应用公式(1)计算隐含层的输出:
其中,f 为激励函数。
步骤3:确定输出层输出
应用公式(2)计算输出层输出的预测结果Ok:
步骤4:分析误差
计算模型的预测误差如下:
其中,e 表示预测误差,Y 表示期望值,O 表示预测值。
步骤5:更新权重
依据所计算的预测误差e 的大小, 动态调节连接权重,计算公式如下:
其中,η 表示学习速率。
步骤6:更新范围
分别应用公式(5)和公式(6)更新,即:
步骤7:输出最终预测结果
若误差大于设定的误差范围,则返回步骤2,否则输出预测结果。
将Adaboost 融入BP 神经网络模型中,构建BP-Adaboost 预测模型, 提高原有BP 神经网络模型的预测精度。 Adaboost 算法本质上是一种迭代算法[9],它的迭代过程是:首先,应用次分层向量随机训练样本矩阵,并且确定训练因子为。 然后,以 为迭代次数,并计算迭代解,同时根据迭代结果调整训练因子,增加其权重值,经过一系列的多次迭代,得到弱预测器函数,并将这些弱预测器函数进行整合, 形成具备高精度特性的强预测函数。 这样,将Adaboost 算法融入至BP 神经网络模型中,得到的BP-Adaboost 预测模型结构如图2 所示,在图2 中,BP 神经网络模型是所构建BP-Adaboost 预测模型的基础,而Adaboost 算法是其中的关键组成部分。
图2 BP-Adaboost 预测模型结构流程
在图2 中,Adaboost 迭代算法融入预测模型中的原理具体如下:
步骤1:选择样本矩阵以及初始化网络模型
将样本矩阵分成 组,则训练因子为,同时确定相关参数。
步骤2:次分层向量的训练
划分次分层向量,记为,经过训练计算出相应的误差率,计算公式为:
其中,g(t)表示预测结果,y 表示期望结果。
步骤3:调整测试数据权重
通过下式计算误差率 的权重,如下:
步骤4:调整因子
调整因子的计算公式为:
步骤5:形成强预测器函数
经过T 次迭代共产生T 个次级向量f(gt,at),将这些次级向量进行组合,以此形成强预测器函数h(x):
选择合肥市某交叉口的某个进口道的交通流量数据作为本文交通量样本数据, 该样本数据是由交叉口检测器采集获得, 数据采集间隔为5min。 该样本数据包含了2018 年10 月份的15 个工作日的4530 个数据量,其中每个工作日均是全天候采集。 将样本数据中的前14 天的数据作为训练样本, 并将第15 天采集的数据作为测试样本,训练样本共有4228 组,测试样本共有302 组。 同时,针对全天候24h 以及早高峰时段分别进行交通流量预测与分析,其中早高峰时段是指早上7:00-9:00。
为了表明所构建的BP-Adaboost 预测模型在交通流量预测方面的优势, 将BP-Adaboost 预测模型与传统BP神经网络模型进行比较,在比较过程中,将测试样本作为基准,如图3 所示。其中,图3(a)显示的是全天候24h 的预测对比结果,而图3(b)则为早上7:00-9:00 早高峰时段内的预测对比结果。 由图3 可以看出,BP-Adaboost 预测模型的预测结果与样本数据的实际情况较吻合, 能够精确描述交通量的变化趋势,虽然传统BP 神经网络模型大体上也可以预测交通量的整体变化趋势,但是可以看出,传统BP 神经网络模型的预测精度较低,造成的预测误差较大,因此,图3 的对比分析表明了所构建的BP-Adaboost预测模型可以更好的应用于交通量预测研究中。
图3 预测结果对比分析
为了能够量化对比分析BP-Adaboost 预测模型与传统BP 神经网络模型在预测精度上的差异, 应用绝对误差、相对误差、均方根误差以及平均误差四种误差评价指标,来评估两种预测模型的预测精度。 这四种误差指标分别记为ER、RER、RMSE 和ε,计算公式分别如下[10]:
在误差计算公式中,x 表示实际交通量,x¯表示实际交通量的均值,x~表示交通量的预测值,n 表示样本数量。
应用四种误差评价指标计算得到的BP-Adaboost 预测模型与传统BP 神经网络模型在预测精度上的对比分析结果如表1 所示, 由表1 可知,BP-Adaboost 模型在全天候和早高峰的预测绝对误差分别小于58 辆和12 辆,而传统BP 神经网络模型的绝对误差则分别是121 辆和29 辆, 误差较大。 对于相对误差而言,BP-Adaboost 预测模型的全天候预测结果相对误差小于27%, 早高峰的预测相对误差小于14%,而传统BP 神经网络模型预测结果的相对误差上限分别是71%和39%, 同样具备较大的相对误差。 均方根误差可以反映预测结果的离散程度,从表1 中可以看出, 相比于传统BP 神经网络模型,BP-Adaboost 预测模型具有较低的均方根误差,表明了BP-Adaboost 预测模型预测结果的精密度较好、波动较小。 从整体水平角度看, 平均误差能够反映出预测结果的平均精度水平,BP-Adaboost 预测模型的平均误差控制在6%以内, 而传统BP 神经网络模型则具有较大的平均误差,表明了BP-Adaboost 预测模型具备比传统BP 神经网络模型更高的预测精度。
表1 误差分析结果
基于BP-Adaboost 模型对交通流量预测进行了研究,并通过交叉口15 个工作日的样本数据进行了实例分析, 实例分析的研究结果表明,BP-Adaboost 预测模型比传统BP 神经网络模型在绝对误差、相对误差、均方根误差以及平均误差等方面均具有更优的模型预测效果,证明了BP-Adaboost 预测模型在交叉口交通流量预测中的可行性, 可为智能交通系统中交通流量预测提供理论参考。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!