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