連 蓮,商家碩,宗學軍
(沈陽化工大學 信息工程學院, 遼寧 沈陽 110142)
長期以來,發展公共交通被視為是減少交通擁堵、節能減排的有效方法之一.公交公司一直在努力通過一系列的相關控制策略來提高公交服務水平,吸引更多公交乘客.公交系統是否像預想的那樣保持可靠的運行狀態是提高公交服務水平的關鍵因素.但公交車不可能總是按照預定的時間表到達相應的車站,不規律的公交車頭時距很可能導致交通擁堵.因此,采取相應的策略預測公交車頭時距對提高公交服務質量至關重要[1-3].
現有大多數研究都側重于預測公交車到達時間,而不是公交車頭時距.這是因為預測公交車頭時距需要額外地計算每個車站連續兩輛公交車的到達時間差.
早期的公交車到達時間預測方法主要集中于以歷史數據為基礎的時間序列模型,包括ARIMA[4]、卡爾曼濾波(Kalman filtering)[5]等.隨著公交AFC系統的廣泛應用,公交數據量呈爆炸式增長,傳統時間序列模型無法應對大量的數據以及多變的交通情況,新的機器學習方法開始應用于公交到站時間預測中,包括支持向量機(SVM)[6-7]、人工神經網絡(ANN)[8]、k近鄰(kNN)[9]和隨機森林(RF)[10]等.但由于交通系統的復雜性,傳統時間序列模型很難適應多種非線性因素.在機器學習模型中,SVM過于依賴參數的設置,參數設置不當將導致預測性能變差;kNN無法有效處理外部噪聲;RF無法有效處理因噪聲引起的過度配置等問題.
近期隨著人工智能和大數據時代的到來,深度學習方法已經將其應用逐漸擴展到公共交通領域中,包括卷積神經網絡(CNN)[10]、長短時神經網絡(LSTM)[11-12]、卷積長短時神經網絡(ConvLSTM)[13]等算法,其已經被證明可以很好地挖掘事物之間的時間規律性.本研究提出一種雙向長短時神經網絡-注意力機制模型(Bi-LSTM-Attention),該模型將注意力機制添加到雙向長短時記憶網絡中,利用站點級的公交車停留時間和運行時間預測下一站點公交車頭時距;選取了某市兩條公交線路的公交IC卡數據對公交車頭時距預測進行實例研究;同時選取Bi-LSTM、LSTM、kNN、SVM四種算法與Bi-LSTM-Attention模型進行對比.實驗結果表明:Bi-LSTM-Attention可以成功預測下一車站的公交車頭時距,并且相對于其他四種算法,Bi-LSTM-Attention的預測效果最好.
研究所采用的數據源自某市AFC系統所采集的公交智能卡數據.圖1為研究所采用的兩條公交路線(線路A和線路B)的公交車站布局.其中公交車站和公交線路以黑色實心圓圈和線條突出顯示(圖中710代表線路A中第10站,711代表第11站,以此類推;416代表線路B中第16站,417代表17站……).選擇公交線路中交通擁堵率最高的區域(即線路A中720—724站、線路B中423—429站)作為研究區域,即黑色圓圈所表示區域.

