張 陽,廖曉燁,楊書敏,辛東嶸
(1. 福建理工大學 交通運輸學院,福建 福州 350118; 2. 同濟大學 交通運輸工程學院,上海 201804; 3. 福建理工大學 土木工程學院,福建 福州 350118)
近年來,隨著人們對出行質(zhì)量的需求不斷提升,私人機動車數(shù)量大幅度增長。交通需求的快速增長導致一系列交通問題變得更加突出,道路堵塞、交通事故頻發(fā)、尾氣污染等已對社會發(fā)展和日常生活造成諸多不利影響。智能交通系統(tǒng)中的交通控制和誘導技術能夠在不改建現(xiàn)有道路條件的前提下提升道路的通行能力從而有效的緩解交通擁堵,因而成為緩解交通擁堵的重要思路。
由于交通流的隨機性、社會性、復雜性等特點,精準的短時交通流預測變成了一大難題。早期的短時交通流預測模型多基于統(tǒng)計學原理,其中最有代表性的為時間序列模型,時間序列模型常用于描述時間序列統(tǒng)計特性,并有效運用于參數(shù)化模型處理動態(tài)隨機數(shù)據(jù),根據(jù)交通流在時間上的連續(xù)性推導得出。這類方法在連續(xù)性數(shù)據(jù)的基礎上擁有較高精度,但參數(shù)估計較復雜,且計算出的參數(shù)不能移植,模型沒有自學習自適應能力,針對短時交通流數(shù)據(jù)的易突變性和波動性不能及時的撲捉和處理,預測精度往往不高[1]。隨著機器學習等智能學習處理方法的出現(xiàn),基于機器學習的短時交通流預測方法的預測精度及魯棒性也得到較大的提升,其中有代表性的為支持向量回歸模型以及神經(jīng)網(wǎng)絡與支持向量機的融合模型[2-3]。這類方法能夠從大量的交通流歷史樣本中自學習找出數(shù)據(jù)內(nèi)在規(guī)律,從而提升預測精度。然而這些模型所需要的大量精確的交通流歷史數(shù)據(jù)不易獲取,模型的實用性受到了較大的限制。為了實現(xiàn)“小樣本”條件下的短時交通流預測,進一步提升短時交通流預測方法的實用性,基于深度學習的短時交通流預測方法逐漸成為該領域研究的主流方向。比較有代表性有長短時記憶神經(jīng)網(wǎng)絡模型和深度信任神經(jīng)網(wǎng)絡模型等[4-5]。這類模型擁有更強的自學習數(shù)據(jù)處理能力,能夠在少量有代表性的精確交通流歷史數(shù)據(jù)條件下實現(xiàn)精確預測。然而,該方法自身結(jié)構(gòu)較為復雜,數(shù)據(jù)輸入輸出的方式和結(jié)構(gòu)、訓練數(shù)據(jù)的選取以及深度網(wǎng)絡的層數(shù)等都會影響算法的精度和實時性。隨著研究的不斷推進,組合交通預測模型應運而生[6],其中具有代表性的為組合小波理論預測模型,該方法具有較強的擬合能力和較快的收斂速度。但該方法容易導致預測精度低、陷入局部最小值等問題[7]。
為了解決上述問題,筆者提出一種改進花朵授粉算法與結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡短時交通流預測方法(MFPA-DBN)。首先,根據(jù)預測數(shù)據(jù)的類型和時空特性,確定深度信任網(wǎng)絡短時交通流預測模型的輸入端數(shù)量和結(jié)構(gòu),并構(gòu)建模型框架,利用MFPA算法尋找模型最優(yōu)初始權(quán)值等;其次,根據(jù)輸入數(shù)據(jù)確定深度信任網(wǎng)絡預測模型的輸入層顯層節(jié)點的分布形式、能量函數(shù)的轉(zhuǎn)換關系式以及數(shù)據(jù)在顯隱層及隱隱層之間的等效轉(zhuǎn)換形式;最后,由于模型結(jié)構(gòu)對預測精度的影響較大,隱層結(jié)構(gòu)層數(shù)由優(yōu)化算法根據(jù)目標函數(shù)值動態(tài)選取,進一步提升算法的預測精度和泛化性。
交通流在時間和空間上具有一定的演變規(guī)律,針對這些演變規(guī)律對未來的交通流進行合理、科學的預測就是城市道路交通流預測[8]。傳統(tǒng)的短時交通流預測往往只考慮預測節(jié)點的歷史交通流數(shù)據(jù),而忽略了交通流數(shù)據(jù)在時空上的演變規(guī)律,預測效果往往不佳[9-10]。為了克服這一不足,同時考慮預測節(jié)點的歷史交通流數(shù)據(jù)、臨近周邊重要節(jié)點的歷史交通流數(shù)據(jù),以及歷史數(shù)據(jù)中臨近周邊節(jié)點交通流駛向預測節(jié)點的交通數(shù)據(jù)。利用交通流數(shù)據(jù),把握交通流數(shù)據(jù)在時間、空間上的演變規(guī)律,以期能夠提升預測精度。
為了同時對上述3種數(shù)據(jù)進行處理,筆者建立的深度信任網(wǎng)絡回歸機模型由3個帶高斯分布函數(shù)顯層轉(zhuǎn)換節(jié)點受限波茲曼機輸入端、若干層受限波茲曼機中間層以及支持向量回歸機輸出層三部分構(gòu)成,每個輸入端通過相應的數(shù)據(jù)學習得出一個輸出結(jié)果,最終融合3個輸出節(jié)點的預測結(jié)果得出最終的預測值。模型框架圖如圖1。
圖1 深度信任網(wǎng)絡短時交通流預測模型框架示意Fig. 1 Schematic diagram of framework of short-term traffic flow prediction model with deep belief network
筆者提出的深度信任網(wǎng)絡短時交通流預測模型構(gòu)建帶高斯分布函數(shù)顯層的輸入層,其能量函數(shù)的轉(zhuǎn)換關系式為:
(1)
深度信任網(wǎng)絡短時交通流預測模型中,第1層的顯層節(jié)點和中間隱層節(jié)點對應轉(zhuǎn)換的條件概率為:
p(vi=1|h;θ)=
(2)
(3)
E(v,h;θ)為能量函數(shù),用來實現(xiàn)中間層信息間的等效轉(zhuǎn)換,其計算公式為:
(4)
式中:ωij為權(quán)值參數(shù);βi為顯層節(jié)點;θ=(ω,β,α)為RBM微調(diào)參數(shù);I、J分別為顯層結(jié)構(gòu)與隱層結(jié)構(gòu)數(shù)量;αj為隱層節(jié)點的偏移量。
RBM權(quán)值的更新公式為:
Δωij=Edata(vihj)-Emodel(vihj)
(5)
式中:Edata(vihj)為數(shù)據(jù)集的期望值;Emodel(vihj)為模型中既定的期望值。
經(jīng)過RBM中間層數(shù)據(jù)學習,其輸出作為徑向基SVR回歸機層的輸入,經(jīng)過回歸機得出單組數(shù)據(jù)的預測結(jié)果,根據(jù)歷史數(shù)據(jù)的關聯(lián)性將3個徑向基輸出結(jié)果y相融合,得出預測結(jié)果Y,其計算表達式為:
Y=w1y1+w2y2+w3y3
(6)
式中:w1、w2、w3分別為學習參數(shù),反映了預測節(jié)點的歷史交通流數(shù)據(jù)、臨近周邊重要節(jié)點的歷史交通流數(shù)據(jù)以及歷史數(shù)據(jù)中臨近周邊節(jié)點交通流駛向預測節(jié)點的交通數(shù)據(jù)這3種數(shù)據(jù)對最終預測結(jié)果的影響程度。
深度信任網(wǎng)絡短時交通流預測模型中,隱層結(jié)構(gòu)的數(shù)量對預測的準確性有較大的影響。為了保證算法的實用性,提出一種改進花朵授粉算法對深度信任網(wǎng)絡短時交通流預測模型的隱層結(jié)構(gòu)進行優(yōu)化,避免隨意構(gòu)建而導致模型陷入局部最優(yōu)解及實用性降低。
花朵授粉算法(flower pollination algorithm,FPA)是一種受自然界植物授粉開花過程規(guī)律啟發(fā),而生成的一種新型算法[11]?;ǘ涫诜鬯惴ㄏ噍^于其他群體算法,結(jié)構(gòu)簡單,步驟較少,編程簡潔容易;且控制的參數(shù)較少,在算法演繹過程中的調(diào)參工作量少;花朵授粉算法的實用性和通用性強,在很多研究領域上均可使用。但面對一些復雜的實際問題時,收斂速度的快慢以及是否會陷入局部最優(yōu)解等問題是該算法模型需要克服的重點。筆者在算法內(nèi)加入線性權(quán)重,可以改進花粉算法的性能。改進的花朵授粉算法可以有效的解決模型陷入局部最優(yōu)解及實用性降低的問題。
為了更好的模擬花朵授粉的過程,對花粉授粉算法進行如下假設:
1)一株植物僅開一朵花,有且僅有一個花粉粒子。
2)局部授粉的過程即為非生物自花授粉,用式(7)表示:
(7)
3)生物異花授粉視作一個全局授粉過程,花粉由昆蟲等生物攜帶,具有Levy飛行規(guī)律,過程用式(8)表示:
(8)
(9)
式中:S、S0分別為步長與最小步長;λ=1.5;Γ(λ)為標準的Gamma函數(shù)。
為了更好的遵循Levy分布產(chǎn)生的隨機步長,引入Mantegna方法,實現(xiàn)Levy的穩(wěn)定分布。用式(10)表示:
(10)
式中:V~N(0,1);U~N(0,σ2),σ2用式(11)表示:
(11)
為了提升搜索的能力,采用線性權(quán)重對局部授粉的搜索能力進行優(yōu)化,用式(12)表示:
(12)
式中:ωmax、ωmin分別為最大、最小權(quán)重;Imax、I分別為最大迭代次數(shù)、當前迭代次數(shù)。
因此,生物異花授粉過程變更為式(13)表示:
(13)
4)花粉使用轉(zhuǎn)換概率p決定進行局部尋優(yōu)或全局尋優(yōu),p在[0,1]之間。
采集預測節(jié)點的歷史交通流數(shù)據(jù)、臨近周邊重要節(jié)點的歷史交通流數(shù)據(jù)以及歷史數(shù)據(jù)中臨近周邊節(jié)點交通流駛向預測節(jié)點的交通數(shù)據(jù)作為訓練數(shù)據(jù)。以預測值與真實值的平均絕對誤差最小為尋優(yōu)目標函數(shù),如式(14):
(14)
提出的預測模型主要實現(xiàn)步驟如下:
步驟1根據(jù)實驗需求,采集短時交通流樣本數(shù)據(jù),其中包括預測節(jié)點、臨近周邊重要節(jié)點、臨近周邊節(jié)點交通流駛向預測節(jié)點等相關地點的歷史交通流數(shù)據(jù)。
步驟2構(gòu)建深度信任網(wǎng)絡短時交通流預測模型,設置包括3個帶高斯分布函數(shù)顯層轉(zhuǎn)換節(jié)點受限波茲曼機輸入端、受限波茲曼機中間層以及支持向量回歸機輸出層,初步設定顯隱層節(jié)點數(shù)、隱層層數(shù)、支持向量回歸機的核函數(shù)等參數(shù)指標。
步驟3處理數(shù)據(jù),將數(shù)據(jù)分成訓練組與預測組,對網(wǎng)絡權(quán)值等進行隨機賦值。根據(jù)式(1)對輸入數(shù)據(jù)進行歸一化處理,根據(jù)式(2)~式(4)實現(xiàn)數(shù)據(jù)信息在隱層結(jié)構(gòu)的傳遞,比較訓練數(shù)據(jù)和測試數(shù)據(jù)的差異,根據(jù)式(5)調(diào)整權(quán)值提高訓練模型的精度。初始化種群數(shù)、轉(zhuǎn)換概率、最大迭代次數(shù)等輸入到深度信任網(wǎng)絡中,將網(wǎng)絡輸出與實際值的誤差作為FPA適應度函數(shù)值。計算各花朵的誤差值并找到最優(yōu)解。
步驟4判斷隨機生成數(shù)Rand與p的大小關系, 若Rand
步驟5判斷迭代的終止條件是否被滿足。若滿足,得到最優(yōu)的權(quán)值,將其值賦予深度信任網(wǎng)絡。若不滿足終止條件,則將流程跳轉(zhuǎn)到步驟4,再一次進行迭代。
步驟6根據(jù)優(yōu)化得出的隱層結(jié)構(gòu)建立最終的結(jié)構(gòu)優(yōu)化深度信任網(wǎng)絡短時交通流預測模型。利用訓練好的短時交通流預測模型對實際數(shù)據(jù)進行預測,驗證預測效果。
基于MFPA-DBN的交通流預測流程圖如圖2。
圖2 基于MFPA-DBN的交通流預測流程Fig. 2 Flow chart of traffic flow prediction based on MFPA-DBN
本次實驗分別采集了2021年08月21日至08月29日共9天的福州市某次干道交通量、臨近該次干道的兩個交叉口的總交通量以及兩個交叉口中駛向該次干道的總交通量共3類交通流流量數(shù)據(jù)作為實驗樣本,實驗路網(wǎng)結(jié)構(gòu)圖如圖3。樣本采集間隔為5 min,其中福州市某次干道交通流量共采集288×12組數(shù)據(jù),臨近該次干道的兩個交叉口總交通量共采集288×12組數(shù)據(jù),兩個交叉口中駛向該次干道的總交通量共采集288×12組數(shù)據(jù)分別對應模型的3個輸入端口。選取前7天的3類采集數(shù)據(jù)作為3個輸入端口的訓練樣本集,對筆者提出的算法模型結(jié)構(gòu)進行訓練;同時,選取最后兩天的采集數(shù)據(jù)作為測試集,用于驗證算法的預測性能。
圖3 實驗路網(wǎng)結(jié)構(gòu)Fig. 3 Structure diagram of experimental road network
實驗基于Windows10操作平臺,應用Python3.7進行編程,其他硬件、軟件配置見表1。
表1 實驗平臺Table 1 Experimental platform
選擇平均絕對誤差(EMAE)、根均方誤差(ERMSE)、R-Square(R2)和相對誤差(EMRE)作為評價指標,對本文模型的精度進行評估。由式(15)~式(18)表示:
(15)
(16)
(17)
(18)
為了提高預測模型的實時性,采用離線訓練的模式對模型進行訓練。通過設置算法所需的參數(shù),將筆者提出的結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡短時交通流預測方法(MFPA-DBN)和結(jié)構(gòu)固定的深度信任網(wǎng)絡短時交通流預測方法預測性能進行對比,驗證方法的有效性。
3.4.1 相關參數(shù)的設置
結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡短時交通流預測算法的主要參數(shù)選擇如下:優(yōu)化算法中轉(zhuǎn)換概率p取值為0.8;總迭代次數(shù)為120;種群數(shù)量取值為25,深度信任網(wǎng)絡中每層的神經(jīng)節(jié)點數(shù)為80,隱層結(jié)構(gòu)層數(shù)由優(yōu)化算法根據(jù)目標函數(shù)值動態(tài)選取。
結(jié)構(gòu)固定的深度信任網(wǎng)絡短時交通流預測方法中每層的神經(jīng)節(jié)點數(shù)為80,隱層結(jié)構(gòu)層數(shù)分別選擇為固定值10層、20層和32層。
3.4.2 算法性能比較
在已經(jīng)訓練好的MFPA-DBN模型中,輸入測試集數(shù)據(jù),預測得出08月29日每15 min 的交通流量。同時,將原始實驗集數(shù)據(jù)直接利用10層隱層結(jié)構(gòu)深度信任網(wǎng)絡短時交通流預測模型(10-DBN)、20層隱層結(jié)構(gòu)深度信任網(wǎng)絡短時交通流預測模型(20-DBN),以及32層隱層結(jié)構(gòu)深度信任網(wǎng)絡短時交通流預測模型(32-DBN)進行預測,并將預測結(jié)果與MFPA-DBN模型進行比較,結(jié)果如圖4。
圖4 結(jié)構(gòu)優(yōu)化與結(jié)構(gòu)固定的深度信任網(wǎng)絡預測結(jié)果比較Fig. 4 Comparison of prediction results of deep belief network with optimized structure and fixed structure
利用EMAE、ERMSE、R2、EMRE作為評價指標,MFPA-DBN模型、10-DBN、20-DBN和32-DBN模型的預測結(jié)果如表2。通過對比4個指標可知,隱層結(jié)構(gòu)層數(shù)的選擇對算法的預測精度有直接的影響,提出的MFPA-DBN模型預測結(jié)果優(yōu)于其它3種結(jié)構(gòu)固定的深度信任網(wǎng)絡短時交通流預測方法,20-DBN模型預測結(jié)果次之,32-DBN模型預測結(jié)果僅優(yōu)于10-DBN模型,10-DBN模型預測結(jié)果最差。
表2 結(jié)構(gòu)優(yōu)化與固定的深度信任網(wǎng)絡預測結(jié)果Table 2 Prediction results of deep belief network with optimized structure and fixed structure
將筆者提出的結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡短時交通流預測方法(MFPA-DBN)與文獻[3]提出的CNN-SVR模型、文獻[7]提出的TGWO-BP模型、文獻[12]提出的GA-LSTM模型的預測效果進行比較,最后得出結(jié)果。
3.5.1 算法性能比較
在已經(jīng)訓練好的MFPA-DBN模型中,輸入測試集數(shù)據(jù),預測得出08月29日每15 min的交通流量。同時,將原始實驗集數(shù)據(jù)利用目前的CNN-SVR模型、GA-LSTM模型、TGWO-BP模型進行預測,并將預測結(jié)果與MFPA-DBN模型進行比較,如圖5。在24 h預測結(jié)果及早高峰預測結(jié)果比較中,筆者提出的MFPA-DBN模型相對于其他3種預測方法更貼近真實值,但在16:00—17:00時間段內(nèi),MFPA-DBN模型部分預測結(jié)果陷入局部最優(yōu),一方面由于筆者預測模型(MFPA-DBN)綜合考量了有效性與實時性兩個因素。為了實現(xiàn)算法在預測時,模型的有效性、實時性能夠達到相對最優(yōu),在實驗過程中適當?shù)貙?yōu)迭代次數(shù)作了限制;另一方面由于該時間段內(nèi)交通量發(fā)生了突變,數(shù)據(jù)波動性較大,對模型的預測效果造成了影響。尤其是16:15—16:30這個時間段模型明顯陷入局部最優(yōu),但此問題并不影響模型其在實際情況下的使用,可通過放開對實時性因素的考量,增加模型的尋優(yōu)迭代次數(shù)來規(guī)避陷入局部最優(yōu)的缺陷,達到較優(yōu)的預測效果。
為避免實時性因素對文中模型(MFPA-DBN)的預測效果造成不利的影響,筆者將MFPA-DBN模型的迭代次數(shù)分別增加到175次和225次,將迭代次數(shù)增加的MFPA-DBN模型與迭代次數(shù)為120次的MFPA-DBN模型、CNN-SVR模型、TGWO-BP模型、GA-LSTM模型預測效果進行對比,最后得出結(jié)果。預測結(jié)果如圖6。利用EMAE、ERMSE、R2、EMRE作為評價技術指標,評價結(jié)果如表3。通過對比4個指標可知,筆者提出的MFPA-DBN模型預測結(jié)果精度最高,其預測性能優(yōu)于其他3種短時交通流預測方法。同時增加MFPA-DBN模型的尋優(yōu)迭代次數(shù)后,有效解決該模型陷入局部最優(yōu)解的問題。
3.5.2 結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡模型計算效率分析
短時交通流預測模型的計算效率是算法實用化的關鍵。為了驗證算法的計算效率,筆者以算法運算時間為評價指標對其進行評估,仍然與CNN-SVR模型、GA-LSTM模型、TGWO-BP模型進行比較。本實驗采取離線訓練模型后在線預測數(shù)據(jù)進行短時交通流預測,算法的計算效率如表4。由表4、圖6可以看出,對MFPA-DBN模型的迭代次數(shù)進行增加,可以有效避免模型在個別時間段陷入局部最優(yōu)的缺陷,提升算法的預測精度。但隨著迭代次數(shù)的增加,模型的計算效率下降。筆者提出的算法實時性雖然不是最優(yōu),但其預測精度較高。若綜合考量實時性與有效性兩種因素,將文中模型的迭代次數(shù)設置為120次可達到實時性、有效性結(jié)果相對最優(yōu),且其與實時性最優(yōu)的算法差距較小,計算效率仍然較高,可以滿足實際使用需求。
圖5 深度學習模型預測結(jié)果比較Fig. 5 Comparison of prediction results of deep learning model
圖6 模型預測結(jié)果比較Fig. 6 Comparison of model prediction results
表3 預測結(jié)果對比Table 3 Comparison of prediction results
表4 不同算法的計算效率對比Table 4 Comparison of calculation efficiency of different algorithms
筆者提出一種結(jié)構(gòu)優(yōu)化的深度信任網(wǎng)絡短時交通流預測方法,通過構(gòu)建可同時訓練3種與預測節(jié)點相關的交通流數(shù)據(jù)的深度信任網(wǎng)絡模型來增強預測的時空關聯(lián)性。為了進一步提升預測模型精度,提出一種優(yōu)化的花朵授粉算法,以預測值與真實值的平均絕對誤差最小為尋優(yōu)目標函數(shù),優(yōu)化深度信任網(wǎng)絡短時交通流預測模型結(jié)構(gòu),動態(tài)選擇合適的預測模型隱層結(jié)構(gòu)參數(shù)。
利用實際交通數(shù)據(jù)進行方法驗證,實驗結(jié)果表明,筆者提出的結(jié)構(gòu)優(yōu)化深度信任網(wǎng)絡短時交通流預測方法預測精度優(yōu)于CNN-SVR、GA-LSTM、TGWO-BP模型,預測效果較好,實時性也能滿足實際需求。由于該模型方法(MFPA-DBN)只針對常規(guī)天氣下的交通流數(shù)據(jù)進行預測,未考慮特殊天氣變化帶來的影響,未來可針對天氣變化的因數(shù)進一步拓展研究。