張文勝,郝孜奇,朱冀軍,杜甜添,郝會(huì)民
(1.石家莊鐵道大學(xué)交通運(yùn)輸學(xué)院,石家莊050043;2.河北省交通安全與控制重點(diǎn)實(shí)驗(yàn)室,石家莊050043;3.河北省交通規(guī)劃設(shè)計(jì)院,石家莊050011;4.天津軌道交通運(yùn)營(yíng)集團(tuán)有限公司,天津300222;5.石家莊市勘察測(cè)繪設(shè)計(jì)研究院,石家莊050011)
準(zhǔn)確、實(shí)時(shí)的短時(shí)交通流預(yù)測(cè)是交通控制及交通誘導(dǎo)的重要保障.由于交通流變化趨勢(shì)具有非線性和不確定性,人工神經(jīng)網(wǎng)絡(luò)憑借其良好的非線性收斂能力,可以更加準(zhǔn)確學(xué)習(xí)短時(shí)交通流中的不確定性,但神經(jīng)網(wǎng)絡(luò)存在收斂速度慢,容易陷入局部極值的缺點(diǎn).為此,F(xiàn)abio Moretti[1]等用統(tǒng)計(jì)方法優(yōu)化人工神經(jīng)網(wǎng)絡(luò),提出了一種基于神經(jīng)網(wǎng)絡(luò)的混合模型對(duì)短時(shí)交通流進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果較優(yōu),但人工神經(jīng)網(wǎng)絡(luò)的閾值為確定值,降低了預(yù)測(cè)精度.Chai Yanhong[2]等將小波分析和BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,使用小波函數(shù)進(jìn)行初始數(shù)據(jù)的去除噪聲處理,將處理后的數(shù)據(jù)用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使用梯度下降法進(jìn)行神經(jīng)網(wǎng)絡(luò)參數(shù)調(diào)整,提高了預(yù)測(cè)結(jié)果的精度,但降低了收斂速度.近年來(lái),各種元啟發(fā)式算法憑借其收斂速度快,精度高的特點(diǎn),廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)的優(yōu)化.Mirjalili[3]提出一種新的元啟發(fā)式算法——灰狼算法(Grey Wolf Optimizer,GWO),較其他元啟發(fā)式算法具有調(diào)整參數(shù)少、便于理解、收斂速度快的優(yōu)點(diǎn),但灰狼算法依然存在對(duì)多峰函數(shù)求解時(shí)收斂速度慢,容易陷入局部最優(yōu)解的缺點(diǎn).石峰等[4]利用灰狼算法對(duì)空氣質(zhì)量檢驗(yàn)樣本進(jìn)行實(shí)時(shí)監(jiān)控訓(xùn)練,避免了神經(jīng)網(wǎng)絡(luò)過(guò)擬合現(xiàn)象的發(fā)生,但該算法具有后期收斂速度慢的缺點(diǎn).傅蔚陽(yáng)[5]等使灰狼個(gè)體移動(dòng)方向滿足反向?qū)W習(xí)策略,改善了算法的尋優(yōu)范圍,但降低了算法的收斂速度.
本文提出一種基于改進(jìn)灰狼算法(Transformed Grey Wolf Optimizer,TGWO)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(TGWO-BP)的短時(shí)交通流預(yù)測(cè)模型,對(duì)標(biāo)準(zhǔn)灰狼算法中的收斂因子和位置更新公式進(jìn)行改進(jìn),改善標(biāo)準(zhǔn)灰狼算法的尋優(yōu)能力和收斂特性.利用改進(jìn)灰狼算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行尋優(yōu),使BP神經(jīng)網(wǎng)絡(luò)的收斂速度更快,精度更高.
在灰狼群體中,灰狼個(gè)體按照社會(huì)關(guān)系嚴(yán)格劃分為α、β、δ、ω這4個(gè)等級(jí),如圖1所示.其中,α狼為頭狼,β狼為協(xié)助者,δ狼服從α、β的命令,并指揮沒(méi)有自主決策能力的ω狼.在狩獵過(guò)程中,灰狼在α狼的帶領(lǐng)下,有組織地對(duì)獵物包圍,進(jìn)而攻擊[3].
圖1 灰狼社會(huì)等級(jí)劃分Fig.1 Grey wolf social hierarchy
在數(shù)學(xué)模型中,每只灰狼個(gè)體代表種群中一個(gè)候選解,將種群中的最優(yōu)解稱(chēng)為α,次優(yōu)解稱(chēng)為β,第三優(yōu)解稱(chēng)為δ,其余候選解統(tǒng)稱(chēng)為ω.灰狼算法的每次迭代,將α、β和δ作為前三優(yōu)解,判斷獵物位置,指揮ω在獵物周?chē)S機(jī)更新,向獵物不斷逼近.
假設(shè)灰狼種群規(guī)模為N,搜索空間為D維,第i只灰狼的位置為,則狼群的行為公式如下.
(1)包圍行為.
灰狼在發(fā)現(xiàn)獵物后將其包圍,包圍的公式為
式中:D為灰狼個(gè)體和獵物之間的距離;t為當(dāng)前迭代次數(shù);Xp(t)為獵物在t次迭代的位置向量;X(t)為灰狼個(gè)體在t次迭代的位置向量;A和C為系數(shù)向量,計(jì)算公式為
式中:r1,r2為標(biāo)量在[0,1]之間的隨機(jī)向量;a為收斂因子,a的值從2線性遞減至0,計(jì)算公式為
式中:tmax為最大迭代次數(shù).
包圍行為中,改變A和C的值可實(shí)現(xiàn)灰狼對(duì)獵物的搜索,通過(guò)r1,r2的隨機(jī)設(shè)定,灰狼可以搜索到獵物周?chē)膎個(gè)方向[6].|A|表示A值的大小,由式(2)可知,當(dāng)|A|>1時(shí),灰狼下一步迭代將從當(dāng)前位置遠(yuǎn)離獵物,即候選解趨向由獵物向外發(fā)散,以進(jìn)行全局搜索,搜索其他潛在最優(yōu)解;當(dāng)||A<1時(shí),灰狼個(gè)體的下一位置將處于當(dāng)前位置和獵物之間,即候選解趨向于向獵物集聚,以進(jìn)行局部搜索,逼近最優(yōu)解.
(2)捕獵行為.
灰狼將獵物包圍后由頭狼α指導(dǎo),β和δ協(xié)助,進(jìn)行捕獵行為.獵捕行為中,灰狼由α、β、δ帶領(lǐng),逐漸靠近獵物.α、β、δ的位置更新公式分別為
式中:A1和C1、A2和C2、A3和C3分別表示α、β、δ的系數(shù)向量;Xα(t)、Xβ(t)、Xδ(t)分別表示α、β、δ相對(duì)獵物的位置向量;X1(t+1)、X2(t+1)、X3(t+1)分別表示α、β、δ灰狼個(gè)體在(t+1)次迭代時(shí)的位置向量.
灰狼通過(guò)式(6)~式(12)不斷調(diào)整獵捕方向和與獵物的距離,多次迭代后,捕獲獵物.此時(shí)頭狼α所在位置和適應(yīng)度,即為最優(yōu)解.
灰狼算法的收斂因子是呈線性遞減的.在實(shí)際應(yīng)用中:函數(shù)在算法初期,需要較大的搜索范圍;在迭代后期,則需要較小的搜索范圍,使局部搜索更加精細(xì).線性遞減的收斂因子不能滿足灰狼算法的自適應(yīng)搜索,算法收斂速度較慢,容易陷入局部極值.標(biāo)準(zhǔn)灰狼算法中的步長(zhǎng)更新公式假定獵物位置不變,而實(shí)際問(wèn)題中,獵物位置是在不斷移動(dòng)的,固定的獵物位置導(dǎo)致算法資源浪費(fèi),不容易收斂到極值.
分別將標(biāo)準(zhǔn)灰狼算法的收斂因子和步長(zhǎng)更新公式進(jìn)行改進(jìn),改善灰狼算法收斂速度和搜索特性.
(1)自適應(yīng)收斂因子.
標(biāo)準(zhǔn)灰狼算法開(kāi)發(fā)能力依賴于A的取值,A的取值又依賴于收斂因子a的變化,在標(biāo)準(zhǔn)灰狼算法中,Mirjalili[3]規(guī)定收斂因子由2線性遞減至0.Sasmita[7]證明線性遞減的收斂因子不能很好地區(qū)分全局搜索和局部搜索.在實(shí)際灰狼群體中,前期搜索空間較大,需要快速搜索;后期距離獵物較近,步長(zhǎng)過(guò)大容易漏掉搜索空間,過(guò)早地陷入局部最優(yōu)解,需要精細(xì)搜索.
依據(jù)Sigmoid函數(shù)前期下降快,后期下降慢的特點(diǎn),提出一種基于Sigmoid函數(shù)的收斂因子計(jì)算公式.
式中:amax為收斂因子設(shè)定的最大值.
基于Sigmoid函數(shù)重新定義了收斂因子的變化率,使收斂因子的值隨迭代次數(shù)的增加,呈非線性減小.a在迭代初期,減小較快,搜索范圍較大,在進(jìn)行全局搜索時(shí),可以更迅速地發(fā)現(xiàn)多個(gè)潛在極值;隨著迭代次數(shù)的增加,a減小較慢,在進(jìn)行局部搜索時(shí),較小的步長(zhǎng)可以防止算法漏掉函數(shù)的極值點(diǎn).
(2)步長(zhǎng)更新公式.
在粒子群優(yōu)化算法[8](Particle Swarm Optimization,PSO)中,采用經(jīng)典的線性遞減權(quán)重策略,通過(guò)引入動(dòng)態(tài)慣性因子θ,平衡了算法進(jìn)行全局和局部搜索的能力.
式中:θ為慣性權(quán)重;θmax表示慣性權(quán)重的最大值,一般取0.9;θmin表示慣性權(quán)重的最小值,一般取0.4.
受其啟發(fā),本文提出一種基于慣性權(quán)重的灰狼位置更新公式,賦予灰狼跳出局部極值的能力.
式中:φ為慣性權(quán)重;φmax表示慣性權(quán)重的最大值,一般取0.9;φmin表示慣性權(quán)重的最小值,一般取0.4.
在新的步長(zhǎng)更新公式中,慣性權(quán)重是線性遞減的.當(dāng)慣性權(quán)重設(shè)置較大時(shí),可以降低算法陷入局部極值的風(fēng)險(xiǎn);當(dāng)慣性權(quán)重設(shè)置較小時(shí),可以提高算法的搜索精度,減少不必要的迭代過(guò)程,提高算法計(jì)算效率.
為測(cè)試改進(jìn)灰狼算法的性能,選取文獻(xiàn)[9]中8個(gè)國(guó)際通用的標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)TGWO進(jìn)行仿真測(cè)試,8個(gè)測(cè)試函數(shù)如表1所示.函數(shù)分為3類(lèi),f1~f4為單峰函數(shù),f5~f7為多峰函數(shù),f8為固定維度多峰函數(shù).測(cè)試函數(shù)涵蓋了多個(gè)類(lèi)型,測(cè)試結(jié)果具有指導(dǎo)作用.
表 1 8個(gè)測(cè)試函數(shù)表Table 1 Eight test function tables
利用本文提出的改進(jìn)灰狼算法對(duì)上述8個(gè)測(cè)試函數(shù)進(jìn)行求解,與標(biāo)準(zhǔn)GWO、PSO進(jìn)行比較.為保證算法的公平性及準(zhǔn)確性,3種算法的參數(shù)取值一致.設(shè)種群規(guī)模為30,最大迭代次數(shù)為500,每個(gè)函數(shù)獨(dú)立運(yùn)行30次,分別記錄每次的最優(yōu)值.計(jì)算3種函數(shù)運(yùn)行30次的最優(yōu)解的平均值和標(biāo)準(zhǔn)差,用以測(cè)試算法的搜索精度和穩(wěn)定性.PSO、GWO、TGWO算法對(duì)8個(gè)基準(zhǔn)函數(shù)的測(cè)試結(jié)果如表2所示.
表 2 3種算法對(duì)測(cè)試函數(shù)的尋優(yōu)結(jié)果Table 2 Optimization results of three algorithms on test functions
表2中,將8個(gè)函數(shù)在算法中的最優(yōu)值用粗體標(biāo)出,8個(gè)測(cè)試函數(shù)中TGWO都可以收斂到極值處(當(dāng)收斂進(jìn)度達(dá)到1×10-10時(shí)認(rèn)為算法收斂).與PSO對(duì)比可知,GWO和TGWO在收斂精度上有很大提高;與傳統(tǒng)GWO相比,TGWO收斂結(jié)果更加準(zhǔn)確.
表2中,只能觀察到TGWO尋找到8個(gè)測(cè)試函數(shù)的最優(yōu)值比GWO和PSO尋找到的最優(yōu)值更加準(zhǔn)確,不能準(zhǔn)確分析TGWO的收斂速度.為了分析TGWO的收斂性,圖2給出8種算法的收斂曲線對(duì)比圖.
圖2 8個(gè)測(cè)試函數(shù)的函數(shù)圖和收斂曲線對(duì)比圖Fig.2 Comparison diagram of function diagram and convergence curve of eight test functions
圖2各分圖:左圖為測(cè)試函數(shù)的三維搜索空間分布圖,x1和x2分別為函數(shù)搜索區(qū)間,F(xiàn)(x1,x2)表示函數(shù)值的大小;右圖為智能算法對(duì)函數(shù)求極值時(shí)的收斂曲線,橫軸表示迭代次數(shù),縱軸是最優(yōu)值.
可以看到:對(duì)于單峰函數(shù)f1~f4,改進(jìn)的灰狼算法收斂速度大幅度增加,收斂精度在標(biāo)準(zhǔn)灰狼算法的3倍以上;對(duì)于多峰函數(shù)f5和f7,改進(jìn)的灰狼算法精度可以收斂到0,標(biāo)準(zhǔn)差為0;對(duì)于固定維度多峰函數(shù)f8,改進(jìn)的灰狼算法收斂到其最小值-3.68.由此可見(jiàn),TGWO在測(cè)試函數(shù)上收斂速度較PSO和GWO更快,精度更高.
在短時(shí)交通流的預(yù)測(cè)中,BP神經(jīng)網(wǎng)絡(luò)具有接近任何非線性函數(shù)的能力,本文構(gòu)建了基于改進(jìn)灰狼算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(TGWO-BP)的短時(shí)交通流預(yù)測(cè)模型.利用改進(jìn)的灰狼算法尋找到兩個(gè)最優(yōu)值,作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,利用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行短時(shí)交通流的訓(xùn)練和預(yù)測(cè),提高傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)精度.
(1)初始化灰狼種群,確定BP神經(jīng)網(wǎng)絡(luò)參數(shù).選擇符合實(shí)際數(shù)據(jù)的BP神經(jīng)網(wǎng)絡(luò)輸入層、隱含層、輸出層,以及各層的激活函數(shù).
(2)確定灰狼種群的適應(yīng)度函數(shù).用初始化后的灰狼參數(shù)構(gòu)建BP神經(jīng)網(wǎng)絡(luò),將BP神經(jīng)網(wǎng)絡(luò)期望值和預(yù)測(cè)值相差的絕對(duì)值之和作為灰狼的適應(yīng)度函數(shù),公式為
式中:n為網(wǎng)絡(luò)輸出節(jié)點(diǎn)數(shù);xe和xe分別為網(wǎng)絡(luò)的預(yù)測(cè)輸出和期望輸出.
(3)將適應(yīng)度函數(shù)值視為灰狼群體中的獵物位置,利用TGWO,尋找到最優(yōu)函數(shù)值.輸出函數(shù)的兩個(gè)最優(yōu)解,將輸出的兩個(gè)最優(yōu)解分別賦為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值.對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,達(dá)到訓(xùn)練精度要求后,輸入預(yù)測(cè)數(shù)據(jù),輸出最終預(yù)測(cè)結(jié)果.
對(duì)短時(shí)交通流預(yù)測(cè)模型的精度進(jìn)行判定,采用平均絕對(duì)百分誤差(Mean Absolute Percent Error,MAPE)進(jìn)行誤差分析.
式中:EMAPE為平均絕對(duì)百分誤差值;xi、xi分別為交通流的預(yù)測(cè)值、實(shí)測(cè)值;N為預(yù)測(cè)的總時(shí)間長(zhǎng)度.
實(shí)驗(yàn)數(shù)據(jù)為2017年3月7日~4月20日貴陽(yáng)市白云區(qū)00:00-23:55的車(chē)流量數(shù)據(jù),時(shí)間間隔為5 min.利用Matlab 2017a進(jìn)行編程分析,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,包括冗余數(shù)據(jù)的刪除與錯(cuò)誤數(shù)據(jù)的修改、小波去噪、相空間重構(gòu)與歸一化處理.將數(shù)據(jù)集利用BP_Adaboost強(qiáng)分類(lèi)器進(jìn)行分類(lèi)設(shè)計(jì).
將預(yù)處理后的數(shù)據(jù)分別輸入本文構(gòu)建的TGWO-BP、GWO-BP、PSO-BP、BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行短時(shí)交通流的預(yù)測(cè),比較各個(gè)模型的預(yù)測(cè)輸出.為保證對(duì)比結(jié)果的公平性,各模型的參數(shù)設(shè)置保持一致.BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)為100,精確度為0.000 1,學(xué)習(xí)率為0.01;灰狼算法(GWO)和改進(jìn)灰狼算法(TGWO)種群數(shù)量為30,迭代次數(shù)為500,維度為41;粒子群算法(PSO)種群數(shù)量為30,迭代次數(shù)為500.每種模型獨(dú)立運(yùn)行50次,取平均值作為最終預(yù)測(cè)結(jié)果.4種模型預(yù)測(cè)短時(shí)交通流的期望輸出和預(yù)測(cè)輸出結(jié)果如圖3~圖6所示.
圖3 基于TGWO-BP的短時(shí)交通流預(yù)測(cè)模型Fig.3 Short-term traffic flow based on TGWO-BP
圖3中,基于TGWO-BP的短時(shí)交通流預(yù)測(cè)結(jié)果較為精確,預(yù)測(cè)輸出與期望輸出變化范圍基本一致,相比于其他3種預(yù)測(cè)模型,預(yù)測(cè)輸出與期望輸出間的誤差更小,可以較準(zhǔn)確地描述短時(shí)交通流的變化趨勢(shì).圖4中,基于GWO-BP的短時(shí)交通流預(yù)測(cè)結(jié)果可以大致滿足交通流的變化趨勢(shì),但是隨時(shí)間的增長(zhǎng),后期誤差較大,預(yù)測(cè)輸出的值偏低.圖5中,基于PSO-BP的短時(shí)交通流預(yù)測(cè)結(jié)果誤差較大,在時(shí)間軸[100,200]內(nèi),預(yù)測(cè)輸出值的趨勢(shì)平緩,波動(dòng)幅度??;在時(shí)間軸250左右,預(yù)測(cè)輸出普遍偏高,明顯偏離期望輸出.圖6中,基于BP的短時(shí)交通流預(yù)測(cè)結(jié)果不能滿足交通流的變化趨勢(shì),在大部分時(shí)間范圍內(nèi),預(yù)測(cè)輸出均低于期望輸出,不能很好地?cái)M合期望輸出.
圖4 基于GWO-BP的短時(shí)交通流預(yù)測(cè)模型Fig.4 Short-term traffic flow based on GWO-BP
圖5 基于PSO-BP的短時(shí)交通流預(yù)測(cè)模型Fig.5 Short-term traffic flow based on PSO-BP
圖6 基于BP的短時(shí)交通流預(yù)測(cè)模型Fig.6 Short-term traffic flow based on BP
為更直觀地判斷4種預(yù)測(cè)模型的預(yù)測(cè)結(jié)果,利用平均絕對(duì)百分誤差(MAPE)對(duì)4種預(yù)測(cè)模型進(jìn)行對(duì)比分析,MAPE的值取短時(shí)交通流預(yù)測(cè)模型獨(dú)立運(yùn)行50次之后的平均值,如表3所示.
表 3 4種預(yù)測(cè)模型的平均絕對(duì)百分誤差值Table 3 MAPE of four forecast models
由表3可知,基于TGWO-BP的短時(shí)交通流預(yù)測(cè)誤差值小于GWO-BP、PSO-BP和BP神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)精度比GWO-BP高出1.22%,比PSOBP高出3.91%,比BP神經(jīng)網(wǎng)絡(luò)模型高出4.33%,說(shuō)明TGWO-BP在短時(shí)交通流預(yù)測(cè)方面具有更高的精度.
本文針對(duì)標(biāo)準(zhǔn)灰狼算法收斂速度慢,不易區(qū)分全局搜索和局部搜索,以及容易陷入局部極值的問(wèn)題,基于Sigmoid函數(shù)改進(jìn)了灰狼算法的收斂因子,使其具有自適應(yīng)遞減的能力,提高算法搜索速度,引入慣性權(quán)重改進(jìn)狼群的位置更新公式,使灰狼自動(dòng)更新搜索步長(zhǎng),不容易陷入局部極值.
通過(guò)求解8個(gè)基準(zhǔn)測(cè)試函數(shù)進(jìn)行了TGWO的驗(yàn)證,結(jié)果證明,TGWO較GWO和PSO具有更高的精度和更快的收斂速度.利用改進(jìn)的灰狼算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,構(gòu)建了基于TGWO-BP的短時(shí)交通流預(yù)測(cè)模型,通過(guò)與GWOBP、PSO-BP和BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)TGWO-BP預(yù)測(cè)誤差為10.03%,具有更高的預(yù)測(cè)精度,可以滿足短時(shí)交通流預(yù)測(cè)的準(zhǔn)確性和實(shí)時(shí)性的要求,具有良好的應(yīng)用前景.