圖1 公交站點的空間分布Fig.1 Spatial distribution of bus stops
配備讀卡器的公交車可以記錄每一位乘客的上下車時間戳.選用第一個上車乘客的刷卡時間作為公交車到站時間,每個站點公交車的到站時間為
Ti,j={Ti,1,Ti,2,…,Ti,r}.
(1)
其中:Ti,j表示公交車i在車站j的到站時間;r代表公交線路中的公交車車站總數.
公交車頭時距可以計算為同一站點連續兩輛公交車的到站時間之差,則每個公交車站連續兩輛公交車的車頭時距為
H={h1,h2,…,hr}.
(2)
其中hj=Ti+1,j-Ti,j.
(3)
大量研究表明,公交車停靠時間和運行時間是影響公交車頭時距的主要因素.在高峰時段,乘客需求上升,增加了公交車在車站的停靠時間,導致相鄰公交車之間的時間間隔縮短.公交車停靠時間可以通過每個站點的公交智能卡交易總數近似估算.如果連續兩輛公交車被表示為公交車i和公交車i+1,則在公交車站j中公交車i和i+1的上車乘客數量分別被定義為mi,j、mi+1,j,公交車站j中公交車i和i+1的下車乘客數量分別被定義為ni,j、ni+1,j.
當公交車在行駛過程中發生不可預測的交通情況,如惡劣天氣、道路維修等,公交車行駛速度減慢將縮短其與相鄰公交車之間的時間間隔.車站之間的運行時間等于相鄰兩個站點第一位乘客刷卡時間之差,即
TTi,j-1=Ti,j-Ti,j-1.
(4)
其中:TTi,j-1為公交車i在公交車站j-1和j之間的運行時間;Ti,j和Ti,j-1分別表示公交車i在公交車站j和公交車站j-1的到站時間.
ni+1,j-1,TTi,j,hj-1).
(5)
其中給定模型6個輸入維度,分別為:公交車i和公交車i+1在公交車站j-1的上/下車刷卡數量mi,j-1、mi+1,j-1、ni,j-1、ni+1,j-1,公交車i在車站j和j-1之間的運行時間TTi,j,公交車i和i+1在車站j-1的車頭時距hj-1.
現建立一個基于雙向長短時神經網絡-注意力機制模型,深入挖掘輸入輸出之間的關系.Bi-LSTM-Attention是基于雙向長短時神經網絡(Bi-LSTM)和注意力機制(Attention)建立的,其結構如圖2所示.

圖2 基于注意力機制的雙向長短時神經網絡模型結構Fig.2 The structure of attention-based Bi-LSTM
其中LSTM是一種特殊的RNN,可以有效解決長序列訓練中梯度消失和梯度爆炸的問題[14].LSTM主要包含遺忘門、輸入門、輸出門三個階段.遺忘門決定LSTM從細胞狀態中丟棄什么信息.輸入門決定什么樣的新信息被存放在細胞狀態中.輸出門基于當前的細胞狀態決定LSTM最終輸出什么值.LSTM具體表達式如下:
遺忘門
ft=σ(Wf·[ht-1,xt]+bf);
(6)
輸入門
it=σ(Wi·[ht-1,xt]+bi),
(7)
Ct=ft·Ct-1+it·vt;
(8)
輸出門
ot=σ(Wo·[ht-1,xt]+bo).
(9)
其中:W、h、C為權重;b為偏差;σ為sigmoid函數.
不同于傳統的LSTM,Bi-LSTM由前向LSTM層和反向LSTM層構成,通過將雙向LSTM層疊加,共同確定反饋到輸出層的信息,實現從歷史到未來兩方面捕獲動態信息,從而提高預測性能.
ht=ot·tanh(ct),
(10)
(11)
注意力機制起源于模擬人類視覺中的注意力機制,在注意力中關鍵信息被賦予很高的權重,忽略無關信息,放大期望信息[15].注意力機制首先通過加權求和從輸入序列中提取關鍵序列,可以表示為:
ei=tanh(Ws·hi+bs),
(12)
(13)
然后注意力機制通過對隱藏層中的所有節點向量進行加權得到特征向量,這個過程可以表示為:
(14)
y=softmax(Wos+bo).
(15)
其中:hi表示隱藏狀態;ai表示權重系數;Wo表示權重矩陣;bo表示偏置向量.
如數據介紹部分所述,實驗以某市線路A和線路B公交車在2012年7月1日至2012年10月31日的公交智能卡數據進行研究,其中80%被劃分為訓練集,20%為測試集.通過Python中的Tensoeflow 2.0實現Bi-LSTM-Attention預測模型,并利用Adam算法進行訓練.采用網格搜索交叉驗證調整模型參數,以獲取最佳的計算性能.在參數設置如下時,Bi-LSTM-Attention模型達到最佳狀態.參數設置:initiallearningrate=100;a period of iterations=100;mini batch size=80;maximumnumberofepochs= 80;雙向LSTM中前向隱藏層單元數=200,雙向LSTM中后向隱藏層單元數=200.
采用兩個評價指標衡量模型Bi-LSTM-Attention的預測性能,其分別是平均百分比誤差(MAPE)和均方根誤差(RMSE).
(16)
(17)

