生物智能算法优化小波神经网络研究及其在交通流预测应用
2020-11-17吴宗德杨金莹
刘 宝,吴宗德,杨金莹
(中国石油大学(华东),山东 青岛 266580)
随着社会经济的发展,传统的道路交通运输调度系统难以满足越来越高的运输调控要求,因此智能交通运输的重要性日益突显出来.智能交通的建立需要对短时交通流进行预测.近几十年来,国内外学者提出并建立了各种交通流量预测模型[1-7],对短时交通流量进行预测.根据预测机制可以将现有的交通流量预测模型大体分为参数模型和非参数模型两类.在参数模型方面,文献[8]对历史平均模型在交通流预测中的应用进行研究,并与其他预测方法进行对比,说明了该模型具有原理简单、效率高的特点.文献[9]将卡尔曼滤波器模型应用到交通流预测,结果证明该模型在处理平稳、线性模型方面精度高.但是参数模型也存在一定的弊端,例如对动态交通流的预测精度较低,难以有效处理短时交通流信号的非线性和强随机性.为了更好的基于参数模型对交通流信号进行预测,学者们开始对参数模型进行改进.文献[10]将小波分析处理非线性随机信号的优势与卡尔曼滤波器模型相结合,提高了模型精度.文献[11]将ARIMA模型与GARCH模型相结合,提出一种具有较高精度的混合模型.非参数模型方面,文献[12]将K近邻模型应用到交通流预测,通过与历史平均模型对比,说明K近邻模型具有更高的精度和更好的实时性,但是该模型历史数据库的构建过程中,数据处理比较复杂.文献[13]提出的基于最小二乘支持向量机的交通流量预测改进模型,具有精度高、泛化能力强的优势.文献[14]提出的神经网络模型具有自适应能力强的特点,数据处理比较简单且模型预测精度高.文献[15]将小波神经网络应用到交通流预测中,小波神经网络结合了神经网络和小波分析的优势,可以充分发掘信号的局部特征,能更好应对随机性和非线性.相比于传统神经网络,收敛速度更快,精度更高.通过上述分析可知,现阶段主要是通过改进的参数模型和非参数模型对交通流进行预测.作为非参数模型重要组成部分的小波神经网络模型是通过梯度下降的方式进行网络训练,存在收敛速度慢,容易陷入局部最小值等问题,预测精度得不到保证.
针对小波神经网络梯度下降训练方式存在的缺陷,本文作者提出了一种生物智能算法,并用该算法对传统小波神经网络梯度下降的寻优方式进行了优化,进而将优化后的小波神经网络算法应用到短时交通流预测实验中,最后通过仿真实验证明了生物智能算法优化的小波神经网络模型在短时交通流预测中的有效性.
1 基于生物智能算法的小波神经网络
1.1 生物智能算法原理
生物智能算法(Genetic Beetle Search,GBS)由全局定向寻优单元和局部精细寻优单元两部分组成,首先在全局定向寻优单元进行大范围全局寻优,然后进行局部精细寻优,其结构如图1所示,Z表示种群进化率,是上代种群最优适应度和当代种群的最优适应度值的比值,ψ为阈值.以最小化适应度函数为例,如Z>ψ,表明当前个体非全局次优解,需要继续以全局定向寻优单元寻找次优解;如Z<ψ,表明当前种群已经是较优种群,全局定向寻优单元已经难以快速寻优,需要通过局部精细寻优单元在该次优解附近进行小范围快速局部寻优.
1.1.1 全局定向寻优单元
当Z>ψ时,算法通过全局定向寻优单元大范围全局寻优,确定最优解的大体范围,具体操作如下.
1) 选择操作.
选择操作模仿的是自然界优胜劣汰的过程,即保留适应度大的个体,淘汰适应度小的个体.本文采用的是传统的轮盘赌选择法,个体的适应度为E(xi),则个体xi被选择的概率为
(1)
式中:N为种群中个体总数.
2)交叉操作.
交叉操作中父代个体以一定的交叉概率Pc,按照特定的方法替换重组产生新的优良子代个体,体现算法的全局寻优能力,本文选择的编码方式是实数编码,所以采用实数交叉法,实数编码的种群中第k个个体ak结构如图2所示,其中Ω为个体编码长度,且k∈[1,N],i∈[1,Ω].
传统交叉操作中,种群中第m个个体am的第i位a(m,i)和第n个个体an的第i位a(n,i)的交叉操作方法如下
(2)
式中:h∈[0,1].传统遗传算法交叉概率保持不变[16],难以确定一个适合各个进化过程的交叉概率,因此本文引入自适应交叉概率对其进行改进.
式中:Eavg为种群平均适应度;Ebest为种群最优适应度;c1为交叉概率控制参数.
由式(3)可以看出,当种群中整体适应度较低时,种群会以较大的交叉概率进行交叉,当种群适应度普遍升高时,为保证种群多样性,要降低交叉概率,通过自适应的交叉概率可以在保证种群多样性前提下加快收敛.
3)变异操作.
传统变异操作中父代个体按照一定的变异概率Pm来得到一个新的个体,保证算法的局部寻优能力,在一定程度上可以规避局部最小值,防止种群早熟.传统变异操作中,对a(m,i)进行变异得
a(m,k)=
(4)
与传统交叉概率存在的问题相同,一成不变的变异概率难以满足各个进化阶段的变异操作,因此本文引入自适应的变异概率.
(5)
式中:c2为变异概率控制参数.
由式(5)可知,当种群中适应度普遍较低时,要实行较低的变异概率,防止破坏优良个体,当种群适应度普遍较高时,要采用较高的变异概率,保证种群的多样性,增强局部寻优能力,初始种群经过全局定向寻优单元的多周期寻优操作后,种群进化率已经大幅度下降.为此,进一步保留此时的次优种群(即种群1),为进入局部精细寻优做准备.
1.1.2 局部精细寻优单元
当Z<ψ时,此时算法通过局部精细寻优单元小范围精准寻优.首先对当前次优种群进行继承,即将全局定向寻优单元生成的次优种群作为局部定向寻优单元的初始种群.
Ak=ak,k=1,2,…,N
(6)
为了增强算法局部寻优能力,受天牛须算法思想启发,对当前种群个体进行如下操作.
1) 个体精确进化.完成对全局定向寻优单元生成的次优种群的继承后,当前种群的第m个体的第s个基因用A(m,s)表示,产生下一代新个体时,首先对A(m,s)向左和向右两个方向进行试探性进化,产生的中间基因表示为AL(m,s)和AR(m,s),具体方式如下
(7)
2)个体精确更新.根据适应度函数计算新个体适应度,即向右和向左进化的新个体的适应度函数值E(AR(m,s)(ζ))和E(AL(m,s)(ζ))的大小,以两者的差值为导向,迭代更新个体.
(8)
式中:sign()为符号函数;c7是方向因子.
3)计算种群2适应度.若满足精度要求则跳出循环,否则继续进行寻优,直至最大寻优次数.通过全局定向寻优单元的全局大范围寻优和局部精细寻优单元的快速精准寻优,最终确定最优解.
1.2 生物智能算法稳定性分析
由生物智能算法原理可知,若局部精细寻优单元收敛,则算法收敛,因此对局部精细寻优单元的收敛性进行分析.
定理1当满足‖max (λ1,λ2)‖<1时,本文生物智能算法一定收敛.
证明过程与文献[17]相似,上述局部精细寻优单元的更新迭代过程可以简化为
A(ζ)=A(ζ-1)+(1-c7)υ(ζ)+c7·ξ(ζ)·
υ(ζ)·sign(E(AL(ζ))-E(AL(ζ)))
(9)
υ(ζ)=w·υ(ζ-1)+c3·r2·
(pm(ζ-1)-A(ζ-1))+c4·r3·(pg(ζ-1)-A(ζ-1))
(10)
则个体进化的递推方程变为
A(ζ+1)=A(ζ)+(1-c7)(w·υ(ζ)+
c3·r2·(pm(ζ)-A(ζ))+c4·
r3·(pg(ζ)-A(ζ)))+c7·ξ(ζ+1)·
sign(E(AR(ζ+1))-E(AL(ζ+1)))·(w·υ(ζ)+
c3·r2·(pm(ζ)-A(ζ))+c4·r3·(pg(ζ)-A(ζ)))
(11)
写成矩阵的形式可以表示为
(12)
其中:
B11=1-w·c7+(w-c3·r2-c4·r3)
(1+c7·ξ(ζ+1)·sign(E(AR(ζ+1))-
E(AL(ζ+1))))
(13)
B12=-w·(1-c7-c7·ξ(ζ+1)·
sign(E(AR(ζ+1))-E(AL(ζ+1))))
(14)
B13=(1-c7)[1+c7·ξ(ζ+1)·
sign(E(AR(ζ+1)-E(AL(ζ+1)))]
(c3·r2·pm(ζ)+c4·r3·pg(ζ))
(15)
式(12)的特征方程为
(1-λ)(λ2-λ(1-w·c7+(w-c3·r2-c4·r3)(1+c7·ξ(ζ+1)·sign(E(AR(ζ+1))-
E(AL(ζ+1)))))+w·(1-c7-c7·ξ(ζ+1)·sign(E(AR(ζ+1))-E(AL(ζ+1)))))=0
(16)
特征根为
λ1=[(1-w·c7+(w-c3·r2-c4·r3)(1+c7·ξ(ζ+1)·sign(E(AR(ζ+1))-E(AL(ζ+1)))))+ϖ]/2
(17)
λ2=[(1-w·c7+(w-c3·r2-c4·r3)(1+c7·ξ(ζ+1)·sign(E(AR(ζ+1))-E(AL(ζ+1)))))-ϖ]/2
(18)
(19)
假定初始状态A(0),A(1)已知,则式(12)的解为
(20)
(21)
(22)
(23)
因此,当‖max(λ1,λ2)‖<1时
(24)
式中:K为一有界常数,根据定义,定理得证.
1.3 基于生物智能算法的小波神经网络
针对传统小波神经网络在处理非线性、随机性等复杂问题时存在收敛速度慢,容易陷入局部最小值等问题,采用生物智能算法代替传统梯度下降的寻优方式对小波神经网络进行优化,结构见图3.
以数据的均方根误差作为适应度评价函数为
(25)
式中:y(i)为网络输出;y*(i)为期望输出;M为样本的组数.
2 仿真实验和结果分析
2.1 生物智能算法性能测试
为验证本文生物智能算法的寻优能力,采用Schaffer函数进行生物智能算法的测试函数寻优实验,并与传统遗传算法相比较,见图5,测试函数为
maxf(x,y)=0.5-
(26)
通过图5可以看出,该函数的全局最大值周围有无数个局部最大值包围,且两者相差很小,其中全局最大值1在(0,0)处取得,外圈的局部最大值为0.990 28,因此算法在寻找全局最大值的过程中极容易陷入局部最大值.本文采用遗传算法和生物智能算法进行寻优测试.
1)遗传算法参数设置为:种群规模N取40,交叉概率Pc为0.70,变异概率Pm为0.01.
2)生物智能算法参数设置为:N=40,交叉概率控制参数c1为0.70,变异概率控制参数c2为0.01,阈值φ为1.01,初始步长ξ为2,w=0.7,c3=c4=1.4,c7=0.3.
两种算法最大迭代次数分别设置为50和100代,各进行50次对比实验,结果如表1所示.
表1 两种算法寻优效果对比
为了对比两种算法的寻优能力,通过表1中5个性能指标进行对比,因为本文函数的局部最大值为0.990 28,所以本文对收敛的定义是如果收敛值与全局最大值之间的偏差小于0.009,则认为其收敛至全局最大值,收敛概率是指找到全局最大值的实验次数与总实验次数的比值;最小收敛代数是指能收敛到全局最大值的实验中找到全局最大值时最少的迭代次数,最大收敛代数是最大的迭代次数;平均收敛代数是指收敛至全局最大值的实验中所用代数的平均值;平均最优值是指各次实验中最终找到的最大值的平均数.
通过对比实验可以看出,本文改进的生物智能算法经过相同的进化代数收敛到全局最大值的概率更高,而且收敛到全局最大值的平均代数更少,所能达到的平均最优值也更高,证明了本文算法在收敛速度和精度方面有较大提高.
通过上述寻优实验在一定程度上证明了本文生物智能算法的寻优能力,而小波神经网络的训练过程其实是各个神经网络权值的寻优过程,由于传统小波神经网络梯度下降训练方式存在收敛速度慢,容易陷入局部最小值的缺陷,所以本文用生物智能算法对各权值的训练过程进行改进,提出一种基于生物智能算法的小波神经网络.
2.2 短时交通流实验数据及模型参数设置
以某市单向交通流量作为研究对象,在路口采集每天的交通流数据,传感器15 min采集一次数据,每天可采集得到96组数据.通过分析采集到的交通流数据发现,每个工作日的交通流数据都有其独特的特征.其中以下几个规律比较明显,1)工作日之间的交通流量相似,每天都有3次比较明显的车流高峰,但是不同的工作日之间也有一定差距,尤其是周一和周五,明显区别于其他工作日.2)节假日之间也具有相似性,但是车流高峰没有工作日明显.3)不同星期的同一天,交通流变化具有相似的规律.因此每个周不同的天数(即周几)的交通流特性不同,本文以周一的交通流数据为研究对象,连续采集2016年3~6月的12个星期一的交通流数据,共1 152组交通流数据,对数据进行以下处理.
1)首先使用小波工具箱中的sym4小波函数对数据进行三层小波分解,降噪和重构.
2)为消除量纲的影响,提高小波神经网络训练的效率,采用Matlab中mapminmax函数对降噪后的数据进行归一化处理,待预测完成之后再对预测值进行反归一化.其中,部分原始交通流数据,降噪后的交通流数据和归一化后的交通流数据见图6.
3)经过上述数据预处理后,对交通流数据进行相空间重构,将一维时间序列的交通流数据扩展到高维,从而充分挖掘交通流数据包含的信息.
4)将重构后的数据分为训练集和测试集,用训练集数据对小波神经网络进行训练,用测试集数据对小波神经网络模型进行验证.综上所述,基于生物智能算法小波神经网络交通流模型建立流程见图7.
在进行相空间重构时,采用C-C算法[18]获取的交通流数据如图8所示.由图8(b)可得,当t=18时取得第1个极小值,所以最佳延迟时间τ=18;由图8(c)可知,当Scor(t)取全局最小值时t=92,即延迟时间窗τω=92,根据τω=(m-1)×τ,得到最佳嵌入维数m=6.
因此连续12周星期一交通流数据重构相空间为
(27)
式中:x(i)表示第i个区间的交通流量.可知,将Xi=[x(i)x(i+τ) …x(i+(m-1)τ)],i∈[1,1068]作为小波神经网络的输入层数据,以下一个时刻的交通流量x(i+(m-1)τ+1)为小波神经网络的输出层数据,本文共整理得到1 068个相空间相点,选取前972组数据作为训练集,用训练集数据分别去训练传统小波神经网络,遗传算法优化的小波神经网络和生物智能算法优化的小波神经网络,用剩余的96组数据作为测试集对训练效果进行验证,并将各种算法的验证效果进行比较.
小波神经网络输入层神经元个数为6,对应相空间重构后的交通流时间序列的嵌入维数,隐含层神经元个数为10,输出层神经元个数为1,对应小波神经网络预测的交通流量.
1)传统小波神经网络参数设置为:最大训练次数取500,学习率取0.05,训练目标E取0.01;
2)遗传算法小波神经网络的参数设置为:N=30,Pc=0.80,Pm=0.05,Gmax=500,E=0.01;
3)生物智能算法小波神经网络的参数设置为:N=30,c1=0.80,c2=0.05,φ=1.01,ζ=1,ζmax=500,E=0.01,w=0.43,c3,c4=1,c7=0.2.
由定理1可知,在一定条件下本文生物智能算法是收敛的,而且本文生物智能算法寻优过程中,虽然不同个体的同一基因位上有信息交流,但是同一个个体的不同基因位之间没有信息交流,所以其寻优过程可以近似简化为只有一个基因位的个体的寻优过程.由上述分析可知,算法稳定性的验证可简化为一个基因位的收敛,所以为了验证上述生物智能算法小波神经网络的参数设置满足生物智能算法的收敛条件,将上述参数代入式(17)、式(18),证得各参数的设置满足收敛条件‖max(λ1,λ2)‖<1,所以短时交通流预测过程中,算法一定收敛.
2.3 短时交通流预测结果分析
分别用生物智能算法优化的小波神经网络(GBS-WNN),传统小波神经网络(WNN)和遗传算法优化的小波神经网络(GA-WNN)构建短时交通流预测模型,对交通流量进行预测,实验结果如图9和图10所示.
可以看出,生物智能算法优化的小波神经网络的逼近能力有了明显改善,小的局部交通流波动也能较好的拟合,预测精度更高,泛化能力更强.图10是3种模型训练过程误差对比,可得经过相同的迭代次数,本文生物智能算法小波神经网络所能达到的精度更高,收敛速度更快.
为了更好地分析预测效果,采用平均绝对误差MAE、平均相对误差MRE、均方误差MSE3个评价指标对3种WNN模型的预测结果进行比较分析.其中,MAE反映3种WNN模型对交通流量的预测值与实际值之间误差的实际情况;MRE反映交通流量预测值偏离实测值的程度;MSE反映交通流量预测值与实测值之间误差的集中与离散程度.为消除偶然性,各进行50次实验,并取50次上述评价指标的平均值如表2和表3所示.
(28)
(29)
(30)
式中:M为用来测试的交通流量样本数;x(i)为第i个时间区间的真实交通量;xp(i)为第i个时间区间的预测交通量.
由表2的3个评价指标对比以及图10可知,GBS-WNN模型训练效果明显优于WNN模型和GA-WNN模型.
1)在训练结果的评价指标中,GBS-WNN模型跟WNN模型和GA-WNN模型相比,3个评价指标均有较大程度降低,证明了GBS-WNN模型所能达到的训练精度更高,这与2.1中算法性能测试的结果可以较好的吻合,证明了本文生物智能算法的寻优能力更强.
2)在泛化结果的评价指标中,GBS-WNN模型评价指标也优于其他两种模型,且比另外两种模型更接近训练结果的评价指标,证明了GBS-WNN模型泛化能力更强,训练好的模型能更好的对未来交通流进行预测.
3)由图10可得,经过一定次数的迭代,其他两种算法均陷入了不同的局部最小值,而生物智能算法能更好的避开局部最小值.且经过相同的迭代次数,生物智能算法收敛速度更快,达到的收敛精度更高.通过上述对比,证明了本文生物智能算法的有效性,也证明了本文GBS-WNN模型在短时交通流预测中的有效性.
表2 短时交通流预测模型结果评价指标对比(周一)Tab.2 Comparison of evaluation indexes of short-term traffic flow forecast models results(Monday)
3 结论
1)给出了本文生物智能算法的稳定性证明,为验证生物智能算法寻优能力,通过Schaffer函数对其进行测试.并与遗传算法进行对比,对比结果证明了生物智能算法相较于遗传算法在寻优能力方面有较大改进.
2)用生物智能算法对小波神经网络训练方式进行优化,并与传统小波神经网络和遗传算法优化的小波神经网络的短时交通流预测效果进行对比.实验证明,生物智能算法优化的小波神经网络为交通流预测提供了一种精度更高,泛化能力更好的新方法.
但是所采用的数据是路口单向交通流流量,未考虑城市路段的复杂性,且算法中各个参数依然需要人为调节.下一步将结合城市路口的复杂路况进行分析,并对算法的适应性和鲁棒性进行进一步研究.