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