樊 博,馬 切,雷小詩,馬筱櫟
(1.重慶交通大學(xué)交通運(yùn)輸學(xué)院,重慶 400074;2.西華大學(xué)理學(xué)院,四川 成都 610039;3.成都工業(yè)學(xué)院,四川 成都 611730)
對交通系統(tǒng)而言,旅行時(shí)間是評(píng)價(jià)道路運(yùn)行狀態(tài)的重要指標(biāo);對交通管理者而言,旅行時(shí)間是誘導(dǎo)公眾出行、輔助管理人員合理配置管控資源的重要依據(jù);對公眾出行而言,旅行時(shí)間是制定出行規(guī)劃的重要參考。因此,科學(xué)有效地預(yù)測旅行時(shí)間是先進(jìn)的交通管理系統(tǒng)和出行者信息系統(tǒng)中不可或缺的部分,其對于提高交通運(yùn)行效率有重要意義。
我國研究人員在開展高速公路旅行時(shí)間預(yù)測相關(guān)研究時(shí),大多受限于視頻監(jiān)控設(shè)備覆蓋率較低、路網(wǎng)浮動(dòng)車較少、道路檢測器鋪設(shè)密度較低等原因,導(dǎo)致用于研究的數(shù)據(jù)來源渠道雖廣,但其所覆蓋的空間范圍較小(多為事故多發(fā)點(diǎn)、擁堵瓶頸點(diǎn)或其他特殊路段等)。與此同時(shí),我國高速公路在日常運(yùn)營中會(huì)產(chǎn)生海量的聯(lián)網(wǎng)收費(fèi)數(shù)據(jù),相比其他必須使用專用設(shè)備才能獲取的數(shù)據(jù)源而言,其獲取成本和方法更占優(yōu)勢,而且在正常情況下收費(fèi)數(shù)據(jù)能覆蓋進(jìn)出高速公路的每一輛車,數(shù)據(jù)中還包含有車輛載重、車型車種等其他數(shù)據(jù)源難以獲取的信息。
已有文獻(xiàn)中,利用收費(fèi)數(shù)據(jù)開展的研究有出行群體聚類[1]、交通狀態(tài)判別[2]以及道路通行費(fèi)預(yù)測[3]等。然而總體上,收費(fèi)數(shù)據(jù)利用程度較低,其使用價(jià)值未被完全利用。就預(yù)測旅行時(shí)間而言,以往研究多數(shù)是基于浮動(dòng)車數(shù)據(jù)[4]、車輛檢測器數(shù)據(jù)[5?6]以及視頻監(jiān)控?cái)?shù)據(jù)[7]等開展的研究工作,而收費(fèi)數(shù)據(jù)中記錄了路網(wǎng)上所有車輛進(jìn)出高速公路的詳細(xì)時(shí)間,這為預(yù)測旅行時(shí)間提供了基本條件。例如,王翔等[8]構(gòu)建了基于改進(jìn)最近鄰非參數(shù)回歸的方法旅行時(shí)間預(yù)測模型,陳嬌娜等[9]提出了基于Bootstrap-KNN 區(qū)間的旅行時(shí)間預(yù)測模型,且均通過實(shí)例驗(yàn)證了模型的有效性。
本文利用重慶高速公路聯(lián)網(wǎng)收費(fèi)數(shù)據(jù),開展站間旅行時(shí)間預(yù)測研究。首先利用隨機(jī)森林算法從影響旅行時(shí)間的備選變量中篩選出重要變量,再使用BP 神經(jīng)網(wǎng)絡(luò)建立旅行時(shí)間預(yù)測模型,模型中同時(shí)考慮了路段長度、不同時(shí)段等因素,最后基于重慶高速公路路網(wǎng)收費(fèi)數(shù)據(jù)對模型進(jìn)行實(shí)例驗(yàn)證。
本文基于重慶高速公路路網(wǎng)2017 年至2018 年聯(lián)網(wǎng)收費(fèi)數(shù)據(jù)開展研究,以G65 包茂高速渝湘段某全長為84.5 km 的道路作為研究通道(下文簡稱“通道”),提取與該通道相關(guān)的10 余個(gè)收費(fèi)站的收費(fèi)數(shù)據(jù)。將原始收費(fèi)數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫后,一條完整的收費(fèi)數(shù)據(jù)所包含的必要字段有車輛車牌號(hào)、車輛駛?cè)牒婉偝瞿呈召M(fèi)站的時(shí)間和收費(fèi)站的編號(hào)、客貨車標(biāo)識(shí)、行駛距離等。在使用收費(fèi)數(shù)據(jù)前須將錯(cuò)誤數(shù)據(jù)刪除(例如字段缺失、字段取值或?qū)傩詿o效、車輛進(jìn)出收費(fèi)站的時(shí)間不合邏輯等)。
如圖1 所示,A、B 收費(fèi)站間形成一個(gè)基本路段,稱之為路段或站間。
圖1 高速公路收費(fèi)站間示意圖
站間旅行時(shí)間指某周期內(nèi)由A 入口駛?cè)?、B 出口駛出高速公路的所有車輛的平均行駛時(shí)間,因此可根據(jù)收費(fèi)數(shù)據(jù)中車輛經(jīng)收費(fèi)站進(jìn)出高速公路的時(shí)間來計(jì)算,以站間k 在周期T內(nèi)的旅行時(shí)間為例:
式中:tk,T為 k 站間在周期T內(nèi)的旅行時(shí)間,單位為min;n為 周期T內(nèi)所有由A 入口駛?cè)?、B 出口駛出的車輛總數(shù);為第i輛 車(i=1,2,···,n)的旅行時(shí)間,其通過車輛駛?cè)?、駛出收費(fèi)站的時(shí)間計(jì)算而得,即字段EXTIME 與ENTIME 的差值。
既有研究中,一般取10~15 min 時(shí)間間隔為一個(gè)研究周期[6?9]??紤]到本文使用的聯(lián)網(wǎng)收費(fèi)數(shù)據(jù)中僅記錄了車輛駛?cè)牒婉偝鱿嚓P(guān)收費(fèi)站的信息,以10 min 為一個(gè)研究周期可能會(huì)導(dǎo)致周期內(nèi)樣本數(shù)量較少,因此本文取15 min 作為一個(gè)周期。再者,統(tǒng)計(jì)發(fā)現(xiàn),一型客車全年占據(jù)通道內(nèi)交通流量的絕大部分,客貨車流量比值也基本維持在相對穩(wěn)定的水平,并且相關(guān)研究表明,高速公路交通系統(tǒng)中,可用一型客車的旅行時(shí)間來推算其他車型的旅行時(shí)間,因此本文主要以一型客車的旅行時(shí)間作為研究對象。同時(shí),數(shù)據(jù)顯示,路網(wǎng)在夜晚和凌晨時(shí)段流量相對稀少,該時(shí)段下車輛以自由流速度行駛,無預(yù)測必要,因此本文研究時(shí)段為7:00—20:00。
由于某些特殊駕駛行為(例如在正常交通狀況下車輛長時(shí)間以低于最低限速或超速行駛、車輛進(jìn)入服務(wù)區(qū)休息、車輛故障等)會(huì)產(chǎn)生異常旅行時(shí)間,同時(shí)由于相鄰收費(fèi)站出行記錄較少,某些周期內(nèi)樣本數(shù)量極少,甚至無有效樣本。為減少離群數(shù)據(jù)和無效數(shù)據(jù)對后續(xù)建模帶來較大誤差,在計(jì)算某周期旅行時(shí)間前,需要對各周期內(nèi)異?;驘o效數(shù)據(jù)進(jìn)行修正,數(shù)據(jù)修正處理過程主要分為清洗和填補(bǔ)。
清洗異常數(shù)據(jù)的流程為:1)刪除旅行時(shí)間為負(fù)值、零值、空值的數(shù)據(jù)記錄;2)刪除旅行時(shí)間大于一個(gè)自然日的數(shù)據(jù);3)刪除平均速度超過最大限速20%的數(shù)據(jù);4)計(jì)算周期內(nèi)旅行時(shí)間均值 μ和標(biāo)準(zhǔn)差δ,按 2δ 原 理刪除旅行時(shí)間不在[μ?2δ,μ+2δ]范圍內(nèi)的數(shù)據(jù);5)重復(fù)步驟4)直至剔除完所有不滿足要求的數(shù)據(jù)后數(shù)據(jù)清洗完畢。
對無效數(shù)據(jù)的填補(bǔ)以k 路段在T周期下的旅行時(shí)間tk,T為例,若無法直接通過收費(fèi)數(shù)據(jù)提取而得,則可以通過式(2)填補(bǔ):
式中:λ1~λ5為修正系數(shù),可根據(jù)各路段實(shí)際情況取值,λ1+λ2+λ3+λ4+λ5=1;tk,free為k 路段自由流通行旅行時(shí)間。圖2 給出了通道內(nèi)某路段某天旅行時(shí)間修正前后對比情況,可見修正后的旅行時(shí)間波動(dòng)范圍有所減小,缺少有效數(shù)據(jù)的周期也有所修補(bǔ)。
圖2 旅行時(shí)間修正前后對比
研究證實(shí)[10],旅行時(shí)間除了具有時(shí)間序列時(shí)空自相關(guān)性以外,通常也受到天氣條件、交通事件、路段施工、節(jié)假日等外部因素的影響;因此,本文將影響旅行時(shí)間的因素分為兩類來構(gòu)建備選變量,一類是前期旅行時(shí)間,另一類是外部影響因素。
2.1.1 前期旅行時(shí)間時(shí)空變量
由于旅行時(shí)間具有時(shí)間序列時(shí)空自相關(guān)性,因此需要同時(shí)從時(shí)間相關(guān)性和空間相關(guān)性兩個(gè)方面進(jìn)行分析,即除了考慮研究路段的前期歷史旅行時(shí)間外,還需考慮相鄰路段對該路段的影響。已有研究表明:對某一路段旅行時(shí)間影響最大的前期旅行時(shí)間是在其前10 個(gè)歷史周期內(nèi);對某一路段旅行時(shí)間影響最大的相鄰路段為該路段前后3 個(gè)路段內(nèi)。圖3 為空間變量關(guān)系圖。
圖3 變量的空間關(guān)系
圖3 中,A—H 為收費(fèi)站,研究目標(biāo)路段s前后3 個(gè)路段(s±1,s±2,s±3)為本文考慮的前后3 個(gè)相鄰路段空間變量。提取計(jì)算各路段旅行時(shí)間真實(shí)值,即可建立前期旅行時(shí)間時(shí)空變量,并按tX,Y命名規(guī)則為變量命名,其中X表示路段,Y表示歷史周期。例如,變量tk,T?1代 表路段k 在T?1周期內(nèi)的真實(shí)旅行時(shí)間,tk?1,T?5代表研究路段k 的上游最鄰近的一個(gè)路段在T?5時(shí)刻的真實(shí)旅行時(shí)間。
2.1.2 外部影響因素
以往研究證實(shí)[6,8],交通事件、路段類型及長度、天氣和月份、周天、時(shí)段等均是影響旅行時(shí)間的重要外部影響因素??紤]到收費(fèi)數(shù)據(jù)記錄的信息有限,本文選擇路段長度(lX)、月份(m)、周天(w)和時(shí)段(p)為備選變量。
對于路段長度lX(X=s,s±1,s±2,s±3),其為研究目標(biāo)路段s及其相鄰6 個(gè)路段共計(jì)7 個(gè)路段的站間距離。對于其余的外部影響因素變量,以研究通道及通道內(nèi)某路段為例,統(tǒng)計(jì)分析該通道或路段在全年內(nèi)收費(fèi)記錄數(shù)及旅行時(shí)間分布情況后對其進(jìn)行分類。按交通流量將月份劃分為兩類:平峰交通流出行月1 月、3—5 月、10—12 月;高峰交通流出行月2 月、6—9 月。按交通流出行規(guī)律將周天分為兩類,周一至周四為一類,周五至周日為另一類。按交通流出行特征將時(shí)段分為兩類:高峰出行時(shí)段7—11、13—18 時(shí);一般出行時(shí)段11—13、18—20 時(shí)。上述月份、周天、時(shí)段變量根據(jù)分類情況取值0 或1。
上述備選變量中包括70 個(gè)前期旅行時(shí)間時(shí)空變量和10 個(gè)外部影響因素變量。為防止變量間的交互作用和過多變量給后續(xù)建模帶來過擬合風(fēng)險(xiǎn),需從備選變量中篩選出影響旅行時(shí)間最重要的變量作為后續(xù)模型的輸入。本文將使用隨機(jī)森林(random forest,RF)算法來確定后續(xù)建模變量。RF 通過集成多棵決策樹提升模型泛化能力和降低過擬合風(fēng)險(xiǎn),其優(yōu)勢在于無需單獨(dú)交叉驗(yàn)證測試數(shù)據(jù)集即可獲得無偏誤差估計(jì),其本身能自然地避免變量間的交互作用,因此可以利用RF 的平均基尼系數(shù)下降值(mean decrease gini,MDG)對備選變量進(jìn)行排序,變量MDG 越大說明該變量越重要。
使用RF 需確定各節(jié)點(diǎn)變量數(shù)和決策樹數(shù)量,其中節(jié)點(diǎn)變量數(shù)取變量總數(shù)的平方根。本文節(jié)點(diǎn)數(shù)取值為9。決策樹數(shù)量綜合考慮其最小和最恒定袋外錯(cuò)誤率來確定決策樹數(shù)量取值。本文決策樹數(shù)量取值為100,同時(shí)設(shè)置單顆決策樹最大深度為10。
圖4 給出了MDG 排前9 的變量計(jì)算結(jié)果。該圖顯示,變量ts,T?1的MDG 值最大,即預(yù)測路段的前一個(gè)周期旅行時(shí)間是影響旅行時(shí)間最重要的變量。同時(shí),同一路段和相鄰路段前幾個(gè)周期的旅行時(shí)間也是影響旅行時(shí)間的重要變量??紤]到MDG 值前9 個(gè)變量基本涵蓋了大部分的前期旅行時(shí)間時(shí)空變量和外部影響因素變量,故選擇這9 個(gè)變量作為輸入來構(gòu)建旅行時(shí)間模型。
圖4 變量MDG 值排序
BP(back propagation)神經(jīng)網(wǎng)絡(luò)能自主學(xué)習(xí)大量的輸入與輸出模式映射關(guān)系,且無需事前具體描述該映射關(guān)系,可借助優(yōu)化函數(shù),使用反向傳播來不斷調(diào)整網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)重與閾值。BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)包括輸入層、隱含層和輸出層,如圖5 所示。
圖5 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
通過建立輸入xj與輸出yj之間的映射關(guān)系實(shí)現(xiàn)預(yù)測。
式中:xj、yj分 別為模型輸入、輸出,j=1,···i,···n;φ(·)為 映射關(guān)系;w表 示模型中各節(jié)點(diǎn)的權(quán)重;b為誤差項(xiàng)。要使用BP 神經(jīng)網(wǎng)絡(luò),需要確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和模型中各種參數(shù)的取值,通過使用歷史旅行時(shí)間對BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練求得參數(shù)最佳取值,即可利用該模型預(yù)測旅行時(shí)間。
采用均方根誤差(e1)、平均絕對誤差(e2)、平均絕對誤差百分率(e3)作為模型預(yù)測能力的評(píng)價(jià)指標(biāo),計(jì)算公式分別為:
對構(gòu)建的真實(shí)旅行時(shí)間數(shù)據(jù)集按7:3 劃分成訓(xùn)練集和驗(yàn)證集,使用Python 語言實(shí)現(xiàn)BP 神經(jīng)網(wǎng)絡(luò)旅行時(shí)間預(yù)測模型,并參考已有研究[11]確定模型結(jié)構(gòu)。首先,易得模型的輸入層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù),其中輸入層節(jié)點(diǎn)數(shù)為變量數(shù)9,輸出層節(jié)點(diǎn)數(shù)為1,即站間路段旅行時(shí)間值。然后,綜合考慮旅行時(shí)間預(yù)測的復(fù)雜程度和模型訓(xùn)練所需計(jì)算力。本文設(shè)置隱含層的層數(shù)為3,并根據(jù)Kolmogorov定理設(shè)置隱含層節(jié)點(diǎn)數(shù)為 2q?1(其中q表示輸入層節(jié)點(diǎn)數(shù)),即本文隱含層節(jié)點(diǎn)數(shù)為19。確定BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)后需要設(shè)置模型參數(shù),本文采用Sigmoid函數(shù)作為激勵(lì)函數(shù),最大訓(xùn)練次數(shù)設(shè)置為10000,學(xué)習(xí)速率為0.01,誤差目標(biāo)值為0.001,后期可根據(jù)實(shí)驗(yàn)結(jié)果對參數(shù)進(jìn)行調(diào)整。
選取通道內(nèi)部分路段進(jìn)行預(yù)測,根據(jù)周天分類,圖6、7 給出了a 路段某周二、周六預(yù)測結(jié)果,圖8、9 給出了b 路段某周三、周五預(yù)測結(jié)果,其中a 路段6.33 km,b 路段16.79 km。
圖6 路段a 某周二旅行時(shí)間預(yù)測結(jié)果
圖7 路段a 某周六旅行時(shí)間預(yù)測結(jié)果
圖8 路段b 某周三旅行時(shí)間預(yù)測結(jié)果
圖9 路段b 某周五旅行時(shí)間預(yù)測結(jié)果
從圖6—9 預(yù)測結(jié)果來看,模型在路段a 和路段b 下均表現(xiàn)良好,在兩種周天分類情況下也都能實(shí)現(xiàn)旅行時(shí)間的預(yù)測。
針對通道內(nèi)部分路段,通過式(4)—(6)計(jì)算所有預(yù)測結(jié)果的各項(xiàng)模型評(píng)價(jià)指標(biāo),以分析模型預(yù)測性能,路段a 與路段b 的預(yù)測結(jié)果見表1。
表1 顯示:路段a 與路段b 在研究時(shí)段的高峰時(shí)段、一般時(shí)段和全時(shí)段內(nèi)的預(yù)測誤差均較低;全時(shí)段的平均絕對誤差百分率分別為7.02%和5.76%,即模型在研究全時(shí)段內(nèi)均能實(shí)現(xiàn)旅行時(shí)間預(yù)測。
表1 模型誤差
綜上對周天分類的預(yù)測結(jié)果和各研究時(shí)段下預(yù)測結(jié)果的分析可知,本文建立的BP 神經(jīng)網(wǎng)絡(luò)模型能有效地預(yù)測高速公路旅行時(shí)間。模型預(yù)測結(jié)果能為交通管理者提供決策依據(jù),以提高高速公路運(yùn)營效率。
1)使用高速公路聯(lián)網(wǎng)收費(fèi)數(shù)據(jù)建立了BP 神網(wǎng)絡(luò)旅行時(shí)間預(yù)測模型,實(shí)驗(yàn)證明使用收費(fèi)數(shù)據(jù)能夠?qū)崿F(xiàn)高速公路的旅行時(shí)間預(yù)測,模型對各時(shí)段的預(yù)測均表現(xiàn)出良好性能。
2)無需將所有影響旅行時(shí)間的變量全部輸入到預(yù)測模型,經(jīng)隨機(jī)森林算法篩選出的重要變量,即可作為建立BP 神經(jīng)網(wǎng)絡(luò)模型的輸入,實(shí)現(xiàn)旅行時(shí)間預(yù)測。
3)后續(xù)研究中,還可以考慮天氣、道路線性等因素對旅行時(shí)間的影響,同時(shí)還可考慮交通事件對旅行時(shí)間的影響,進(jìn)一步提高模型的適用性。