短时交通流量是一种具有较强的随机性数据,不仅受到上下游历史数据的影响,而且还与天气等因素有关。为了提高短时交通流量预测的精度,采用遗传算法与BP神经网络组合的方法进行研究。同时针对BP神经网络存在网络初始权值随机的缺陷以及传统遗传算法易陷入局部最优和过早收敛等问题,给出了一种基于自适应遗传算法优化的BP神经网络短时交通流量预测模型,该模型通过自适应遗传算法对BP神经网络的初始权值进行优化,从而对短时交通流量进行预测分析。并结合实验数据验证了该模型的可靠性,该模型可以优化出行体验以及为交通管理部门制定缓解交通拥堵措施。 Short-term traffic flow is a kind of strong random data, which is not only affected by historical data of upstream and downstream, but also related to weather factors. In order to improve the accuracy of short-term traffic flow prediction, a combination of genetic algorithm and BP neural network is used for research. At the same time, aiming at the shortcomings of the random initial weight of the BP neural network and the traditional genetic algorithm is easy to fall into local optimum and premature convergence, a short-term traffic flow prediction of the BP neural network based on the adaptive genetic algorithm optimization is given A model that optimizes the initial weight of a BP neural network through an adaptive genetic algorithm to predict and analyze short-term traffic flow. The reliability of the model is verified with experimental data. The model can optimize the travel experience and specify traffic congestion measures for the traffic management department.
汪明州,艾显红,秦康恒,黄焕清
成都信息工程大学,四川 成都
收稿日期:2020年8月1日;录用日期:2020年8月19日;发布日期:2020年8月26日
短时交通流量是一种具有较强的随机性数据,不仅受到上下游历史数据的影响,而且还与天气等因素有关。为了提高短时交通流量预测的精度,采用遗传算法与BP神经网络组合的方法进行研究。同时针对BP神经网络存在网络初始权值随机的缺陷以及传统遗传算法易陷入局部最优和过早收敛等问题,给出了一种基于自适应遗传算法优化的BP神经网络短时交通流量预测模型,该模型通过自适应遗传算法对BP神经网络的初始权值进行优化,从而对短时交通流量进行预测分析。并结合实验数据验证了该模型的可靠性,该模型可以优化出行体验以及为交通管理部门制定缓解交通拥堵措施。
关键词 :短时交通流,BP神经网络,遗传算法,自适应遗传算法
Copyright © 2020 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
在如今交通系统中,交通流是判断道路交通状况非常关键的因素,而短时交通流预测也是智能交通领域 [
随着各国相继提出“交通强国”发展战略,国内外学者提出了多种交通流预测模型。交通流预测的方法大致可以分为2种:第一种是有参数的方法,第二种是无参数的方法。其中,有参数的方法主要包括:卡尔曼滤波方法 [
交通流是一种典型的时间和空间都相关的数据,BP神经网络具有强大的非线性映射能力而广泛的应用在交通流预测中。BP神经网络存在网络的权值和阈值随机的缺点,非常消耗训练资源,导致降低预测精度。为了克服以上缺陷,本文提出了一种基于改进的自适应遗传算法优化的BP神经网络的交通流量预测模型。由于改进的自适应的遗传算法具有很强的局部搜索能力 [
短时交通流量预测的核心,是提取海量历史交通流数据的特征。短时交通流量呈现很强的时间和空间特性,从空间维度来看,某个路段的交通流量不仅会受到其上游路段交通流量数据影响而且还与其下游路段的交通流量有关,从时间维度来看,交通流量是一个随着时间序列变化的数据,与其先前时刻和后一个时刻都有关。目前很多短时交通流量预测模型都是侧重时间维度,而忽略了空间维度特性。鉴于此,本论文重点研究交通流量数据的时空特性的提取以及选择合适的训练数据的大小,来提高预测模型的精度。
某路口的短时交通流量会受到相邻的上下游路口交通流量数据影响,为了确定上下游每个路口交通流量对待预测路口的影响程度,引入了皮尔逊相关系数相关系数 ρ x y 作为评价相关强度标准。一般 ρ x y > 0.68 时,数据呈现出很强的关联性,可以根据相关系数的大小来衡量上下游不同路口数据进行排名,选择合适输入数据的大小。
ρ x y = ∑ i = 1 n ( x i − x ¯ ) ( y i − y ¯ ) ∑ i = 1 n ( x i − x ¯ ) 2 ∑ i = 1 n ( y i − y ¯ ) 2 (1)
其中, x i 和 y i 代表两个交通流量序列,若 ρ x y 的值越大,表明这两个时间序列的交通流数据相关性越强。
为了在训练数据体现交通流的时间和空间特性,结合计算不同时间序列数据的相关系数,构建时间–空间相关系数矩阵,其具体的表示式如下:
X w = [ W 1 , t − ( Q − 1 ) W 1 , t − ( Q − 2 ) ⋯ W 1 , t W 2 , t − ( Q − 2 ) W 2 , t − ( Q − 2 ) ⋯ W 2 , t ⋮ ⋮ ⋱ ⋮ W p , t − ( Q − 1 ) W p , t − ( Q − 2 ) ⋯ W p , t ] (2)
在时间–空间相关系数矩阵,Q代表的输入交通流量时间序列数据的长度,P代表预测观测点相邻点的位置。构成 X w 矩阵包含了时间和空间信息,最大程度上贴近实际应用场景,提高预测精度。
BP神经网络是一种经典的前馈神经网络 [
图1. BP神经网络基本结构
现有学习样本m个, X 1 , X 2 , ⋯ , X m ,BP神经网络的实际输出为 y 1 , y 2 , ⋯ , y m ,与其对应设定期望输出为 t 1 , t 2 , ⋯ , t m ,其中BP神经网络中间隐含层的神经元的个数为S个。BP神经网络算法核心是计算理想期望值与网络实际输出的均方差来动态修正每层神经网络连接的权值和阈值 [
隐含层第i个节点的输入量为:
n e t i = ∑ j = 1 M w i j x j + θ i (3)
其中 W i j 为隐含层第i个节点与神经网络输入层第j个节点之间的连接权值, θ i 为隐含层第i个节点的阈值。
则BP神经网络中间隐含层的第i个节点的输出量为:
y i = ϕ ( n e t i ) = ϕ ( ∑ j = 1 S w i j x j + θ i ) (4)
其中 ϕ ( x ) 表示为BP神经网络中间隐含层的激活函数。
输出层的第k个节点的输入量为:
y i = n e t k = ∑ i = 1 q ω k i y i + α k = ∑ i = 1 q ω k i ϕ ( ∑ j = 1 M ω i j x j + θ i ) + α k (5)
输出层的第k个节点的输出量为:
o k = φ ( n e t k ) = φ ( ∑ i = 1 q ω k i y i + α k ) (6)
则可以计算神经网络的第k个节点的输出量 o k 与实际数据 Z k 之间的均方差E:
E = 1 2 ( Z K − o K ) 2 (7)
如果均方误差E小于训练设定的误差值,则神经网络会进入反向传播机制,不断的修正不同层的权值和阈值,直至均方误差小于设定的误差。
遗传算法 [
在遗传算法中,有三大核心操作:选择,交叉和变异。具体的算法流程如下 [
1) 选择。选择操作是根据一定算法规则从目前种群去选择部分个体作为下一代种群的个体。常用的选择算子包括:赌轮盘选择方法,排序选择方法与最优保存策略等。
2) 交叉。交叉算子模拟遗传机制中的重组过程,以便将当前的最佳基因遗传给下一个群体中,并获得新的最佳个体。交叉算子的具体步骤如下:
步骤一:在当前种群中任意选择一对个体;
步骤二:计算个体的基因长度,随机选择一个整数或多个整数作为交叉位置。
步骤三:利用交叉概率 P c ( 0 < P c < 1 ) 运行交叉算子,在交叉算子位置改变基因,这样获得了新的个体。在GA中,交叉算子包括:一点相交,两点相交,多点相交或均匀相交。
3) 变异。变异算子模拟了在自然进化中个体的某些个体朝着特定方向变异的现象。这样根据变异概率 P m 获得新的个体,个体的多样性是靠变异操做来实现的。
图2. 遗传算法流程图
通过遗传算法来优化BP神经网络,其核心就是求解BP神经网络每层权值和阈值的最优解,可以最大程度的降低训练成本来提高模型的预测精度。本文采用的是实数编码,需要对神经网络的输入层,隐含层以及输出层每个节点的权值进行编码,该神经网络的输入节点个数为m,中间最大隐含层最大节点数为L,经过编码之后的长度为 [
编 码 长 度 = m ∗ L + L + n ∗ L + n + 1 (8)
在遗传算法优化BP神经网络初始权值时,遗传算法根据适应函数的大小来改变个体选择的速率,因此需要设置一个适应的适应函数来确定个体被选择的概率。由于遗传算法在最优值搜索过程中,其适应度值不断地增大,因此,可以将适应度函数设置为如下表达式 [
fitness = 1 ∑ i = 1 N | y i − x i | + ς (9)
在公式(9)中, y i 表示遗传算法优化的BP神经网络的预测得到的车流量数据, x i 表示的真实的车流量数据,N为训练样本的数量。同时为了避免遗传算法适应函数的分母为0,引入一个不为零的变量 ς 。
但是,传统的遗传算法也存在一定的缺陷,当优化的目标函数过于复杂时,其优化之后的结果不是特别的理想,不仅算法优化非常耗时,而且得到的优化结果与实际值不太相符。为解决此问题,同时为了提高遗传算法的全局搜索最优解的能力和防止陷入局部最优解,给出了一种自适应遗传算法优化的BP神经网络模型来获得最优的BP神经网络初始权值。
遗传算法是拥有较强的全局最优值搜索方法 [
在传统的遗传算法中,交叉概率与变异概率的值通常是设定成一个定值 [
P c = { k 1 ( f max − f 1 ) f max − f avg f 1 ≥ f avg k 2 f 1 < f avg (10)
P m = { k 3 ( f max − f 2 ) f max − f avg f 2 ≥ f avg k 4 f 2 < f avg (11)
式中: 0 < k 1 , k 2 , k 3 , k 4 < 1 , f avg 和 f max 分别为种群中的平均适应度值和最大适应度值, f 1 和 f 2 分别为交叉个体中较大的适应度值和变异个体的适应度值。
从公式分析可以看出,当 f 1 和 f 2 与 f avg 相接近时,算法的交叉与变异概率会变得很小。这种调节方式不利于进化初值时种群中较优个体的变化,容易导致进化出现早熟收敛现象。所以按式(12)和式(13)进行修改,使种群中最小的适应度的个体的交叉变异概率不为0,分别提高到了 P c 2 和 P m 2 [
P c = { P c 1 − ( P c 1 − P c 2 ) ( f avg − f ′ ) f avg − f min f ′ ≤ f avg P c 1 f ′ > f avg (12)
P m = { P m 1 − ( P m 1 − P m 2 ) ( f avg − f ) f avg − f min f ≤ f avg P m 1 f > f avg (13)
式中: f min 、 f avg 、 f ′ 、f分别为最小适应度值、平均适应度值、交叉操作中小的适应度值以及变异个体的适应度值,由于在种群选择中采用了模拟退火 [
由于BP神经网络在训练时,其输入层与隐含层和输出层和隐含层之间的阈值和权值是随机生成的,导致训练的次数过多,而且遗传算法在全局搜索时容易陷入局部最优的局面。因此给出了基于改进的自适应遗传算法优化的BP神经网络模型,对BP神经网络的权值和阈值的最优解进行搜索,其算法流程如图3所示:
图3. 改进的遗传算法优化的BP神经网络
本节通过历史交通流数据,对BP神经网络,基于遗传算法的BP神经网络以及基于改进的自适应遗传算法优化的BP神经网络进行交通流预测的精度仿真对比分析。
在模型训练过程中使用的数据来自美国加州交通运输部PeMS [
图4. 目标路段一天的车流量
BP神经网络和基于改进的遗传算法的具体参数如表1所示。
其中,BP神经网络输入个数为288个,因为交通流的采样间隔为5分钟。神经网络的输出层表示预测未来的一天的交通流预测。
序号 | 参数名称 | 参数值 |
---|---|---|
1 | 神经网络输入的个数 | 288 |
2 | 神经网络的隐含层个数 | 5 |
3 | 神经网络输出层个数 | 1 |
4 | 神经网络训练次数 | 100 |
5 | 神经网络学习概率 | 0.2 |
6 | 遗传算法迭代次数 | 100 |
7 | 遗传算法初始种群大小 | 100 |
8 | 交叉概率初始值 | 0.70 |
9 | 变异概率初始大小 | 0.15 |
表1. 参数设置
本小节分别对比了BP神经网络,基于遗传算法改进的BP神经网络,以及基于改进的遗传算法优化的BP神经网络,预测交通流的精度。
图5展示了不同的模型预测输出,从图5可以得出:基于改进的遗传算法优化的BP神经网络的预测输出值最接近实际真实值。
图5. 不同算法预测交通流结果对比
这里,我们对比了不同算法的平均误差,平方差,均方差,其对比结果如表2所示。
算法 | 平均误差 | 平方差 | 均方差 |
---|---|---|---|
BP | 0.03230 | 0.00181 | 0.002001 |
遗传优化BP | 0.01527 | 0.00032 | 0.000609 |
改进的遗传算法优化的BP | 0.00545 | 0.00020 | 0.000205 |
表2. 算法误差对比
结合图4交通流预测数据和表2的误差对比数据来看,可以得出基于改进的遗传算法优化的BP神经网络模型预测的误差最小,优与单个BP神经网络预测模型以及基于传统的遗传算法优化的BP神经网络预测欧模型。
通过研究和实测数据可以得知,BP神经网络存在一定的缺陷,应用于交通流预测存在较大的误差。通过遗传算法优化的BP神经网络,可以在一定程度上提升预测精度,但是传统的遗传算法在搜寻最优解的过程中会出现局部最优解的情况。针对以上存在的问题,给出了一种基于改进的自适应的遗传算法优化的BP神经网络交通流预测模型,不仅设置的自适应函数收敛速度快,而且预测的误差较传统方法大大降低。
汪明州,艾显红,秦康恒,黄焕清. 基于改进的遗传算法优化的BP神经网络交通流量预测模型Traffic Flow Prediction Model of BP Neural Network Based on Adaptive Genetic Algorithm Optimization[J]. 应用数学进展, 2020, 09(08): 1317-1326. https://doi.org/10.12677/AAM.2020.98155