北京工商大學(xué) 秦 瑤 李 勇 王世民
在交通擁堵預(yù)測(cè)問(wèn)題中,需要對(duì)交通傳統(tǒng)感器提供的動(dòng)態(tài)交通數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,為交通控制、 交通指揮、突發(fā)交通事件管理、交通信息服務(wù)等子系統(tǒng)提供必要的交通信息。目前國(guó)內(nèi)外對(duì)于交通擁堵預(yù)測(cè)的諸多研究成果中也主要集中在該學(xué)科領(lǐng)域,路段的交通流是指單位時(shí)間通過(guò)路段某一截面的車輛數(shù),針對(duì)交通擁堵進(jìn)行研究的學(xué)者有60%以上都提出并建立了各種交通流預(yù)測(cè)模型,主要包括ARIMA 模型預(yù)測(cè)、模糊網(wǎng)絡(luò)模型、卡爾曼濾波理論、神經(jīng)網(wǎng)絡(luò)、貝葉斯組合模型、支持向量機(jī)、深度學(xué)習(xí)模型等。作為應(yīng)用比較成功的神經(jīng)網(wǎng)絡(luò)模型,RNN不同于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節(jié)點(diǎn)是無(wú)連接的。但是這種普通的神經(jīng)網(wǎng)絡(luò)無(wú)法與之前的序列狀態(tài)產(chǎn)生關(guān)聯(lián),這對(duì)于很多問(wèn)題是無(wú)法應(yīng)用解決的。循環(huán)神經(jīng)網(wǎng)絡(luò)其原理為,網(wǎng)絡(luò)會(huì)對(duì)前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算中,即當(dāng)前神經(jīng)元存儲(chǔ)著神經(jīng)元這一時(shí)刻的輸入和前一時(shí)刻的輸出之間的關(guān)系,也就是說(shuō)隱藏層之間的節(jié)點(diǎn)不再無(wú)連接,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時(shí)刻隱藏層的輸出。用來(lái)處理序列數(shù)據(jù),更易達(dá)到時(shí)序建模的目的,在準(zhǔn)確率和泛化推廣方面表現(xiàn)更高的性能。但是在實(shí)際中,為了降低復(fù)雜性,模型中當(dāng)前狀態(tài)往往只與前面幾個(gè)狀態(tài)相關(guān),對(duì)較遠(yuǎn)時(shí)間點(diǎn)無(wú)法感知,在應(yīng)用于城市交通中較大型網(wǎng)絡(luò)時(shí)準(zhǔn)確率會(huì)有下降,本文將改進(jìn)RNN神經(jīng)網(wǎng)絡(luò)算法,通過(guò)計(jì)算獲取可表征數(shù)據(jù)深層特征的隱層參數(shù)、表征序列區(qū)間與閾值,充分利用RNN網(wǎng)絡(luò)優(yōu)點(diǎn),構(gòu)建一個(gè)對(duì)城市交通擁堵更有效地模型。
實(shí)驗(yàn)使用某段時(shí)間內(nèi)某區(qū)58個(gè)交通信號(hào)燈之間交通路段車流量數(shù)據(jù)進(jìn)行研究。該交通流數(shù)據(jù)統(tǒng)計(jì)間隔為30s,記錄了從早上六點(diǎn)到晚上八點(diǎn)的數(shù)據(jù)。
圖1 實(shí)驗(yàn)交通網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)是一類在網(wǎng)絡(luò)中出現(xiàn)環(huán)為特點(diǎn)的網(wǎng)絡(luò)模型,并且能夠存儲(chǔ)著神經(jīng)元這一時(shí)刻的輸入和前一時(shí)刻的輸出之間的關(guān)系,主要用來(lái)處理序列數(shù)據(jù)。前向靜態(tài)神經(jīng)網(wǎng)絡(luò)雖然對(duì)非線性函數(shù)具有良好的逼近能力,但是卻不具備動(dòng)態(tài)性,因?yàn)樗妮斎牒洼敵鼍S數(shù)都是固定的,不可任意改變,因此就引入了循環(huán)神經(jīng)網(wǎng)絡(luò)RNN。RNN相較于前向靜態(tài)網(wǎng)絡(luò)不同的就是信號(hào)從一個(gè)神經(jīng)元到另外一個(gè)神經(jīng)元之后,并不會(huì)馬上消失,而是繼續(xù)存活。RNN這種網(wǎng)絡(luò)結(jié)構(gòu)將上一時(shí)刻的輸出作為當(dāng)前時(shí)刻的輸入,從而記憶歷史的信息,達(dá)到時(shí)序建模的目的。
RNN中,神經(jīng)元的輸出可以在下一個(gè)時(shí)間戳直接作用到自身,即第i層神經(jīng)元在t時(shí)刻的輸入,除了(i-1)層神經(jīng)元在t時(shí)刻的輸出外,還包括其自身在(t-1)時(shí)刻的輸出。
圖2 RNN模型
(t+1)時(shí)刻網(wǎng)絡(luò)的最終結(jié)果O(t+1)是該時(shí)刻輸入和所有歷史共同作用的結(jié)果,達(dá)到對(duì)時(shí)間序列建模的目的。RNN可以看成一個(gè)在時(shí)間上傳遞的神經(jīng)網(wǎng)絡(luò),它的深度是時(shí)間的長(zhǎng)度。
圖3 RNN在時(shí)間上展開
在發(fā)生交通擁堵路段,其參數(shù)值交通流量也會(huì)發(fā)生數(shù)值特征的突然變化,即在時(shí)間序列中,在某個(gè)時(shí)刻樣本的分布或者數(shù)字特征起了突然的而變化,這個(gè)時(shí)刻就叫變點(diǎn)。因此對(duì)交通擁堵的判斷可以轉(zhuǎn)換為交通流變點(diǎn)的判斷。
根據(jù)均值變點(diǎn)的離散模型來(lái)判斷變點(diǎn)值:
式中:
交通擁堵是一個(gè)隨機(jī)事件,傳統(tǒng)研究把流量達(dá)到可通行最大值看作是擁堵,而很多研究表明流量還未達(dá)到可通行最大值之前就已經(jīng)發(fā)生了擁堵,現(xiàn)在更多的是認(rèn)為交通擁堵發(fā)生在某個(gè)流量范圍,所以根據(jù)區(qū)間估計(jì)方法估計(jì)擁堵流量范圍。
交通擁堵通常并非發(fā)生在某一時(shí)刻,而會(huì)在一個(gè)時(shí)段內(nèi)持續(xù)發(fā)生,所以我們對(duì)擁堵的預(yù)測(cè)也需要對(duì)流量序列是否持續(xù)屬于表征序列進(jìn)行判斷。
預(yù)測(cè)擁堵持續(xù)時(shí)間基本思路是:從到達(dá)擁堵點(diǎn)進(jìn)入擁堵時(shí)刻起,到再次由擁堵轉(zhuǎn)變?yōu)闀惩〞r(shí)為止,這個(gè)過(guò)程所經(jīng)歷的時(shí)間為擁堵的持續(xù)時(shí)間。所以需要確定到達(dá)擁堵點(diǎn)時(shí)間和擁堵結(jié)束時(shí)間。
擁堵終止時(shí)刻:路段交通狀態(tài)由擁堵轉(zhuǎn)變?yōu)闀惩〞r(shí)刻,考慮交通流的穩(wěn)定性,當(dāng)交通流狀態(tài)判定為順暢且持續(xù)一個(gè)連續(xù)時(shí)間序列區(qū)間以上,認(rèn)為擁堵終止。
算法如下:(設(shè)預(yù)測(cè)第k個(gè)時(shí)間序列車輛將達(dá)到擁堵點(diǎn),t表示持續(xù)擁堵時(shí)間,Δt表示時(shí)間序列區(qū)間)。
圖4 擁堵持續(xù)時(shí)間預(yù)測(cè)算法
數(shù)據(jù)預(yù)處理。使用zero-center 方法進(jìn)行歸一化處理。
反歸一化使用:
隱層數(shù)h=100,學(xué)習(xí)梯度下降優(yōu)化方法θ=0.5,偏向量最初設(shè)置為0,每個(gè)模型的訓(xùn)練次數(shù)設(shè)計(jì)為200次,以保證成功收斂。對(duì)U、V、W參數(shù)初始化。防止收斂速度減慢影響收斂成果。采用正態(tài)分布初始化:
前200組實(shí)驗(yàn)樣本作為訓(xùn)練集,后10組實(shí)驗(yàn)樣本作為測(cè)試集,并對(duì)新一周路段交通流進(jìn)行預(yù)測(cè),作為實(shí)驗(yàn)集。
使用預(yù)測(cè)結(jié)果與真實(shí)值之間的均方誤差函數(shù)mse判斷預(yù)測(cè)誤差。
經(jīng)過(guò)改進(jìn)后的RNN模型訓(xùn)練,所有路段全天時(shí)段交通擁堵預(yù)測(cè)結(jié)果如圖5,紅色部分則為擁堵路段。
圖5 實(shí)驗(yàn)結(jié)果展示
利用訓(xùn)練精度和測(cè)試精度對(duì)模型準(zhǔn)確率進(jìn)行計(jì)算。用表示第條路段時(shí)刻的真實(shí)擁堵狀態(tài),道路上的交通狀態(tài)被分類為二進(jìn)制狀態(tài),其中1表示擁堵和0表示不擁堵。則準(zhǔn)確率計(jì)算公式為:
經(jīng)計(jì)算,訓(xùn)練集準(zhǔn)確率為92.2%,測(cè)試集準(zhǔn)確率為88%。
為直觀展示模型訓(xùn)練效果,再采用RNN神經(jīng)網(wǎng)絡(luò)方法進(jìn)行實(shí)驗(yàn),分別對(duì)同一測(cè)試路段車流量預(yù)測(cè)值與真實(shí)值進(jìn)行對(duì)比。
圖6 改進(jìn)后RNN神經(jīng)網(wǎng)絡(luò)測(cè)試路段車流量預(yù)測(cè)
圖7 RNN神經(jīng)網(wǎng)絡(luò)測(cè)試路段車流量預(yù)測(cè)
改進(jìn)后RNN神經(jīng)網(wǎng)絡(luò)對(duì)車流量預(yù)測(cè)的均方誤差為0.57,而一般RNN神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果均方誤差為2.25,可見(jiàn)改進(jìn)后的RNN神經(jīng)網(wǎng)絡(luò)對(duì)基于車流量的交通擁堵預(yù)測(cè)性能更優(yōu)。
分析原因,在大規(guī)模城市交通網(wǎng)絡(luò)中,隨著時(shí)間間隔變長(zhǎng),模型訓(xùn)練數(shù)據(jù)序列呈幾何增長(zhǎng),RNN在訓(xùn)練過(guò)程中會(huì)因?yàn)樘荻冗f減漸漸喪失學(xué)習(xí)較遠(yuǎn)信息的能力,后面時(shí)間的節(jié)點(diǎn)對(duì)于前面時(shí)間的節(jié)點(diǎn)感知力下降。而改進(jìn)后的RNN網(wǎng)絡(luò)更能準(zhǔn)確獲得表征擁堵序列,參數(shù)選取以及數(shù)據(jù)聚合度更適用于預(yù)測(cè)模型,訓(xùn)練準(zhǔn)確性變高,特異性、靈敏性更好。
改進(jìn)后的RNN網(wǎng)絡(luò)即保持了RNN網(wǎng)絡(luò)原有的自學(xué)習(xí)、自適應(yīng)、良好的處理數(shù)據(jù)序列能力等性能,又改進(jìn)了其在大型城市交通網(wǎng)絡(luò)中對(duì)大量數(shù)據(jù)較遠(yuǎn)時(shí)間點(diǎn)無(wú)法感知的缺陷。經(jīng)仿真實(shí)驗(yàn),將改進(jìn)后的交通擁堵預(yù)測(cè)模型與一般RNN網(wǎng)絡(luò)相比,模型具有較好的增量學(xué)習(xí)特性,其對(duì)測(cè)試集交通擁堵的預(yù)測(cè)精度約為88%。結(jié)果表明,該模型預(yù)測(cè)精度更高,可以為交通擁堵預(yù)測(cè)以及交通出行、交通控制提供更加準(zhǔn)確的預(yù)測(cè)信息。