實驗部分采用SVM、kNN、LSTM、Bi-LSTM四種算法進行平均百分比誤差(MAPE)和均方根誤差(RMSE)的對比.為了保證在一個公平環境里比較預測性能,每種算法都使用了與Bi-LSTM-Attention相同的輸入特征,并通過多次實驗獲取預測性能最佳的參數.其中采用十倍交叉驗證法對SVM的參數進行優化;kNN中k值由測試點和相鄰點之間標準化歐氏距離的倒數加權值決定,被設置為k=10;LSTM和Bi-LSTM 利用5次預測輸出的平均值消除擾動,最大迭代值和學習率分別設置為200和0.005,隱藏層單元分別設置為100,前向100,后向100.
在單步預測中,分別利用線路A中721站和線路B中425站的公交刷卡數據預測722站和426站的公交車頭時距,車頭時距預測結果和RMSE、MAPE值結果比較如圖3、表1和表2所示.

圖3 車頭時距單步預測結果對比Fig.3 Bus headway one-step-ahead prediction result comparision

表1 線路A公交車頭時距單步預測性能比較

表2 線路B公交車頭時距單步預測性能比較Table 2 Bus headway one-step-ahead prediction performance comparison for route B
Bi-LSTM-Attention模型在線路A和線路B的預測中均獲得了最佳的預測效果.
在線路A中,相較于其他四種模型,Bi-LSTM-Attention的RMSE值分別減少了35.71%、47.06%、80.06%、85.45%;MAPE值分別下降了17.86%、25.48%、47.73%、33.86%.在線路B中,相比于其他四種模型,Bi-LSTM-Attention的RMSE值分別減少了28.14%、17.1%、69.01%、70.39%;MAPE值分別下降了24.53%、32.83%、59.19%、38.14%.SVM在兩條線路上都取得了很差的預測性能.這是因為SVM無法適應多種外部因素引起的車頭時距波動.kNN計算成本高,在計算復雜環境下的問題時效率較低.
在現實情況中,某一車站在特定的時間很可能沒有乘客上下車,因此不會有公交刷卡記錄.而且單步預測留給公交車公司的反應時間非常少,很可能無法采取及時的控制策略.因此對于線路A,實驗利用721站的公交刷卡數據預測723站的公交車頭時距;對于線路B則利用425站的公交刷卡數據預測427站的車頭時距.車頭時距預測結果和RMSE、MAPE值結果比較如圖4、表3和表4所示.

圖4 車頭時距多步預測結果對比Fig.4 Bus headway one-step-ahead prediction result comparision

表3 線路A公交車頭時距多步預測性能比較

表4 線路B公交車頭時距多步預測性能比較Table 4 Bus headway multi-step-ahead prediction performance comparison for route B
在線路A中,相較于其他四種模型,Bi-LSTM-Attention的RMSE值分別減少了32.28%、70.4%、72.78%、77.19%;MAPE值分別下降了13.3%、23.28%、42.06%、33.44%.在線路B中,相比于其他四種模型,Bi-LSTM-Attention 的RMSE值分別減少了31.49%、27.4%、59.77%、68.01%;MAPE值分別下降了15.93%、22.49%、48%、34.38%.
圖5表示了線路A和線路B從單步預測到多步預測MAPE和RMSE的變化.在所有算法中,單步預測的預測性能均好于多步預測.這是因為隨著預測步長的增加,預測模型可能會遺漏更多的輸入信息.多步預測對Bi-LSTM-Attention 的預測性能影響較小,這意味著Bi-LSTM-Attention 可以被廣泛應用于交通系統中及早發現并解決公交擁堵問題.


圖5 多種模型預測性能比較Fig.5 Comparison of prediction performance of multiple models
深度學習已經在計算機視覺、自然語言處理等領域發揮著重要作用,但在智能交通領域特別是公交車頭時距預測的研究與應用還較少.本研究開發了一個基于注意力機制的雙向長短時記憶網絡,利用公交車智能卡數據預測公交車頭時距,并基于某市AFC系統的公交智能卡數據進行了大量實驗.通過與其他四種模型(Bi-LSTM,LSTM,kNN,SVM)比較得出結論:Bi-LSTM-Attention在單步預測和多步預測中均表現出了最佳的預測性能.綜上所述,Bi-LSTM-Attention模型可以為公交公司實現公交實時調度提供科學依據,使其合理配置資源、降低公交運營成本,進一步推動智能公交系統的發展.