基于小波去噪和GA-Elman神经网络的短时交通流预测
2015-04-21刘艺,张琨
刘 艺,张 琨
(南京理工大学 计算机科学与工程学院,江苏 南京210094)
智能运输系统为人们的出行带来极大便利,而交通流预测是保障智能运输系统可靠性的关键技术。随着科技进步,人们已经可以通过检测设备获得交通流数据。短时交通流预测就是根据这些数据,运用某种预测方法,对未来短时间内的交通流信息做出预测,以便用于交通控制和诱导,达到提高运输效率、缓解交通拥挤的目标。
许多学者致力于研究交通流的短时预测,目前常用的预测模型可分为3类:统计理论模型,如历史平均模型、时间序列模型、卡尔曼滤波模型等;人工智能模型,如神经网络模型;组合预测模型。其中历史平均模型、时间序列模型建模简单,但无法表现交通流的变化;卡尔曼滤波模型精度高,但在预测非线性交通流时性能较差。人工智能模型的优势在于具有识别复杂非线性系统的特性,其中BP神经网络是最常用的模型,广泛运用于交通流预测。BP神经网络是静态前馈网络,存在易陷入局部极值等不足,制约了BP网络在交通流预测中的泛化能力。Elman网络是在BP网络的基础上增加一层承接层,由于其具有适应时变特性的能力,一些学者提出利用Elman神经网络进行交通流预测,改善了系统的动态性能。但Elman网络依然存在易陷入局部极值的缺点,为此本文提出用遗传算法优化Elman神经网络连接权值的GA-Elman模型。同时由于交通系统具有复杂、非线性的特点,交通流变化具有随机性,可以把交通流看作非线性、干扰强的信号,其中噪声是由一些突发事件,例如交通事故或极端天气而造成的交通流急剧变化。对非平稳过程信号,一些传统去噪方法有其局限性,小波分析由于具有时频局部化、选基灵活性等优点,成为信号去噪的强有力工具,已有学者将小波分析应用于交通流数据的去噪中。本文先用小波分析的方法对交通流量去噪,得到能够较为真实地反映交通流规律的时间序列,然后构造GA-Elman模型对交通流量的预测,从而提高预测精度。
1 小波阈值去噪
在几种基于小波分析的去噪方法中,模极大值法、平移不变量法能很好地保留并反映信号特征的奇异点信息,但计算速度较慢。常用的阈值去噪法能很好地抑制噪声,保留特征突变点,其去噪效果依赖于阈值的选取。为使交通流数据能较好地还原交通系统的真实特性,本文用小波启发式阈值去噪方法去除交通流信号中的噪声,使得到的信号能还原交通流真实状况的非线性特征。
1.1 小波阈值去噪基本原理
一个含噪声的一维信号模型可表示为
式中:ft为含噪信号;st为原始信号;nt为方差为σ2的高斯白噪声,服从N(0,σ2);M为信号长度。
对ft作离散小波变换后得到的小波系数包含有用信号和噪声信号,分别对应两部分系数。其中有用信号分解所得系数较大,噪声分解得到的小波系数值较小。先对含噪信号进行三层小波分解
式中:Ai为分解的低频部分;Di为高频部分,i=1,2,3,噪声部分通常包含在Di中。
选取一个合适的阈值λ,当小波分解系数小于λ时,认为此部分分解系数对应的信号是噪声信号,丢弃这部分系数;当分解系数大于λ时,认为这时的分解系数是由有用信号引起的,把这一部分直接保留或按照某一固定量向零收缩,最后用得到的小波系数进行重构,得出去噪后的信号。
1.2 启发式阈值去噪算法
阈值去噪法的去噪效果好坏依赖于阈值的选取。有3种阈值选取的方法:固定阈值,Stein无偏似然估计阈值,启发式阈值。Stein无偏似然估计方法比较保守,当噪声在信号的高频段分布较多时效果并不好。而启发式阈值是固定阈值和Stein无偏似然估计阈值的综合,去噪更为有效。
启发式阈值去噪算法分为以下三个步骤。
步骤一:小波分解。选择合适的小波基对信号作j层分解,由Mallat金字塔算法得
式中:cj,k,dj,k分别为信号在分解层数j下的离散逼近系数和离散细节系数;h0(m),h1(m)分别为低通滤波器系数和高通滤波器系数。
式中:N为滤波器长度。
步骤二:选取阈值,对小波分解后获得的系数进行处理。使用Dohono提出的软阈值函数为
Stein无偏似然估计采用自适应的阈值选择方法,即选择阈值λ,计算λ的似然估计,再将λ最小化,得到所选阈值。
设信号x(k)为一个离散时间序列,k为时刻,k=1,2,…n,令信号y(k)为的升序序列,再令
λ的计算公式为
启发式阈值估计是固定阈值和无偏似然估计的综合。设信号x(k)长度为n,由无偏似然估计得到的阈值为λ1,固定阈值方法得到的阈值为λ2,令
启发式阈值的估计公式为
步骤三:信号重构。根据小波分解的第N层系数和阈值处理后的第一层到j层高频系数进行重构。重构算法为
通过小波的分解和重构,即可达到对交通流量的消噪处理。
2 Elman神经网络预测模型
2.1 Elman神经网络
Elman网络是一种典型的动态神经网络,它是在BP网络的基础上增加承接层,用来存储隐含层上一时刻的输出,相当于延时算子,对历史数据更敏感,具有时变性、动态性。与BP神经网络相比,Elman网络的优点是其具有反馈连接,具有动态特性,比BP网络更适合建立时间序列预测模型。Elman网络结构如图1所示。
图1 Elman网络结构
Elman网络有四层,除了和BP网络相同的输入层、隐含层、输出层,还有一个承接层。输入层接收外部输入,隐含层对信号进行处理、变换,承接层存储隐含层上一次迭代的输出并反馈给隐含层,输出层对隐含层的输出信号作线形加权后输出网络。Elman网络的非线性状态空间表达式为
1)隐含层输出
2)承接层输出
3)网络输出
式中:l为训练次数;u为r维输入向量;x为n维隐含层单元向量;y为m维输出向量;xc为n维隐含层向量;W1∈Rn×n,W2∈Rn×r,W3∈Rm×n分别为承接层与隐含层之间,输入层与隐含层之间,隐含层与输出层之间的权值矩阵;g(·)为输出层的传递函数,将隐含层输出作线性变化,采用purelin函数;f(·)为隐含层的传递函数,采用tansig函数。
Elman神经网络也采用误差反向传播算法进行权值修正。把样本数据输入网络,经过每一层的函数映射和加权后,从输出层输出。把输出值与目标输出相比,计算误差。再把误差反向传播,得到权值矩阵的梯度,根据梯度重新计算权值矩阵。其中权值矩阵W2和W3的修正和BP网络类似,差别在于W1采用链式导数规则来求取,在T时间段内为
最后不断更新权值矩阵,直到实际输出与预期输出的误差已经小于目标误差,或训练次数达到上限。本文误差目标函数采用平方和函数来计算
式中:(l)为目标输入向量。
2.2 GA-Elman算法
由于Elman神经网络采用反向传播算法进行权值修正,因此存在学习速度较慢、易陷入局部极小值等缺点,为此,本文提出遗传算法优化Elman神经网络的GA-Elman神经网络模型。遗传算法有多点并行搜索的特点,可以克服学习效率低、容易陷入局部最优等缺点,是神经网络权值训练学习的有效方法。
用遗传算法优化神经网络的基本思想是:利用遗传算法全局搜索的作用,寻找到最优的神经网络各层神经元初始连接权值。遗传算法优化Elman神经网络的具体学习步骤如下:
1)种群P初始化。设定个体数目、交叉概率Pc和突变概率Pe,初始化种群中个体的连接权值(初始权值随机产生),并编码。在编码时,由于Elman网络的权值为实数,为避免二进制编码引起码串过长,采用实数编码。因此,种群中任意个体用一组实数值表示,代表一种构成Elman神经网络的初始权值。
2)将样本数据输入种群的个体进行训练,得到实际输出和预期输出误差的平方和E(i),公式为
式中:i=1,…,N为染色体数目;m为输出层节点数目;p为学习样本数目;Vm为实际输出;Tm为期望输出。
计算种群中每一个体的适应度函数,然后排序,选择误差平方和的倒数作为适应度函数
3)对种群的选择操作采用轮盘赌法,根据个体适应度所占总体适应度之和的比值,公式为
4)以概率Pc对父辈个体交叉操作,用实数交叉法交换部分基因,产生新的个体,对没有产生交叉的个体则直接进行复制。第k个个体ak和第l个个体al在j位的交叉操作按如下公式进行
5)利用概率Pm选取第i个个体的第j个基因aij进行变异,变异操作方法如下
式中:amax为aij的上限,amin为aij的下限,f(g)=r2(1-g/Gmax)2,r2为随机产生的值,g为目前进化代数,Gmax为设定进化代数上限,r为[0,1]间的随机数。
6)产生新一代种群,判断进化代数是否达到结束条件。如已经达到设定的最大进化代数,结束遗传算法步骤。否则,转到步骤3。
7)达到最大进化代数之后,把最终种群中的最优个体解码就能得到优化后网络连接的权值。把权值赋给Elman网络进行训练。
3 应用实例
本文实验采用广州市站前路和站前横路从2013年11月4日到12月1日,共28d的交通流量数据,其中前27d作为训练数据,第28天作为测试数据。路段的相对位置关系如图2所示。其中A为待预测路段。收集A,B,C,D4个路段每隔5min断面的交通流数据,每天采集288组数据进行仿真。设yt为交通量实测值,为交通量预测值,n为数据个数,通过两个误差指标来比较预测方法的准确度:
1)平均百分比绝对误差
2)相关系数
式中:EMPAE为交通量预测值偏离实测值的程度,r2为交通量预测值和实测值间的相关程度。
图2 路段相对位置关系
3.1 小波分析去噪
A处测得27d的交通量数据,如图3所示。
图3 27d实测交通量
为消除白噪声干扰,分别用小波固定阈值去噪和启发式阈值去噪法进行处理。使用db4小波对原始信号进行三层分解、阈值处理和重构。固定阈值去噪的阈值取为3.867,启发式阈值去噪D1层阈值取为8.103,D2层阈值取为9.156,D3层阈值取为6.308,去噪效果如图4所示。
交通流数据经过小波启发式阈值去噪,较强的白噪声干扰被去除,变化规律更加明显和清晰。
3.2 GA-Elman神经网络模型预测
交通流数据具有时空相关性的特点,即某个断面的交通流不仅和它前几个时间段的交通流相关,还会受到相邻断面的交通流影响。被预测路段用A表示,其上游路段用B、C、D表示。A在t时刻的交通流量用A(t)表示,则A(t)不仅与A在前d个时刻的流量A(t-1),…,A(t-d)相关,还与B、C、D在t-1,…,t-m时刻的流量相关。在本文实验中,d取4,m取5,则神经网络的输入为一个19维向量,输出为一个1维向量。实验时分别用实际交通量数据、小波固定阈值去噪后的数据和小波启发式阈值去噪后的数据进行训练和预测。
图4 小波启发式阈值去噪后28d交通量
第一阶段,建立Elman网络并用遗传算法优化Elman神经网络的初始权值和阈值。输入层的单元个数r取19,隐含层和承接层单元个数n为10,输出层单元个数m取1。初始化种群的规模取为30,产生30组范围在[-1,1]的随机数,每组长度为r×n+n×m+r+n=229,每一组随机数代表一种Elman网络的初始权值和阈值。对于给定的样本输入,计算每个网络输出和样本输出间的误差和适应度。然后进行选择、交叉(Pc取为0.7)和变异(Pe取为0.01)。每次迭代的最佳个体适应度(误差平方和)如图5所示。经过300次迭代,得到最优个体,则其他个体是无效的。最优个体解码后的权值和阈值赋给Elman网络,作为网络的初始权值和阈值再进行训练。
图5 每次迭代后最佳个体适应度
第二阶段,训练数据。将A(t-1),…,A(t-4),B(t-1),…,B(t-5),C(t-1),…,C(t-5),D(t-1),…,D(t-5)作为 Elman神经网络的输入层,A(t)作为输出层,目标误差为1e-2,训练函数为trainlm。用11月4日到11月31日的数据作为训练数据,进行训练。
第三阶段,在训练好的Elman网络上,用12月1日的数据作为测试。输入A(t-1),…,A(t-4),B(t-1),…,B(t-5),C(t-1),…,C(t-5),D(t-1),…,D(t-5),输出预测结果A(t)。
未经小波去噪的Elman网络和GA-Elman网络模型经过仿真,其实测数据和预测结果如图6所示。可以看出,未经小波去噪的Elman网络预测结果曲线基本可以和实际数据拟合,但收敛速度较低,在数据波动大时,准确率低,而且与真实值相比偏大。由图6可以看出未经小波去噪的GA-Elman网络模型经过仿真后,预测结果与实际数据吻合得更好,准确度较高。小波固定阈值去噪后的Elman、GA-Elman网络模型预测后的结果如图7所示。小波启发式阈值去噪后的Elman、GA-Elman网络模型预测结果如图8所示。可以看出小波启发式阈值去噪后,预测结果与实测数据的拟合度比去噪前高。
图6 未经小波去噪的预测结果
图7 小波固定阈值去噪后的预测结果
从图6~图8和表1可知,小波启发式阈值去噪后的GA-Elman模型EMPAE最小,为6.239,;r2最大,为0.995。这说明小波启发式阈值去噪后的GA-Elman神经网络预测值和实测值误差最小,相关性最大,精度最高,预测效果最好。同时,还可以看出小波去噪后预测效果比去噪前好;启发式阈值去噪后的预测效果比固定阈值去噪要好;遗传算法优化后的Elman网络预测效果比优化前好,由此,可以总结出:
图8 小波启发式阈值去噪后的预测结果
1)小波去噪可以提高模型的预测精度,其中启发式阈值比固定阈值去噪后精度更高。
2)遗传算法优化初始权值能提高Elman网络的预测精度。所以,小波启发式阈值去噪后的GAElman模型有较高的预测精度,可以用于实际交通量的短时预测。
表1 6种方法预测结果平均百分比绝对误差和相关系数
4 结束语
本文针对交通流的非线性和强干扰性的特点,分别用小波启发式阈值去噪去除交通流量中的干扰性,用遗传算法优化的Elman神经网络模型处理交通流量中的非线性。通过实证表明在小波启发式阈值去噪后,再用GA-Elman模型进行预测,能得到较好的预测效果,可以在实际中用于预测交通量。
[1] 邵春福,熊志华,姚智胜.道路网短时交通需求预测理论、方法及应用[M].北京:清华大学出版社,2011:20-23.
[2] Williams B M,Hoel L A.Modeling and Forecasting Vehicular Traffic Flow as a Seasonal ARIMA Process:Theoretical Basis and Empirical Results[J].Journal of Transportation Engineering,2014,129(6):664-672.
[3] Ojeda L L,Kibangou A Y,De Wit C C.Adaptive Kalman filtering for multi-step ahead traffic flow prediction[C].Proceedings of the American Control Conference.2013:4724-4729.
[4] 金玉婷,余立建.基于小波神经网络的短时交通流预测[J].交通科技与经济,2014,16(1):82-86.
[5] 朱征宇,刘琳,崔明.一种结合SVM与卡尔曼滤波的短时交通流预测模型[J].计算机科学,2013,40(10):248-251.
[6] 李松,刘力军,翟曼.改进粒子群算法优化BP神经网络的短时交通流预测[J].系统工程理论与实践,2012,32(9):2045-2049.
[7] 董春娇,邵春福,熊志华.基于Elman神经网络的道路网短时交通流预测方法[J].交通运输系统工程与信息,2010,10(1):145-151.
[8] 谭满春,李英俊,徐建闽.基于小波消噪的ARIMA与SVM组合交通流预测[J].公路交通科技,2009(7):127-132.
[9] 丁硕,常晓恒,巫庆辉,等.Elman和BP神经网络在模式分类领域内的对比研究[J].现代电子技术,2014(8):12-14.