羅 山
(攀枝花學(xué)院智能制造學(xué)院,四川 攀枝花 617000)
隨著智能交通系統(tǒng)的高速發(fā)展,有效地緩解了交通擁堵、減少了交通事故的發(fā)生,而精確的交通流量預(yù)測(cè)作為交通規(guī)劃、交通誘導(dǎo)、交通控制、制定出行方案等的重要前提,在智能交通系統(tǒng)中發(fā)揮著重要作用。交通流量預(yù)測(cè)是用現(xiàn)有相關(guān)的交通流數(shù)據(jù),采用合適的預(yù)測(cè)方法并建立模型推測(cè)其未來狀態(tài)的過程,目前以短時(shí)預(yù)測(cè)為主,短時(shí)是指預(yù)測(cè)周期不超過15分鐘。
交通流量預(yù)測(cè)的方法不斷被提出,基于統(tǒng)計(jì)學(xué)原理、非參數(shù)理論、卡爾曼濾波技術(shù)、小波理論、分形技術(shù)等方法被應(yīng)用到短時(shí)交通流預(yù)測(cè)領(lǐng)域[1]。王春安提出了在Hadoop環(huán)境下利用MapReduce的分布式處理框架與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的預(yù)測(cè)模型,該模型利用BP神經(jīng)網(wǎng)絡(luò)的MapReduce并行化在保證預(yù)測(cè)精度的同時(shí)減小預(yù)測(cè)時(shí)間,達(dá)到預(yù)測(cè)的實(shí)時(shí)性[2]。邢珊珊[3]針對(duì)城市快速路,開展了系統(tǒng)性的交通流預(yù)測(cè)研究,提出了適用于微波采集數(shù)據(jù)的數(shù)據(jù)預(yù)處理方法,并進(jìn)一步考慮時(shí)空特性的交通流預(yù)測(cè)方法。弓晉霞[4]則針對(duì)高速公路交通量進(jìn)行了系統(tǒng)性的預(yù)測(cè)研究,提出的高速公路交通量預(yù)測(cè)模型減小了預(yù)測(cè)誤差,為交通量預(yù)測(cè)方面的研究提供了方法參考。但現(xiàn)有的預(yù)測(cè)方法存在一些不足,而BP神經(jīng)網(wǎng)絡(luò)具有分布式信息存儲(chǔ)、非線性函數(shù)逼近、自適應(yīng)學(xué)習(xí)能力強(qiáng)等優(yōu)良性能[5],在短時(shí)交通流量預(yù)測(cè)精度方面具有優(yōu)勢(shì),因此本文采用BP神經(jīng)網(wǎng)絡(luò)作為短時(shí)交通流量預(yù)測(cè)模型。
BP網(wǎng)絡(luò)是典型的多層前饋網(wǎng)絡(luò),包含輸入層、隱含層和輸出層,其中隱含層可以是多層的。其信息處理具有逐層傳遞進(jìn)行的方向性,信息處理能力主要來自于非線性函數(shù)的多次復(fù)合作用,且網(wǎng)絡(luò)結(jié)構(gòu)較為簡單,易于實(shí)現(xiàn)[6]。
BP網(wǎng)絡(luò)算法的基本思路是在前向傳遞中信號(hào)逐層處理并傳遞,檢查預(yù)測(cè)輸出與給定輸出之間的誤差,若沒有達(dá)到精度要求,則轉(zhuǎn)入反向傳播,根據(jù)檢測(cè)到的誤差來調(diào)整輸入層與隱含層,隱含層與輸出層之間的權(quán)值和閾值,從而使預(yù)測(cè)輸出不斷地逼近期望輸出。
預(yù)測(cè)過程包含數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)構(gòu)建、網(wǎng)絡(luò)訓(xùn)練和網(wǎng)絡(luò)預(yù)測(cè)四個(gè)大的步驟:
1) 數(shù)據(jù)預(yù)處理是指輸入數(shù)據(jù)(訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù))和歸一化處理;
2) 網(wǎng)絡(luò)構(gòu)建是指網(wǎng)絡(luò)層數(shù)的確定與隱含層數(shù)的選擇和輸入、輸出節(jié)點(diǎn)數(shù)的確定;
3) 網(wǎng)絡(luò)訓(xùn)練是指確定網(wǎng)絡(luò)使用的各種函數(shù)如訓(xùn)練函數(shù)、學(xué)習(xí)函數(shù)和傳遞函數(shù)等以及利用訓(xùn)練數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò);
4) 網(wǎng)絡(luò)預(yù)測(cè)是指用訓(xùn)練好的網(wǎng)絡(luò)對(duì)測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè),對(duì)比輸出結(jié)果。
具體預(yù)測(cè)流程如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)流程
本文只考慮一個(gè)交叉口的流量預(yù)測(cè),因此輸出層節(jié)點(diǎn)數(shù)為1。
輸入層節(jié)點(diǎn)數(shù)受實(shí)際路段的影響[7],對(duì)BP神經(jīng)網(wǎng)絡(luò)和預(yù)測(cè)的原理分析可知,模型輸入層每一個(gè)神經(jīng)元節(jié)點(diǎn)表示的是對(duì)預(yù)測(cè)輸出t時(shí)段的交通流量影響最大的因素。本文采用相關(guān)系數(shù)來確定輸入層節(jié)點(diǎn)數(shù),給定兩個(gè)交通序列X和Y,X表示網(wǎng)絡(luò)輸入序列,Y表示網(wǎng)絡(luò)輸出序列,相關(guān)系數(shù)的計(jì)算公式為:
(1)
M表示變量取值的個(gè)數(shù),r表示相關(guān)系數(shù)。規(guī)定選取系數(shù)大的序列作為輸入,從而確定網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)個(gè)數(shù)。這里結(jié)合流量數(shù)據(jù)根據(jù)式(1)確定的輸入層節(jié)點(diǎn)數(shù)為6。
隱含層節(jié)點(diǎn)數(shù)的取值范圍計(jì)算公式[8]:
(2)
式中,N為隱含層節(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);m為輸出層節(jié)點(diǎn)數(shù)。網(wǎng)絡(luò)模型設(shè)計(jì)是6輸入1輸出,即n=6,m=1,根據(jù)式(2)確定隱含層節(jié)點(diǎn)數(shù)在4~13之間,具體的數(shù)目在網(wǎng)絡(luò)訓(xùn)練時(shí)根據(jù)預(yù)測(cè)效果進(jìn)行確定。
經(jīng)過多次實(shí)驗(yàn)確定網(wǎng)絡(luò)的參數(shù),隱含層傳遞函數(shù)采用S型的正切函數(shù),輸出層傳遞函數(shù)采用線性函數(shù),采用LM學(xué)習(xí)算法,訓(xùn)練步數(shù)5000步,目標(biāo)誤差0.001。圖2為6×10×1的網(wǎng)絡(luò)訓(xùn)練效果收斂圖,可見,網(wǎng)絡(luò)達(dá)到預(yù)期的預(yù)測(cè)效果。
圖2 訓(xùn)練效果收斂圖
考慮預(yù)測(cè)的有效性,預(yù)測(cè)時(shí)間間隔為10 min,采集7∶00~22∶00時(shí)段交叉路口南向北的流量數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后送入訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行運(yùn)算,得到預(yù)測(cè)結(jié)果,如圖3所示。
圖3 南向北預(yù)測(cè)結(jié)果
從圖3可見,預(yù)測(cè)值接近真實(shí)值,但個(gè)別樣本也存在較大誤差,均方根誤差為5.1216。交叉路口的配時(shí)對(duì)交通流量有較大影響,同時(shí)東西向的車流匯入北向也有一定影響。
采集7∶00~22∶00時(shí)段交叉路口北向南的流量數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后送入訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行運(yùn)算,得到預(yù)測(cè)結(jié)果,如圖4所示。
由圖4可見,北向南的預(yù)測(cè)效果相較于南向北的預(yù)測(cè)結(jié)果更為理想,其原因在于北向南的流量更加平穩(wěn)。當(dāng)某通行方向的流量趨于平穩(wěn)時(shí),BP神經(jīng)網(wǎng)路呈現(xiàn)出較好的預(yù)測(cè)效果,路口之間不會(huì)因?yàn)榱髁慷舜擞绊?,而且影響也體現(xiàn)在紅綠燈相位配時(shí)、渠化、距離等方面。
圖4 北向南預(yù)測(cè)結(jié)果
采集7∶00~22∶00時(shí)段交叉路口西向東的流量數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后送入訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行運(yùn)算,得到預(yù)測(cè)結(jié)果,如圖5所示。
圖5 西向東預(yù)測(cè)結(jié)果
采集7∶00~22∶00時(shí)段交叉路口東向西的流量數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后送入訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行運(yùn)算,得到預(yù)測(cè)結(jié)果,如圖6所示。
圖6 東向西預(yù)測(cè)結(jié)果
通過表1和表2對(duì)東西兩個(gè)方向流量實(shí)際數(shù)據(jù)與預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,因?yàn)槟媳毕蚺鋾r(shí)時(shí)間較長,東西向直行與轉(zhuǎn)彎的配時(shí)時(shí)間都較短造成了排隊(duì),且西方向來車極多,在高峰時(shí)期會(huì)造成排隊(duì),也就是說西向北的流量是接近路口該方向的最大通行能力。只是因?yàn)榕既辉蛉缗e辦活動(dòng)導(dǎo)致人員聚集,才使得流量有所波動(dòng)。
表1 西向東流量實(shí)際數(shù)據(jù)與預(yù)測(cè)結(jié)果對(duì)比
表2 東向西流量實(shí)際數(shù)據(jù)與預(yù)測(cè)結(jié)果對(duì)比
分析交叉路口流量的特點(diǎn)和預(yù)測(cè)結(jié)果,發(fā)現(xiàn)單個(gè)交叉路口短期通行能力的某些特性:
1) 對(duì)單交叉路口短期流量造成影響較大的因素主要有相鄰路口的交通情況和本路口的配時(shí)方案及交叉口渠化等交通環(huán)境。
2) 交叉路口交通環(huán)境中的各種因素都會(huì)對(duì)流量造成影響,不僅僅只能考慮車輛數(shù)目。交叉口的渠化會(huì)影響車道數(shù)和排隊(duì)長度,而配時(shí)方案更是決定了路口在單位時(shí)間內(nèi)能夠通行的車輛數(shù),同時(shí)配時(shí)的相位中是否禁左或禁右更是完全決定了車輛是否被延誤需要進(jìn)行二次排隊(duì)。
3) 當(dāng)交叉口的某個(gè)路口或者某個(gè)通行方向的通行能力達(dá)到飽和時(shí),來車輛數(shù)再多也并不會(huì)對(duì)路口的車流量造成影響,通過的車輛也不會(huì)增加。顯然,此時(shí)不再適宜以上游路段來車輛數(shù)作為網(wǎng)絡(luò)的數(shù)據(jù)源。
4) 兩個(gè)路口之間的距離也會(huì)影響交叉口的車流量。上游路口通過的車輛數(shù)目對(duì)本交叉口的影響與兩個(gè)路口之間的距離呈現(xiàn)出一定的反比關(guān)系,也就是說通過上游路口的車輛數(shù)目越多,兩個(gè)路口之間的距離越近,影響也就越大,其原因在于上游路口信號(hào)燈造成的車輛數(shù)量的波形變化會(huì)因?yàn)榫嚯x的拉長而被削弱。因此在設(shè)計(jì)短期車流量預(yù)測(cè)網(wǎng)絡(luò)時(shí),應(yīng)該針對(duì)路口車輛量彼此之間的影響做出考慮,進(jìn)行適當(dāng)?shù)恼{(diào)整。
本文建立了BP神經(jīng)網(wǎng)絡(luò)的交通流量預(yù)測(cè)模型,通過對(duì)交叉路口四個(gè)方向的流量進(jìn)行預(yù)測(cè),對(duì)預(yù)測(cè)結(jié)果與實(shí)際流量進(jìn)行對(duì)比分析。交叉口的交通環(huán)境對(duì)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果有很大的影響,并且該環(huán)境指的是本路口和上游路口交通環(huán)境,比如信號(hào)燈配時(shí)方案、路口渠化、兩路口之間的距離等。因此使用BP神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè)短期實(shí)時(shí)流量應(yīng)當(dāng)針對(duì)所預(yù)測(cè)的交叉口的交通環(huán)境進(jìn)行單獨(dú)設(shè)計(jì),BP神經(jīng)網(wǎng)絡(luò)對(duì)單個(gè)路口或者交叉口的預(yù)測(cè)是有效且精準(zhǔn)的。