基于時空相關(guān)屬性模型的公交到站時間預(yù)測算法
摘 要:公交車輛到站時間的預(yù)測是公交調(diào)度輔助決策系統(tǒng)的重要依據(jù),可幫助調(diào)度員及時發(fā)現(xiàn)晚點車輛,并做出合理的調(diào)度決策.然而,公交到站時間受交通擁堵、天氣、站點停留和站間行駛時長不固定等因素的影響,是一個時空依賴環(huán)境下的預(yù)測問題,頗具挑戰(zhàn)性.提出一種基于深度神經(jīng)網(wǎng)絡(luò)的公交到站時間預(yù)測算法STPM,算法采用時空組件、屬性組件和融合組件預(yù)測公交車輛從起點站到終點站的總時長.其中,利用時空組件學(xué)習(xí)事物的時間依賴性與空間相關(guān)性.利用屬性組件學(xué)習(xí)事物外部因素的影響.利用融合組件融合時空組件與屬性組件的輸出,預(yù)測最終結(jié)果.實驗結(jié)果表明,STPM 能夠很好地結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)模型的優(yōu)勢,學(xué)習(xí)關(guān)鍵的時間特征與空間特征,在公交到站時間預(yù)測的誤差百分比和準(zhǔn)確率上的表現(xiàn)均優(yōu)于已有的預(yù)測方法。
隨著我國城市的發(fā)展,私家車數(shù)量急劇增加,道路擁堵、車輛尾氣排放造成環(huán)境污染等問題日益加劇[1].相比于私家車,公共交通工具具有承載量大、能源消耗較低、尾氣排放相對較小等優(yōu)勢,對于緩解上述問題具有重要意義[2].相對于出租車等公共交通方式,公交具有投資成本更低、承載量更大,且覆蓋范圍更廣等優(yōu)勢,成為城市出行的重要方式,提升其營運效率,是提升乘客滿意度、吸引乘客使用該方式出行的必要手段[3,4].
目前,我國公交采取排班制發(fā)車,以達(dá)到公交公司和乘客之間的效益平衡.但由于道路交通、天氣等因素復(fù)雜多變,導(dǎo)致車輛常常不能按照計劃發(fā)車時間發(fā)班,進(jìn)而會出現(xiàn)“串車”和“大間隔”現(xiàn)象[5].為應(yīng)對各種原因?qū)е萝囕v不能按原計劃發(fā)班的情況,需要進(jìn)行車輛的實時調(diào)度.現(xiàn)有的公交調(diào)度方式主要由手工完成,即公交調(diào)度員通過監(jiān)視面板觀察所負(fù)責(zé)線路的當(dāng)前車輛分布狀況.調(diào)度員根據(jù)自身經(jīng)驗估計車輛回場時間,進(jìn)而進(jìn)行下一班次發(fā)車時間的調(diào)整.現(xiàn)有調(diào)度方式僅依靠調(diào)度員的經(jīng)驗估計車輛到站時間,不僅工作量巨大,且常由于錯誤預(yù)估,導(dǎo)致調(diào)度策略無法被準(zhǔn)確執(zhí)行,仍無法緩解“串車”和“大間隔”現(xiàn)象的發(fā)生.圖1 給出了廈門市11 路和22 路公交線路3 個月運行總時長的統(tǒng)計圖(箱線圖中線表示均值,其他線表示四分位點,圓圈表示異常點).從圖中可以看出:同一線路方向,即使在同一時間段內(nèi)的總行駛時長依然存在較大差異和異常點.因此,良好運行的調(diào)度系統(tǒng)迫切需要一個能相對準(zhǔn)確地預(yù)測到站時間的算法,進(jìn)而輔助調(diào)度員合理地預(yù)估車輛回場時間.這也是近年來智能交通(intelligent transportation system,簡稱ITS)[6?8]應(yīng)用的典型場景.
Fig.1 Distribution of bus travel time of route No.11 and 22 in Xiamen city
圖1 廈門市11 路和22 路公交行駛總時長分布圖
公交車輛到站時間預(yù)測受站點停留和站間行駛時長等相關(guān)因素的影響,存在時空依賴性.從時間的角度看,無論是站點停留還是站間行駛,都具有一定的時間規(guī)律,這種規(guī)律可能是長期的歷史規(guī)律、短期的周期規(guī)律或者近期的波動規(guī)律等.從空間的角度看,站點停留和站間行駛具有一定的空間規(guī)律.例如:對于站點停留來說,某一站用于乘客上車的停留時間必然影響另一站用于乘客下車的停留時間.對于站間行駛而言,相鄰路段的行駛速度也相互影響.此外,天氣狀況、道路交通狀況等難以準(zhǔn)確預(yù)知,增加了預(yù)測的挑戰(zhàn)性[9].已有的預(yù)測行程時長的方式包括兩種,即分段預(yù)測[9,10]與全程預(yù)測[11,12].分段預(yù)測是指對路段進(jìn)行劃分預(yù)測,對預(yù)測時間加以累加.這種方式可能產(chǎn)生的問題是誤差累積,使得最終預(yù)測誤差變大.全程預(yù)測是指直接預(yù)測從起點到達(dá)終點的時間的方式.這種方式可能產(chǎn)生的問題是當(dāng)路徑越長時,覆蓋完整路徑的軌跡點就越少,數(shù)據(jù)越稀疏導(dǎo)致結(jié)果往往不準(zhǔn)確.由于公交通常具有“定線路”、“定站點”的特點,發(fā)車頻率較快,同一時段有多輛同線路公交在運行,因此公交車輛本身即可收集各種交通數(shù)據(jù),為即將發(fā)班的車輛預(yù)測提供依據(jù).
近年來,深度學(xué)習(xí)技術(shù)在視覺、自然語言處理等領(lǐng)域得到了廣泛應(yīng)用.其中,卷積神經(jīng)網(wǎng)絡(luò)模型[13]已被證明可很好地捕捉空間規(guī)律,而循環(huán)神經(jīng)網(wǎng)絡(luò)[14]類似于一個存在記憶功能的神經(jīng)網(wǎng)絡(luò),能夠捕捉事物的時間規(guī)律.本文基于二者的融合,提出一種基于ConvLSTM[15]模型,能夠同時捕捉事物時間依賴性、空間相關(guān)性與外部影響因素的公交車到站時間預(yù)測算法——時空屬性模型(spatio-temporal property model,簡稱STPM).
本文的主要貢獻(xiàn)包括:提出一種能夠同時學(xué)習(xí)事物時空依賴性和外部因素影響的卷積時空屬性模型,該算法通過時空組件捕獲事物的時間依賴性和空間相關(guān)性,利用該組件分別學(xué)習(xí)與預(yù)測站點停留與站間行駛參數(shù).通過屬性組件,將外部因素如天氣、時間、駕駛員、車輛、近期路段行駛狀況等因素的復(fù)雜性融合到模型預(yù)測結(jié)果的考量中去.提出一種融合組件,將事物的時空特征與外部因素特征進(jìn)行融合,預(yù)測公交車輛從起點到終點的總行駛時長.該算法可作為調(diào)度輔助決策系統(tǒng)的依據(jù),幫助調(diào)度員及時發(fā)現(xiàn)晚點車輛,并作出合理的調(diào)度決策.在真實數(shù)據(jù)集上實現(xiàn)了該算法并進(jìn)行了驗證.實驗結(jié)果表明:SPTM 算法能夠更好地學(xué)習(xí)事物的時空特性,相對于單一使用卷積神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)而言,其預(yù)測準(zhǔn)確率能提高至少2.25 個百分點;且可以充分利用外部屬性的因素,提高預(yù)測的準(zhǔn)確率.
據(jù)我們所知,本文是首個利用深度學(xué)習(xí)算法進(jìn)行公交車從起點到終點總時長預(yù)測的研究.第1 節(jié)介紹國內(nèi)外關(guān)于行程時長預(yù)測的研究.第2 節(jié)介紹數(shù)據(jù)預(yù)處理過程.第3 節(jié)對STPM 算法進(jìn)行詳細(xì)展開和敘述.第4 節(jié)利用真實公交到離站數(shù)據(jù)進(jìn)行實驗驗證與分析.第5 節(jié)總結(jié)全文并對未來工作進(jìn)行展望.
1 相關(guān)工作
現(xiàn)有的關(guān)于行駛時長預(yù)測的方法主要可以分成基于傳統(tǒng)方法和基于深度學(xué)習(xí)的方法.傳統(tǒng)方法包括回歸模型和卡爾曼濾波模型,利用歷史數(shù)據(jù)和時間序列數(shù)據(jù)進(jìn)行預(yù)測.Wu 等人[9]利用支持向量回歸(support vector regression,簡稱SVR)進(jìn)行交通時長的預(yù)測.在該文獻(xiàn)的研究中,通過使用過去t 個時刻的真實交通時長數(shù)據(jù),預(yù)測未來一段時間內(nèi)的交通行駛時長.通過實驗證明,該方法在預(yù)測旅行時間問題上具有一定可行性.但其在特征使用上,僅使用了過去時刻的數(shù)據(jù),無法體現(xiàn)外在因素如駕駛員風(fēng)格、車輛性能、道路交通狀況的差異對預(yù)測結(jié)果的影響.Vanajakshi 等人[16]利用卡爾曼濾波技術(shù)預(yù)測不同交通條件下的出行時間.在該文獻(xiàn)的研究中,對路段進(jìn)行等距離劃分,利用2 輛前序車輛收集到的信息進(jìn)行當(dāng)前車輛的預(yù)測.在該方法中,假設(shè)任何時刻均有兩輛前序車輛跑完全程為其收集信息,在實際應(yīng)用中較難實現(xiàn).Mathieu 等人[17]提出了一種用于預(yù)測到站時間的基于實時GPS 數(shù)據(jù)的非參數(shù)算法,關(guān)鍵思想是,使用內(nèi)核回歸模型來表示位置更新與公交車站到達(dá)時間之間的依賴關(guān)系.實驗結(jié)果表明:對于50 分鐘的時間范圍,算法的預(yù)測誤差平均小于10%.在該文獻(xiàn)的研究方法中,通過依據(jù)歷史數(shù)據(jù)與當(dāng)前狀況的相似性為其賦予不同的權(quán)重,計算當(dāng)前狀況的預(yù)測值.這種方式對于模型訓(xùn)練的時間跨度要求較為嚴(yán)格,需要更長時間的數(shù)據(jù)樣本.
近年來,深度神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用到各個領(lǐng)域,包括行駛時長預(yù)測.Wang 等人[4]提出了一種寬深度遞歸(WDR)學(xué)習(xí)模型,預(yù)測在給定出發(fā)時間沿給定路線的行進(jìn)時間.算法聯(lián)合訓(xùn)練寬線性模型、深度神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò),以充分利用這3 種模型的優(yōu)勢.但該方法并不考慮站點的停留時長,對路網(wǎng)的空間依賴考慮較少.Maiti 等人[18]提出了一種將車輛軌跡和時間戳視為輸入特征的基于歷史數(shù)據(jù)的車輛到達(dá)時間的實時預(yù)測方法,結(jié)果表明所提出的HD 模型分別比人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,簡稱ANN)模型和支持向量機(jī)(support vector machine,簡稱SVM)模型執(zhí)行速度更快,同時也具有比較高的預(yù)測精度.但這種方法僅利用車輛軌跡數(shù)據(jù)和時間序列數(shù)據(jù),無法體現(xiàn)外在因素(如天氣、駕駛員風(fēng)格、車輛性能)等對結(jié)果的影響.王麟珠等人[19]提出一種基于Elman 神經(jīng)網(wǎng)絡(luò)的公交車輛到站時間預(yù)測方法,并通過福州的公交數(shù)據(jù)進(jìn)行驗證.在該文獻(xiàn)的研究方法中,以時間、天氣、路段、當(dāng)前路段的運行時間為特征進(jìn)行預(yù)測,結(jié)果具有一定的精確度.但其對于天氣的劃分僅限于是否下雨,未涉及到沙塵暴等影響能見度的天氣因素,且其同樣未考慮駕駛員風(fēng)格等主觀因素對于結(jié)果的影響,因此該方法還有待提升.張強(qiáng)等人[20]提出一種基于時間分段的動態(tài)實時預(yù)測算法,將一天分為24 個等長的時間段,分時段對公交到站時間進(jìn)行預(yù)測.其將總時長分為站間行駛時長、站點滯留時長、交叉路口通行時長與等待時長,但其對這些組成因素的預(yù)測均采用基于歷史時間序列進(jìn)行預(yù)測,缺少對外在因素影響的研究.季彥婕等人[21]提出將粒子群算法與神經(jīng)網(wǎng)絡(luò)算法結(jié)合,從而減少預(yù)測誤差.實驗表明,該模型對于工作日與周末都有較高的預(yù)測精度.該文獻(xiàn)在特征選擇上同樣是僅利用了歷史數(shù)據(jù),未考慮實際的外在因素影響.楊奕等人[22]將遺傳算法與BP 神經(jīng)網(wǎng)絡(luò)(back propagation neural network,簡稱BPNN)結(jié)合,從而改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)的缺陷.通過對合肥某一公交線路數(shù)據(jù)的研究,實驗表明,該算法確實有比較好的預(yù)測效果.但該算法在特征選擇上僅利用最近一班班次的實際發(fā)生數(shù)據(jù),缺少對于數(shù)據(jù)歷史或周期規(guī)律的研究.此外,其同樣忽略了外在因素的影響.張昕等人[23]提出利用遺傳算法提升SVM 的參數(shù)尋優(yōu)效率,進(jìn)而進(jìn)行預(yù)測.該文獻(xiàn)考慮道路因素、大型節(jié)假日、天氣、路況、運行距離、運行時間、排班信息等7 個因素的影響,能夠更好地適應(yīng)道路交通等的變化,具有較好的預(yù)測精度,但其忽略了司機(jī)或突發(fā)事件等因素的影響.謝芳等人[24]提出結(jié)合聚類與神經(jīng)網(wǎng)絡(luò)模型對車輛數(shù)據(jù)進(jìn)行分段預(yù)測,并利用Map Reduce 的并行化框架減少算法的計算時間.在該算法中,使用站點停留數(shù)據(jù)、站間行駛數(shù)據(jù)、星期幾和是否為節(jié)假日作為特征,同樣忽視了駕駛員、車輛、天氣等因素對其的影響.
現(xiàn)有的關(guān)于行程預(yù)測或公交預(yù)測的研究無法被直接用于公交輔助調(diào)度決策,主要原因包括:由于公交車與出租車或私家車的行駛特點不同,其需要在固定站點進(jìn)行停留,因此站點停留時長是其總時長的重要可變組成成分,直接利用出租車或私家車關(guān)于行程時長預(yù)測的方法往往不夠準(zhǔn)確.現(xiàn)有關(guān)于公交到離站的預(yù)測多基于對鄰近站點的站數(shù)、距離或站間行駛時長的預(yù)測,缺少關(guān)于起點站到終點站總時長預(yù)測的研究.利用站間預(yù)測的方式預(yù)測總時長會出現(xiàn)誤差累加以及無法預(yù)測各站點停留時長的情況.目前,對于行程時長的預(yù)測僅考慮某幾個影響因素,缺乏對其時空特性和外在因素影響的融合研究.但公交車輛總時長的問題是一個包含時間依賴性、空間相關(guān)性和外部因素綜合影響的復(fù)雜問題,需要一種能夠直接對公交車輛從起點站至終點站總時長進(jìn)行預(yù)測的算法.
2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的過程如圖2 所示,包括線路靜態(tài)特征處理、動態(tài)特征處理、天氣特征處理以及缺失數(shù)據(jù)填充等步驟,最后得到特征數(shù)據(jù)集.
Fig.2 Data preprocessing process
圖2 數(shù)據(jù)預(yù)處理流程
2.1 線路靜態(tài)特征處理
(1)數(shù)據(jù)清洗
原始到離站數(shù)據(jù)文件包括一段時間內(nèi)公交線路收集到的所有車輛進(jìn)站及出站信息.進(jìn)行特征提取前,需先將數(shù)據(jù)文件按日期進(jìn)行分割,并將分割后的每日數(shù)據(jù)根據(jù)上下行、車輛id、獲取到離站數(shù)據(jù)的時間進(jìn)行排列.然后將同趟數(shù)據(jù)劃分到同組中,剔除組內(nèi)臟數(shù)據(jù).這些臟數(shù)據(jù)包括重復(fù)的到離站記錄、同一站的進(jìn)站時間在該站出站時間之后的、到達(dá)后一站的時間在到達(dá)前一站之前的記錄以及同一趟的到離站數(shù)據(jù)大量丟失的記錄等.
(2)線路特征處理
線路特征包括線路、方向、車輛及駕駛員信息的處理,其中,線路和方向數(shù)據(jù)可從到離站數(shù)據(jù)中直接獲取.到離站信息里車輛數(shù)據(jù)需要先經(jīng)過一定規(guī)則的轉(zhuǎn)換,轉(zhuǎn)換成計劃班次信息中可識別的車輛id,根據(jù)此車輛id 查詢駕駛員id,以車輛id 和駕駛員id 分別作為車輛特征和駕駛員特征的區(qū)分.
(3)時間特征處理
公交車輛的運行時長具有一定的時間規(guī)律,比如工作日與周末、節(jié)假日與平時、高峰期與平峰期的區(qū)別等.為了研究以上時間因素對于研究結(jié)果的影響,需要根據(jù)到離站數(shù)據(jù)里的時間字段,提取車輛的發(fā)車日期、發(fā)車時間、星期幾、是否為節(jié)假日、是否為工作日等特征.
2.2 線路動態(tài)特征處理
線路動態(tài)特征主要是線路運行時產(chǎn)生的數(shù)據(jù)特征,包括站間行駛時長和站點停留時長.根據(jù)線路運行具有長期趨勢、周期規(guī)律、短期影響等特征,本文將線路動態(tài)特征定義為近1 周、近3 天、最近一段時間內(nèi)的站間行駛時長和站點停留時長.其中,近1 周、近3 天的站間行駛或站點停留時長是根據(jù)相同時段下各車輛實際運行時對應(yīng)數(shù)據(jù)的均值計算所得.最新各個站點的停留時長與行駛時長通常是從起點站依次查詢經(jīng)過該站最近一班的車輛,以該車輛在該站的站間運行時長和站點停留時長作為該站最新運行時長和停留時長的代替,直至查詢到終點站.將拼接形成的一整條數(shù)據(jù)作為該趟車最新的站點停留和站間行駛特征值.
2.3 天氣特征處理
在本文獲得的原始天氣數(shù)據(jù)中,利用到的主要字段包括時間、能見度與天氣描述.其中,時間需要處理成為日期與時間段,天氣描述需要將晴、多云、大霧等轉(zhuǎn)換為可利用的數(shù)字描述方式.
2.4 缺失數(shù)據(jù)填充
由于數(shù)據(jù)期間的局限以及部分GPS 到離站原始數(shù)據(jù)的丟失,使得當(dāng)前車輛、最近時間內(nèi)、3 天內(nèi)、1 周內(nèi)的站點停留和站間行駛時長存在缺失,需要進(jìn)行填充.在本文的缺失數(shù)據(jù)填充中,對于站點停留和站間行駛時長的缺失主要是利用歷史數(shù)據(jù)相同條件下的均值進(jìn)行填充.當(dāng)不存在相同條件下的歷史數(shù)據(jù)時,則用臨近班次進(jìn)行填充.對于天氣數(shù)據(jù)的缺失,主要是利用臨近小時內(nèi)的天氣狀況進(jìn)行代替.
2.5 特征數(shù)據(jù)集
按照圖2 的流程完成數(shù)據(jù)預(yù)處理,將預(yù)處理過程中提取到的空間特征、時間特征和外部特征(包括天氣特征、駕駛員信息和車輛信息等)合并為最終的特征數(shù)據(jù)集.特征數(shù)據(jù)集的維度為11202×51,包含廈門22 路公交車在2018 年9 月、12 月和2019 年1 月、2 月這4 個月里的所有班次.其中,每一行表示一個班次內(nèi)的所有特征值.表1 展示了特征數(shù)據(jù)集中的部分特征及其說明.
3 STPM 算法
3.1 算法概述
公交車輛的站點停留時長和站間行駛時長可能受不同因素的影響,呈現(xiàn)不同的數(shù)據(jù)表征.本文首先利用融合卷積與LSTM 特點的ConvLSTM[15]分別預(yù)測車輛的站間行駛時長和站點停留時長,再利用Stack-LSTM[25]預(yù)測總行駛時長.算法分為3 個部分:時空組件、外部屬性組件和融合組件,整體的網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示.
(1)時空組件用于處理站點停留或是站間行駛等相關(guān)特征,捕捉其時間依賴性與空間相關(guān)性;
(2)外部屬性組件用于處理與模型有關(guān)的外部因素,諸如星期幾、發(fā)車時間、天氣、是否是工作日、是否是節(jié)假日、駕駛員、車輛、近期運行狀況等,其輸出將作為融合組件輸入的一部分;
(3)融合組件是根據(jù)時空組件與外部屬性組件的輸出估計車輛的總行駛時長.
Table 1 Feature in dataset and their meaning
表1 數(shù)據(jù)集中的特征及其說明
Fig.3 STPM model architecture
圖3 STPM 模型架構(gòu)
模型中涉及的符號說明見表2.
3.2 屬性組件
公交車輛的行駛時長受多種復(fù)雜因素的影響,包括:
(1)時間信息:如公交車輛的發(fā)車時刻點、星期幾、是否是工作日、是否是節(jié)假日等.對于公交車輛來說,通常具有時段特征,即一天中存在高峰期、低峰期與平峰期.高峰期的行駛時長通常高于低峰期的行駛時長,且由于周末或其他節(jié)假日出行人數(shù)較多,道路私家車數(shù)量相對于工作日有所增長,更易出現(xiàn)交通擁堵增加車輛行駛時長的現(xiàn)象;
(2)天氣信息:當(dāng)天氣出現(xiàn)大霧、沙塵暴、暴雨等情況時,由于其會影響道路的能見度,進(jìn)而減慢道路通行速度,使得通行時長要比其他情況要長;
(3)駕駛員信息:由于駕駛員行駛習(xí)慣的差異,即使是同一路段,通行時長亦有所不同;
(4)車輛信息:不同車的性能、能容納的乘客數(shù)、車輛結(jié)構(gòu)的差異亦會影響車輛的行駛與停留消耗時間;
(5)近期交通狀況信息:由于現(xiàn)在城市發(fā)展較為迅速,道路交通狀況處于不斷變化的過程中,因此有必要將近期線路的交通運行狀況作為外部屬性輸入到模型當(dāng)中.
Table 2 Symbols in STPM and their meanings
表2 STPM 中的符號及其含義
在屬性組件中,對于車輛、駕駛員、天氣、時間等外部特征,采用嵌入的方式將這些外部屬性特征轉(zhuǎn)換為低維實向量.這種處理方式的優(yōu)勢在于:其一,它可以將分類值較多的特征降維到較小的輸入維度,進(jìn)而提高運算效率;其二,已有的相關(guān)研究發(fā)現(xiàn),具有相似語義的范疇值通常會被嵌入到相近的位置,使得這種方法在本文的研究中有助于發(fā)現(xiàn)不同的運營數(shù)據(jù)之間相似的部分,如駕駛員的駕駛風(fēng)格、車輛屬性等.
對于近期運行狀況特征,包括近1 周、近3 天、最新的各站點的站間行駛和站點停留特征,利用其均值與標(biāo)準(zhǔn)差進(jìn)行標(biāo)準(zhǔn)化.假設(shè)近期運行狀況中一個特征為x,利用公式(1)對其進(jìn)行轉(zhuǎn)換得到x?:
最后將經(jīng)過嵌入和標(biāo)準(zhǔn)化處理的外部特征進(jìn)行連接,作為其他組件的外部屬性輸入.若經(jīng)過嵌入方法轉(zhuǎn)換后,車輛屬性特征為C,駕駛員屬性特征為D,天氣屬性為W,星期幾屬性為DT,時間段屬性為H,段內(nèi)分組屬性為M;經(jīng)過標(biāo)準(zhǔn)化的方式轉(zhuǎn)換后,近一周的總時長特征為SW,近3 天的總時長特征為ST,最新的總時長特征為SC,則經(jīng)過連接后的輸出向量attr 為
其中,attri 表示第i 個樣本經(jīng)過屬性組件后輸出的屬性特征集;
表示第i 個樣本的車輛特征經(jīng)嵌入方法轉(zhuǎn)換后的一維向量,其他屬性特征(駕駛員、星期幾、時間段、段內(nèi)分組)的表示與之相同;SWi 表示第i 個樣本近一周的運行特征經(jīng)標(biāo)準(zhǔn)化方法轉(zhuǎn)換后的一個值,3 天與最新運行特征的轉(zhuǎn)換與之相同.故經(jīng)過屬性組件后的特征都被處理為一個n=c+d+w+dt+h+m+3 的一維向量.
3.3 時空組件
在時空組件中,相當(dāng)于是由兩個子件組成.其中一個子件用于預(yù)測各個站點的停留時長,另一個子件用于預(yù)測各個站間的行駛時長.利用ConvLSTM 模型捕獲站間行駛與站點停留的時間依賴性與空間相關(guān)性.雖然行駛時長預(yù)測子件與停留時長預(yù)測子件在整體結(jié)構(gòu)上存在差異,但其核心均是依賴于ConvLSTMCell.
(1)ConvLSTMCell
ConvLSTMCell 是基于LSTM 結(jié)構(gòu)的.LSTM 作為一種特殊的RNN,它的時間記憶性能夠在一定程度上解決時間依賴的問題.一個抽象的LSTM 如圖4 所示(各符號的定義見表1).
Fig.4 LSTM structure
圖4 LSTM 結(jié)構(gòu)
當(dāng)有新的輸入時,如果輸入門it 被激活,則新輸入的信息將會被累加到細(xì)胞單元中.輸入門是否被激活,是由t?1 時刻的網(wǎng)絡(luò)輸出ht?1和這一步的網(wǎng)絡(luò)輸入xt 決定(見公式(3)).在計算這一步的網(wǎng)絡(luò)輸出前,還需要考慮t?1時刻網(wǎng)絡(luò)中的記憶單元ct?1.當(dāng)ct?1傳入到t時刻的網(wǎng)絡(luò)中時,首先,網(wǎng)絡(luò)需要先決定它被遺忘的程度,即,將t 時刻之前的記憶狀態(tài)乘以一個記憶衰減系數(shù)ft.這個記憶衰減系數(shù)ft是根據(jù)t 時刻的網(wǎng)絡(luò)輸入xt 與t?1 時刻的網(wǎng)絡(luò)輸出ht?1所決定(見公式(5)).也就是說,網(wǎng)絡(luò)所要保留的記憶是由前一時刻的輸出和這一時刻的輸入共同決定.
新時刻學(xué)到的記憶ct 是經(jīng)過線性變化和激活函數(shù)所得到(見公式(4)).在得到t?1 時刻的記憶需要保留多少ft*ct?1以及新時刻學(xué)到什么樣的記憶后,將t?1 時刻保留的記憶加上t 時刻學(xué)到的記憶及其對應(yīng)的衰減系數(shù)it,則得到了t 時刻的記憶狀態(tài)(見公式(6)).
t 時刻網(wǎng)絡(luò)的輸出ht 是由t 時刻的輸入xt、t?1 時刻網(wǎng)絡(luò)的輸出和t 時刻記憶狀態(tài)所決定.使用類似計算記憶衰減系數(shù)的方式計算輸出門的系數(shù)ot(見公式(7)),由決定網(wǎng)絡(luò)的輸出,即最終網(wǎng)絡(luò)的輸出是由公式(8)所計算:
對于公交到站時間預(yù)測,有必要使用一個能夠同時捕捉時空特征的網(wǎng)絡(luò)結(jié)構(gòu).在ConvLSTM 中,通過將卷積層融入到傳統(tǒng)的LSTM 中,使得某一單元的輸入不再是僅由過去時刻的狀態(tài)所決定,還與其鄰近的鄰居狀態(tài)有關(guān)(如圖5 所示).可以理解為:某一站點的停留時長或站間的行駛時長,不僅與這一站點過去的停留時長或站間行駛時長有關(guān),還與其鄰近站點的停留時長或站間行駛時長有關(guān).
ConvLSTM 上述特性的實現(xiàn)依賴于其將卷積的操作融入到LSTM 各個門的計算當(dāng)中,即在以下公式中的Wxi,Whi,Wxf,Whf,Wxc,Whc,Wxo,Who 等參數(shù)中利用卷積操作進(jìn)行運算(各符號的定義見表1).
(2)行駛時長子件
對于行駛時長子件,其可以看做由多個ConvLSTMCell 組成的一個ConvLSTM.對于ConvLSTM 來說,其卷積核的大小從某種程度上反映了一個單元的狀態(tài)由多大范圍內(nèi)的鄰近單元狀態(tài)決定.對于行駛時長子件,其網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示.
Fig.5 Convolution structure of ConvLSTM
圖5 ConvLSTM 的卷積結(jié)構(gòu)
Fig.6 Structure of the driving time component
圖6 行駛時長子件結(jié)構(gòu)
(3)停留時長子件
對于停留時長子件,同樣可以看做由多個ConvLSTMCell 組成的一個ConvLSTM.其網(wǎng)絡(luò)結(jié)構(gòu)可以如圖7所示.
Fig.7 Structure of the staying time component
圖7 停留時長子件結(jié)構(gòu)
3.4 融合組件
融合組件將根據(jù)行駛時長組件和停留時長組件輸出的預(yù)測各站點的停留時長參數(shù)和行駛時長參數(shù),以及屬性組件經(jīng)嵌入、標(biāo)準(zhǔn)化和連接方式輸出的駕駛員特征、天氣特征、時間特征和近期運行特征,預(yù)測公交車輛由起點站到終點站所需的總時長.融合組件采取Stack-LSTM 的方式進(jìn)行預(yù)測,其網(wǎng)絡(luò)結(jié)構(gòu)如圖8 所示.
Fig.8 Structure of the fusing component
圖8 融合組件結(jié)構(gòu)
4 實驗與分析
4.1 環(huán)境設(shè)置
本次實驗基于2018 年9 月1 日~2019 年2 月28 日廈門市22 路公交到離站數(shù)據(jù)、計劃班次信息、車輛信息以及廈門天氣狀況等數(shù)據(jù)進(jìn)行.使用python3.7 和Pytorch1.1 進(jìn)行數(shù)據(jù)處理與算法編寫,利用sklearn0.18.1庫中的模型接口進(jìn)行部分算法實現(xiàn).如圖9 所示:廈門22 路公交上行從胡里山站出發(fā),途經(jīng)廈大白城站等站點,終點為麥德龍站.預(yù)處理后的特征數(shù)據(jù)集包含到離站數(shù)據(jù)280 050 條,班次信息11 202 條,天氣數(shù)據(jù)為每小時天氣狀況.
Fig.9 No.22 bus route of Xiamen
圖9 廈門市22 路公交線路圖
4.2 模型設(shè)置
4.2.1 時空組件——停留時長預(yù)測子件
本節(jié)在實驗中修改網(wǎng)絡(luò)的結(jié)構(gòu),包括網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元的數(shù)量、卷積層核的大小、每次參與訓(xùn)練的batch 的數(shù)量以及網(wǎng)絡(luò)的學(xué)習(xí)率.通過實驗發(fā)現(xiàn),當(dāng)停留時長預(yù)測子件的參數(shù)如下時,模型效果最優(yōu):網(wǎng)絡(luò)結(jié)構(gòu)由4層ConvLSTMCell 組成;每層神經(jīng)元的設(shè)置分別是128,64,32,1;各層卷積核的大小分別是7,5,5,3;每次進(jìn)行訓(xùn)練的batch 大小為600;學(xué)習(xí)率為0.01.此外,為了體現(xiàn)不同站點對最終結(jié)果的影響程度不同,在該網(wǎng)絡(luò)中,為不同站點的損失賦予不同的權(quán)重(公式(14)):
4.2.2 時空組件——行駛時長預(yù)測子件
經(jīng)實驗發(fā)現(xiàn),當(dāng)行駛時長預(yù)測組件由一個3 層ConvLSTMCell 組成,各層參數(shù)設(shè)置值如下時效果最優(yōu):該網(wǎng)絡(luò)每層神經(jīng)元的設(shè)置分別是128,64,1;各層卷積核的大小分別是5,5,5;每次進(jìn)行訓(xùn)練的batch 大小為600;學(xué)習(xí)率為0.01.在該網(wǎng)絡(luò)中,不同站點損失的權(quán)重將根據(jù)公式(15)進(jìn)行計算:
4.2.3 屬性組件
屬性組件對于其中的駕駛員、車輛、天氣、星期幾、發(fā)車時間、時段分組特征,模型采用嵌入的方式,對其緯度變化見表3.
Table 3 Attribute feature latitude change
表3 屬性特征緯度變化
4.2.4 融合組件
在本節(jié)的實驗中,融合組件在其參數(shù)設(shè)置如下時,達(dá)到最優(yōu)狀態(tài):層數(shù)為4;各層神經(jīng)元的數(shù)量分別為96,48,24,1;學(xué)習(xí)率為0.1.在該網(wǎng)絡(luò)結(jié)構(gòu)中,其損失函數(shù)為公式(16):
4.3 實驗結(jié)果分析
由于現(xiàn)有關(guān)于公交車輛從起點站到終點站的研究較少,故本文采用幾種常用于回歸預(yù)測的機(jī)器學(xué)習(xí)方法進(jìn)行誤差百分比和準(zhǔn)確率兩個方面的對比.其中,準(zhǔn)確率是絕對誤差在5 分鐘以內(nèi)被判定為正確的數(shù)量占測試集的比例.其實驗結(jié)果見表4.
(1)STPM:該算法為本文所提出的算法,融合卷積與LSTM 組成時空組件CT,用于學(xué)習(xí)事物的時間依賴性和空間相關(guān)性;利用嵌入、標(biāo)準(zhǔn)化與連接的方式組成屬性組件,用于學(xué)習(xí)外部因素的影響;利用融合組件對時空組件與屬性組件的輸出進(jìn)行融合進(jìn)而預(yù)測總行駛時長;
(2)CNN[13,26]:由卷積層和池化層組成的一種前饋神經(jīng)網(wǎng)絡(luò),在對比實驗中,使用與STPM 相同的特征進(jìn)行預(yù)測;
(3)LSTM[14,27]:由輸入門、輸出門、遺忘門組成的基本長的短時記憶網(wǎng)絡(luò),使用的特征與STPM 相同;
(4)Adaboost[28]:利用訓(xùn)練數(shù)據(jù)訓(xùn)練多個弱分類器,融合弱分類器的的訓(xùn)練結(jié)果進(jìn)行預(yù)測的一種集成方法.在對比實驗中,使用與STPM 相同的特征進(jìn)行預(yù)測;
(5)DecisionTree[29]:決策樹,一種用于預(yù)測的樹結(jié)構(gòu).在該算法實驗中,使用與STPM 相同的特征進(jìn)行預(yù)測;
(6)SVM[30]:支持向量機(jī).一種常用于模式識別、分類及回歸分析的監(jiān)督學(xué)習(xí)方法;
(7)HP:基于歷史相同條件(是否為工作日、時段)下平均值預(yù)測.
Table 4 Comparative experiment results
表4 對比實驗結(jié)果
從實驗結(jié)果上看,本文所提出的基于深度神經(jīng)網(wǎng)絡(luò)的預(yù)測算法STPM 的誤差百分比相對于其他算法更低.圖10 與圖11 展示了利用傳統(tǒng)方法與深度學(xué)習(xí)方法進(jìn)行預(yù)測的結(jié)果,其中,縱軸為總時長值,橫軸為樣本ID,擬合線為預(yù)測值,散點為真實值.根據(jù)真實值與預(yù)測值的絕對誤差,對真實值的散點顏色進(jìn)行區(qū)分.十字代表300s 的誤差內(nèi),圓圈代表300s~400s 的誤差,叉號代表400s~500s 的誤差,三角代表500s~600s 的誤差,方形代表誤差超過600s.
Fig.10 Comparison of prediction results of deep learning methods
圖10 深度學(xué)習(xí)方法預(yù)測結(jié)果對比
實驗結(jié)果分析如下.
(1)對比STPM 與HP 發(fā)現(xiàn),STPM 的效果要優(yōu)于單純根據(jù)歷史條件進(jìn)行預(yù)測的模型HP.這是因為公交總行駛時長是一個受多種復(fù)雜因素綜合影響的問題,天氣與道路交通狀況等因素不可預(yù)知,僅根據(jù)歷史條件進(jìn)行預(yù)測缺乏靈活性;
(2)對比STPM,CNN 與LSTM 發(fā)現(xiàn):STPM 在誤差百分比與準(zhǔn)確率上要優(yōu)于CNN 與LSTM,這可能是由于STPM 結(jié)合了CNN 卷積與LSTM 的記憶優(yōu)勢.公交總行駛時長,無論停留還是行駛,都具有時間依賴性和空間相關(guān)性.因此,使用一個可以同時捕獲時空特征的ConvLSTM,相對于單用一個模型較好;
(3)對比STPM 與其他機(jī)器學(xué)習(xí)模型發(fā)現(xiàn):其誤差百分比與準(zhǔn)確率均優(yōu)于其他模型;且Adaboost 的效果要好于SVM、決策樹.這是由于Adaboost 是一種集成學(xué)習(xí)的方法,類似于一種投票的機(jī)制,能夠很好地糾正單一模型的錯誤.
Fig.11 Comparison of prediction results of conventional methods
圖11 傳統(tǒng)方法預(yù)測結(jié)果對比
4.4 時間性能分析
表5 展示了上述7 種方法的訓(xùn)練時間(即STPM,CNN,LSTM,HP,SVM,Adboost,DecisionTree),訓(xùn)練過程使用的GPU 為TITAN X.
Table 5 Comparative training time and testing time
表5 訓(xùn)練時間、模型參數(shù)和預(yù)測時間的對比
由于STPM 模型的參數(shù)數(shù)量大于其他的深度模型,因此其訓(xùn)練也是最耗時的.然而通過實驗結(jié)果可以看出,STPM 的精度好于其他方法.雖然具有較長的訓(xùn)練時長,但是在離線訓(xùn)練中,這樣的時長是可以接受的.通常在實際應(yīng)用當(dāng)中,我們能夠獲得大量的離線資源進(jìn)行預(yù)訓(xùn)練.此外,當(dāng)模型訓(xùn)練完畢之后,STPM 的預(yù)測時間與其他方法相當(dāng),可在80ms 內(nèi)得到預(yù)測結(jié)果.
5 結(jié)束語
深度學(xué)習(xí)現(xiàn)已在人臉識別、計算機(jī)視覺、自然語言處理等領(lǐng)域發(fā)揮著重要的作用,是各界學(xué)術(shù)研究者研究的熱點之一.但是在智能交通領(lǐng)域,特別是公交到站時間預(yù)測的研究與應(yīng)用還較少.本文提出利用ConvLSTM 捕獲事物的時間依賴性與空間相關(guān)性,分別對站點的停留時長和站間的行駛時長進(jìn)行預(yù)測,利用屬性組件對諸如駕駛員特征、車輛特征、時間特征、天氣特征、近期運行等特征進(jìn)行嵌入操作,將時空組件與屬性組件的輸出作為融合組件的輸入.然后,由多個LSTM 組成的融合組件對來自時空組件和屬性組件的輸入進(jìn)行融合,預(yù)測最終車輛從起點站到終點站的總時長.實驗結(jié)果表明,算法在誤差百分比與準(zhǔn)確率上的表現(xiàn)優(yōu)于已有的算法.
對于未來的工作,可以增加非起點站到終點站的預(yù)測,輔之以修正機(jī)制.通過車輛到達(dá)非終點站的真實時間與預(yù)測時間之間的誤差,不斷改進(jìn)對到達(dá)終點站的預(yù)測時間.同時,由于道路交通狀況常常是一個復(fù)雜且不可準(zhǔn)確預(yù)知的問題,特別是何時會發(fā)生交通事故等難以預(yù)料,因此,加強(qiáng)交通系統(tǒng)中車輛信息收集與相互之間的信息交互,對于及時了解路段狀況、改進(jìn)模型預(yù)測效果也是有一定幫助的。
審核編輯:湯梓紅
評論
查看更多