王敬月,樓俊鋼
(1.湖州師范學(xué)院 湖州長(zhǎng)三角智慧交通研究院,浙江 湖州 313000;2.浙江省現(xiàn)代農(nóng)業(yè)資源智慧管理與應(yīng)用研究重點(diǎn)實(shí)驗(yàn)室,浙江 湖州 313000)
交通流預(yù)測(cè)模型是智能交通領(lǐng)域最熱門的研究方向之一.實(shí)時(shí)準(zhǔn)確的交通流預(yù)測(cè)可以針對(duì)路面交通狀況制定相應(yīng)的管理方案,以有效緩解道路交通擁堵,提高民眾出行效率,降低交通事故的發(fā)生概率等[1].目前,國(guó)內(nèi)外研究者已提出很多交通流預(yù)測(cè)模型,包括非參數(shù)回歸模型[2]、K近鄰模型[3-4]、混沌理論模型[5]、神經(jīng)網(wǎng)絡(luò)模型(Artificial Neural Network,ANN)[6]和深度學(xué)習(xí)模型[7]等.
ANNs模型是最常用的交通流預(yù)測(cè)方法之一,其具有很強(qiáng)的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu),可通過對(duì)網(wǎng)絡(luò)層數(shù)、神經(jīng)元個(gè)數(shù)等的設(shè)定,以任意精度逼近各類非線性問題.因此,ANNs被廣泛用于軟件失效預(yù)測(cè)、電力負(fù)荷預(yù)測(cè)等非線性預(yù)測(cè)問題[8-9].群優(yōu)化算法[10-11]是通過模擬生物界群體行為特征而得出的一種新興元啟發(fā)式算法,其結(jié)構(gòu)簡(jiǎn)潔,擅長(zhǎng)并行處理.將群優(yōu)化算法融入各類ANNs,可以極大地提升其預(yù)測(cè)效果[12-13].Vlahogianni等提出基于遺傳算法(Genetic Algorithm,GA)的多層ANN結(jié)構(gòu)優(yōu)化策略,該策略有助于精確描述交通流數(shù)據(jù),指導(dǎo)ANN的結(jié)構(gòu)選擇[14].Chan等運(yùn)用多尺度分析交通流參數(shù),并結(jié)合Levenberg-Marquardt算法和指數(shù)平滑的混合ANN來優(yōu)化多尺度系數(shù)[15].Ghadami等提出一種無系統(tǒng)模型,該模型僅使用預(yù)警指標(biāo)和分叉方法預(yù)測(cè)環(huán)形道路的擁堵狀態(tài)[16].Peng等針對(duì)靜態(tài)混合城市的交通網(wǎng)絡(luò)結(jié)構(gòu)和基于歷史交通流站點(diǎn)間的動(dòng)態(tài)時(shí)空關(guān)系,建模新的時(shí)空關(guān)聯(lián)動(dòng)態(tài)預(yù)測(cè)圖結(jié)構(gòu)[17].李松等針對(duì)混沌時(shí)間序列,提出使用GA優(yōu)化誤差反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Networks,BPNN)預(yù)測(cè)交通流,使預(yù)測(cè)值較好地?cái)M合實(shí)際值,從而提高預(yù)測(cè)準(zhǔn)確性[18].寇飛采用自適應(yīng)人工魚群算法改進(jìn)BP參數(shù),較好地體現(xiàn)了預(yù)測(cè)過程交通流變化的特性[19].
麻雀搜索算法(Sparrow Search Algorithm,SSA)是由Xue等[20]于2020年提出的,它是一種新型群體智能優(yōu)化算法,其主要思想是根據(jù)麻雀種群覓食及反捕食等一系列行為,選取具有最優(yōu)適應(yīng)度值的麻雀.該算法在收斂速度和精度等方面優(yōu)于粒子群算法(Particle Swarm Optimization,PSO)和引力搜索等群體智能優(yōu)化算法.本文引入Tent混沌映射來增加SSA的遍歷均勻性和隨機(jī)性,提出混沌麻雀算法(Chaos Sparrow Search Algorithm,CSSA),以提高SSA的全局尋優(yōu)能力;利用CSSA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)交通流預(yù)測(cè)模型的參數(shù),建立CSSA-BPNN交通流預(yù)測(cè)模型,并將其應(yīng)用于國(guó)內(nèi)3個(gè)不同城市的真實(shí)交通數(shù)據(jù)集,以驗(yàn)證該模型的有效性.
麻雀種群分為生產(chǎn)者、跟隨者和偵察者.生產(chǎn)者具有較好的覓食技能,且負(fù)責(zé)引領(lǐng)其他麻雀覓食;跟隨者主要跟隨1只麻雀覓食且監(jiān)視爭(zhēng)奪食物;偵察者負(fù)責(zé)在危險(xiǎn)時(shí)發(fā)出信號(hào),使所有麻雀進(jìn)行位置移動(dòng)以躲避危險(xiǎn).種群麻雀適應(yīng)度值可用以下矩陣表示:
(1)
其中,n為麻雀數(shù)量,d為待優(yōu)化變量維數(shù).
在種群迭代過程中,生產(chǎn)者的位置更新如下:
(2)
跟隨者會(huì)時(shí)刻監(jiān)控生產(chǎn)者,一旦發(fā)現(xiàn)生產(chǎn)者具有更好的食物,它們就會(huì)去爭(zhēng)奪,如果贏了,則獲得食物,否則繼續(xù)監(jiān)控.跟隨者的位置更新如下:
(3)
其中,Xp為生產(chǎn)者所占據(jù)的最佳位置;Xworst為當(dāng)前最差位置;A為元素被隨機(jī)分配1和-1的1×d矩陣,A+=AT(AAT)-1.當(dāng)i>n/2時(shí),第i個(gè)跟隨者由于饑餓,所以其適應(yīng)度值較差.
在危險(xiǎn)時(shí),麻雀的位置更新如下:
(4)
其中,Xbest為當(dāng)前最佳位置;β是一個(gè)均值為0、方差為1的正態(tài)分布;K∈[-1,1]為一個(gè)隨機(jī)數(shù);fi為目前麻雀的適應(yīng)度值;fg,fw分別為當(dāng)前麻雀的最佳和最差適應(yīng)度值;ε為避免零分區(qū)誤差的最小常數(shù);fi>fg表示麻雀在群體的邊緣;fi=fg表示處于種群中間的麻雀意識(shí)到危險(xiǎn),需要靠近其他麻雀;K為麻雀移動(dòng)方向,為步長(zhǎng)控制系數(shù).
為避免算法過早收斂而加快迭代速度,可使用混沌系統(tǒng)初始化種群.混沌是指在一個(gè)確定性系統(tǒng)中存在的貌似隨機(jī)的不規(guī)則運(yùn)動(dòng),其行為表現(xiàn)為不確定、不可重復(fù)和不可預(yù)測(cè)的混沌現(xiàn)象.logistic映射和Tent映射是當(dāng)前應(yīng)用較廣的離散混沌映射系統(tǒng).研究表明,Tent映射比Logistic映射具有更優(yōu)的遍歷均勻性和收斂速度[21].因此,本文采用Tent混沌映射初始化種群.Tent混沌映射的表達(dá)式為:
(5)
其在可行域中先隨機(jī)產(chǎn)生初值Z0,直到迭代達(dá)到最大次數(shù),最終產(chǎn)生Z序列.
CSSA算法流程見圖1.其具體步驟為:
圖1 CSSA算法流程圖
Step 1:構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,初始化網(wǎng)絡(luò)參數(shù);
Step 2:初始化麻雀算法的各項(xiàng)參數(shù),如空間維數(shù)、麻雀規(guī)模、迭代次數(shù)、種群上下邊界、生產(chǎn)者數(shù)量等;
Step 3:采用Tent混沌映射初始化種群,加入混沌擾動(dòng),使種群盡可能地均勻分布;
Step 4:計(jì)算種群中麻雀的適應(yīng)度值;
Step 5:在1到迭代次數(shù)之間,根據(jù)適應(yīng)度值對(duì)種群進(jìn)行排序;
Step 6:生產(chǎn)者的位置更新、跟隨者的位置更新、在危險(xiǎn)時(shí)麻雀的位置更新;
Step 7:先進(jìn)行個(gè)體最優(yōu)更新,再進(jìn)行群體最優(yōu)更新;
Step 8:將上述步驟得到的最優(yōu)適應(yīng)度值和全局最優(yōu)位置賦予BP神經(jīng)網(wǎng)絡(luò)模型,以優(yōu)化其權(quán)值和閾值,從而進(jìn)行預(yù)測(cè).
CSSA算法主要部分的偽代碼見表1.
表1 CSSA算法主要部分的偽代碼
基于CSSA-BPNN的交通流預(yù)測(cè)模型如圖2所示.該模型采用3層BP神經(jīng)網(wǎng)絡(luò):輸入層取4、隱藏層取8、輸出層取1.模型的輸入包括車間距(m)、車速(m/s)、車道數(shù)n、車密度(veh/km).輸出為下一時(shí)間段的交通流量.
圖2 基于CSSA-BPNN的交通流預(yù)測(cè)模型
實(shí)驗(yàn)數(shù)據(jù)集來自:上海市中心近陜西路西側(cè)延安高架路段,時(shí)間為2020年2月1日14:10-17:10,天氣下雪;北京市北四環(huán)近中關(guān)村路段,時(shí)間為2020年11月3日8:30-11:00,天氣晴;西安南二環(huán)長(zhǎng)安立交路段,時(shí)間為2020年8月4日11:25-18:15,天氣晴.采集路面數(shù)據(jù)信息的記錄時(shí)間間隔為0.8 s.
在實(shí)驗(yàn)中,種群最大迭代次數(shù)為100次,學(xué)習(xí)率為0.1,目標(biāo)值為0.000 01,麻雀種群規(guī)模為100,種群邊界值為[-5,5].將遺傳算法結(jié)合BP(GA-BP)、粒子群算法結(jié)合BP(PSO-BP)、麻雀算法結(jié)合BP(SSA-BP)、Logistic映射優(yōu)化SSA結(jié)合BP (Logistic Sparrow Search Algorithm,LSSA-BP)、CSSA-BP 5種模型分別輸入訓(xùn)練集數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并在訓(xùn)練完成后將其輸入測(cè)試集數(shù)據(jù)進(jìn)行預(yù)測(cè).
圖3為5種模型分別使用3組數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)的結(jié)果,x軸為預(yù)測(cè)次數(shù),y軸為預(yù)測(cè)值與實(shí)際值之間的誤差百分值.誤差百分值越小,說明預(yù)測(cè)值越接近實(shí)際值,交通流預(yù)測(cè)效果越好.
圖3 5種模型在3組數(shù)據(jù)集上的預(yù)測(cè)誤差對(duì)比圖
圖3(a)為使用第1組數(shù)據(jù)集進(jìn)行的實(shí)驗(yàn).第1組數(shù)據(jù)集有1 868組數(shù)據(jù),選取前1 400組作為訓(xùn)練集,后468組作為測(cè)試集.根據(jù)預(yù)測(cè)第125~140次的實(shí)驗(yàn)結(jié)果誤差對(duì)比,可以看出,CSSA-BP模型比其他4種模型的預(yù)測(cè)誤差更接近0,預(yù)測(cè)效果更好.圖3(b)為使用第2組數(shù)據(jù)集進(jìn)行的實(shí)驗(yàn),第2組數(shù)據(jù)集有4 552組數(shù)據(jù),選取前3 500組作為訓(xùn)練集,后1 052組作為測(cè)試集.根據(jù)預(yù)測(cè)第145~165次的實(shí)驗(yàn)結(jié)果誤差對(duì)比,可以看出,CSSA-BP模型比其他4種模型的預(yù)測(cè)誤差更穩(wěn)定.圖3(c)為使用第3組數(shù)據(jù)集進(jìn)行的實(shí)驗(yàn),第3組數(shù)據(jù)集有2 830組數(shù)據(jù),選取前2 200組作為訓(xùn)練集,后630組作為測(cè)試集.根據(jù)預(yù)測(cè)第135~145次的實(shí)驗(yàn)結(jié)果誤差對(duì)比,可以看出,CSSA-BP模型的預(yù)測(cè)過程更穩(wěn)定,預(yù)測(cè)誤差變化幅度更小.由此可見,本文提出的CSSA-BP交通流預(yù)測(cè)模型的預(yù)測(cè)誤差最小,其預(yù)測(cè)值更接近實(shí)際值,預(yù)測(cè)精度最高,效果最優(yōu).
圖4為5種模型在3組數(shù)據(jù)集上的網(wǎng)絡(luò)迭代次數(shù)對(duì)比圖,x軸為預(yù)測(cè)模型的迭代次數(shù),y軸為模型迭代結(jié)束時(shí)所達(dá)到的最小均方誤差(MSE).迭代次數(shù)越小,說明模型的預(yù)測(cè)速度越快,MSE值越小,精度越高.
圖4 5種模型在3組數(shù)據(jù)集上的網(wǎng)絡(luò)迭代次數(shù)對(duì)比圖
圖4(a)為5種模型在第1組數(shù)據(jù)集上的訓(xùn)練結(jié)果.從0開始進(jìn)行第1次訓(xùn)練,可以看出,CSSA-BP網(wǎng)絡(luò)迭代7次結(jié)束,SSA-BP網(wǎng)絡(luò)迭代8次結(jié)束,GA-BP網(wǎng)絡(luò)迭代10次結(jié)束,PSO-BP網(wǎng)絡(luò)迭代10次結(jié)束,LSSA-BP網(wǎng)絡(luò)迭代7次結(jié)束.圖4(b)為5種模型在第2組數(shù)據(jù)集上的訓(xùn)練結(jié)果.從0開始進(jìn)行第1次訓(xùn)練,可以看出,CSSA-BP網(wǎng)絡(luò)迭代6次結(jié)束,SSA-BP網(wǎng)絡(luò)迭代10次結(jié)束,GA-BP網(wǎng)絡(luò)迭代8次結(jié)束,PSO-BP網(wǎng)絡(luò)迭代10次結(jié)束,LSSA-BP迭代11次結(jié)束.圖4(c)為5種模型在第3組數(shù)據(jù)集上的訓(xùn)練結(jié)果.從0開始進(jìn)行第1次訓(xùn)練,可以看出,CSSA-BP網(wǎng)絡(luò)迭代9次結(jié)束,SSA-BP網(wǎng)絡(luò)迭代13次結(jié)束,GA-BP網(wǎng)絡(luò)迭代12次結(jié)束,PSO-BP網(wǎng)絡(luò)迭代9次結(jié)束,LSSA-BP網(wǎng)絡(luò)迭代12次結(jié)束.5種模型在3組數(shù)據(jù)集上的預(yù)測(cè)均方誤差(MSE)隨著迭代次數(shù)的增加而逐漸減小,其中CSSA-BP模型的MSE最小.經(jīng)綜合分析發(fā)現(xiàn),相比其他4種模型,CSSA-BP模型的收斂速度更快.
選用RMSE、MAE、MAPE和預(yù)測(cè)準(zhǔn)確率為評(píng)價(jià)指標(biāo),其計(jì)算公式為:
(6)
(7)
(8)
預(yù)測(cè)準(zhǔn)確率=(1-MAPE)×100%,
(9)
其中,ypred為預(yù)測(cè)值,ytrue為實(shí)際值,N為預(yù)測(cè)次數(shù).
BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值是隨機(jī)產(chǎn)生的,且群體優(yōu)化算法的全局尋優(yōu)效果不一,所以需要對(duì)這5種模型分別使用3組數(shù)據(jù)集進(jìn)行10次實(shí)驗(yàn),以計(jì)算最優(yōu)值F1、最差值F2、平均值F3.表2結(jié)果表明,在3組數(shù)據(jù)集的實(shí)驗(yàn)中,CSSA-BP模型的MAE、RMSE、MAPE均值均比GA-BP、PSO-BP、SSA-BP、LSSA-BP模型小.而評(píng)估指標(biāo)MAE、RMSE、MAPE值越小,說明模型預(yù)測(cè)交通流的測(cè)試值與實(shí)際值的擬合度越高,其預(yù)測(cè)精度越高.因此,CSSA-BP模型的誤差分布離散程度更小,誤差更小,預(yù)測(cè)效果更好.
表2 5種模型的誤差評(píng)價(jià)指標(biāo)
表3為在3組數(shù)據(jù)集的實(shí)驗(yàn)中,CSSA-BP模型的4項(xiàng)評(píng)價(jià)指標(biāo)相對(duì)其他4種模型的變化率.從表3可以看出:CSSA-BP的平均絕對(duì)誤差(MAE)比GA-BP降低了34.5%,比PSO-BP降低了35.4%,比SSA-BP降低了23.8%,比LSSA-BP降低了19.5%;CSSA-BP的均方根誤差(RMSE)比GA-BP降低了40.3%,比PSO-BP降低了44%,比SSA-BP降低了20.1%,比LSSA-BP降低了25%;CSSA-BP的平均絕對(duì)百分比誤差(MAPE)比GA-BP降低了36.5%,比PSO-BP降低了51.8%,比SSA-BP降低了23.7%,比LSSA-BP降低了23.3%.CSSA-BP模型的平均預(yù)測(cè)準(zhǔn)確率比GA-BP提升了1.25%,比PSO-BP提升了4.01%,比SSA-BP提升了0.62%,比LSSA-BP提升了0.52%.由此可以看出,CSSA-BP模型預(yù)測(cè)交通流的測(cè)試值與實(shí)際值的擬合度更高,誤差更小,整體的預(yù)測(cè)效果更優(yōu).
表3 CSSA-BP相對(duì)其他4種模型的評(píng)價(jià)指標(biāo)變化率
表3 (續(xù))
本文在3組真實(shí)交通流數(shù)據(jù)集上對(duì)5種模型進(jìn)行預(yù)測(cè),結(jié)果表明,相比GA-BP、PSO-BP、SSA-BP、LSSA-BP4,CSSA-BP模型的預(yù)測(cè)精確度更高,迭代速度更快.雖然3組數(shù)據(jù)集的采集時(shí)間、天氣狀況不一,但實(shí)驗(yàn)結(jié)果未受影響.從總體看,CSSA-BPNN模型結(jié)構(gòu)精簡(jiǎn),預(yù)測(cè)效果較優(yōu),具有實(shí)際應(yīng)用價(jià)值.未來的研究將進(jìn)一步考慮加入空間因素.此外,某一條道路車流量也會(huì)受鄰近道路車流量的影響而發(fā)生變化,若排除天氣、時(shí)間和空間因素,該模型將能更精準(zhǔn)地預(yù)測(cè)道路車流量.