劉政澤
(山東科技大學交通學院,山東 青島 266400)
智慧公交是我國城市化高速發(fā)展的重要內(nèi)容之一,公交到站時間是乘客較為關心的問題,準確的公交到站時間能夠為出行者的時間安排提供依據(jù)。對此,國內(nèi)外的相關學者進行了大量研究。
歷史數(shù)據(jù)法在歷史到站時間數(shù)據(jù)的基礎上,結合路段信息如站點、路段、站間距離等信息,對車輛未來到站時間進行預測。XU等[1]建立路徑剖面圖,在歷史數(shù)據(jù)基礎上加入聚類算法計算站點間的時變分布。PANG等[2]利用多時間步長依賴關系,建立LSTM神經(jīng)網(wǎng)絡預測公交到站時間。LIU等[3]提出了一種基于時空特征向量的LSTM+ANN的綜合預測模型,模型可以根據(jù)預測距離長短自動調(diào)整。Han[4]將預測過程分為CDS、DT、STS三部分并分別求得加權因子來計算公交行駛時間。以上方法在交通條件不變的情況下,預測效果較好,但當交通狀況較為復雜時,基于歷史數(shù)據(jù)的預測方法預測精度會降低,其實時性和抗干擾能力較差。因此在此基礎上,許多學者利用實時數(shù)據(jù)與上述方法的預測結果相結合,根據(jù)公交車行駛狀態(tài)的實時變化,對預測值做出調(diào)整。AVINASH等[5]為捕獲數(shù)據(jù)中的線性非平穩(wěn)空間相關性,使用線性卡爾曼濾波器進行預測,并分別進行單步和多步預測測試。于濱等[6]在支持向量機的基礎上,結合Kalman濾波,減小了車輛行駛過程中外界因素對預測結果的影響。范光鵬等[7]將公交行駛時間看作短期沒有規(guī)律的時間序列問題,提出了一種將LSTM與Kalman濾波相結合的預測模型。CHUNG等[8]比較了不同類型的遞歸單元,在對序列模型進行建模時,GRU和LSTM的表現(xiàn)更好。
GRU神經(jīng)網(wǎng)絡模型是RNN循環(huán)神經(jīng)網(wǎng)絡的優(yōu)化模型,其在LSTM的基礎上,對門單元進行精簡,將原有的輸入門、遺忘門和輸出門簡化為重置門和更新門,減少了神經(jīng)網(wǎng)絡單元參數(shù),能夠在訓練時降低運算量,保證預測準確率的同時提高運算效率??柭鼮V波(Kalman Filtering)可以利用在車輛行駛過程中獲得的實時數(shù)據(jù),對到站基礎時間序列進行更新,減小車輛行駛過程中突發(fā)影響因素對車輛到站時間預測準確率造成的影響。本文通過分析公交行駛過程以及影響公交行駛時間的多種因素,結合GRU神經(jīng)網(wǎng)絡和Kalman濾波,對公交到站時間進行預測,并以山東省青島市西海岸新區(qū)60路公交車(以下簡稱60路)運行情況為例,給出其實際應用過程。
公交車到達站n點的時間為Tn,從站點n到下一站點n+1的時間為Tn+1,那么公交車到達站點的時間由式(1)表示。
當已知公交車的發(fā)車時間,即可通過預測公交車在各個站點之間的行駛時間,得到公交車到達各個站點的時間。
文章將根據(jù)公交車輛歷史數(shù)據(jù)結合實時信息,對相鄰站點間的公交行駛時間進行預測。通過分析多條趟次數(shù)據(jù),發(fā)現(xiàn)公交車輛的總行駛時間是有規(guī)律的,但在不同的站點之間,其變化規(guī)律又各不相同,會受到站點、站間距離、是否為工作日、時段和天氣等因素的影響,同時在行駛過程中遇到的突發(fā)事件,也會對預測準確率造成影響。
此次研究將預測過程分為兩個階段,首先利用車輛的歷史數(shù)據(jù)對公交車的行駛時間進行預測,然后在此基礎上,利用公交車到站時獲得的實時數(shù)據(jù)進行更正,以此提高預測的準確性。
在第一階段,利用歷史數(shù)據(jù)對模型進行訓練并預測,影響因素包括站點序號、車輛編號、天氣、是否為工作日、時段和站間距離等。設表示公交車到達各個站點的多維數(shù)據(jù)變量。其中,k表示第k趟次,n表示第n個站點,T表示歷史數(shù)據(jù)中各個站點之間的實際行駛時間,S表示站點序號,P表示運行時段,W表示天氣情況,Q表示是否為工作日,D表示該站與下一站之間的距離,那么k+1第趟次車輛在行駛到每個站點時所經(jīng)歷的時間可由式(2)計算得到。
在公交車輛實際行駛過程中,車輛受到多種因素影響,會導致預測時間產(chǎn)生偏差,需要在已有時間序列的基礎上,根據(jù)實時信息進行更正,由式(3)表示:
利用GRU門控循環(huán)單元訓練歷史數(shù)據(jù),得到基礎預測模型,通過結合多源數(shù)據(jù),對公交車輛的到站時間進行基礎時間序列預測。GRU作為RNN的變種神經(jīng)網(wǎng)絡,與LSTM長短時記憶神經(jīng)網(wǎng)絡一樣,能夠解決RNN中反向傳播時的梯度消失和梯度爆炸問題。相對于LSTM,GRU內(nèi)部結構較為簡單,只有兩個門單元,如圖1所示。更新門將上一時刻輸入GRU單元的信息帶入到當前時刻,控制上一時刻信息進入當前GRU單元的數(shù)量,更新門數(shù)值越大,進入當前狀態(tài)的信息就越多;重置門與LSTM中遺忘門的設定相似,控制之前信息的遺忘數(shù)量,判斷多少信息將通過到下一候選集上,重置門的值越小,說明被遺忘的信息越多。
圖1 GRU單元結構
GRU網(wǎng)絡的前向傳播公式如下式所示。
式中:Kn為卡爾曼增益系數(shù),須使得均方差Pn為Φ最小。
綜上,可以得到公交車輛行駛時間預測的Kalman濾波遞推方程:
使用組合模型的預測過程如圖2所示,主要包括兩個階段,第一階段為基于GRU的基礎時間序列預測,首先對原始數(shù)據(jù)進行預處理,數(shù)據(jù)處理好后將歷史數(shù)據(jù)輸入到GRU模型中進行訓練。訓練好后,將需要預測的數(shù)據(jù)變量輸入到模型中進行預測,得到站點之間的基礎行駛時間,但由于基于歷史數(shù)據(jù)的預測模型未考慮到車輛在行駛過程中遇到的其他因素,因此需要通過第二階段進行實時調(diào)整。第二階段在第一階段預測的行駛時間基礎上,加入Kalman濾波對其進行實時調(diào)整,從而保證到站時間預測的實時性和準確性。
圖2 公交車站間行駛時間預測
首先將Φn、Bn和Hn等初始系統(tǒng)狀態(tài)參數(shù)輸入到模型中,基于本文研究問題,設定Φn、Bn和Hn為單位矩陣,wn、vn設定為相互獨立、期望為0的獨立白噪聲。車輛在首站出發(fā)時,設置初始時間為,通過GRU神經(jīng)網(wǎng)絡得到了車輛運行時間的基礎時間序列,因此車輛到達第2站的先驗時間。當?shù)竭_第2站時,通過車輛的GPS系統(tǒng),獲得車輛到達該站點的實際觀測時間。再根據(jù)Kalman濾波遞推公式,得到該站點的卡爾曼增益系數(shù)K2,對后續(xù)到站時間進行修正更新,以此遞推,能夠在行駛過程中不斷更新到站時間,減少車輛在行駛過程中產(chǎn)生的累計誤差。
實例驗證時采用的評價指標選擇了均方差(RMSE)和平均絕對誤差(MAPE)兩個評價指標。通過分析不同站點實際到站時間和預測到站時間的均方差和平均絕對誤差來對預測的準確性進行評價,同時與其他預測模型進行對比。計算公式如下:
為了驗證上述模型的有效性,利用青島西海岸新區(qū)60路公交車2019年10月1日—2019年10月31日的數(shù)據(jù)對模型的有效性進行驗證,其中10月1日—10月19日的數(shù)據(jù)作為訓練集,10月20日—10月26日的數(shù)據(jù)作為驗證集,10月27日—10月31日的數(shù)據(jù)作為測試集。60路下行方向由安子公交樞紐站到星光島首末站,全長18.7 km,共經(jīng)過32個車站,由于原始數(shù)據(jù)存在重復、缺失等問題,需要對其進行補齊,替換站點序號,同時通過天氣網(wǎng)站的歷史信息對天氣部分進行補齊,晴天、多云、陰天等標記為1,雨天、霧天等不良天氣標記為2,相鄰站點之間距離利用青島真情巴士公司提供的站點信息進行匹配。根據(jù)公交車的早晚運行時間,將早5點到晚22點共17個小時按照每小時一個時段進行劃分。
本文模型預測的站間行駛時間與實際行駛時間的對比如圖3所示,可以看出,所提出的GRU神經(jīng)網(wǎng)絡預測模型的預測效果較好。
圖3 預測時間與實際時間對比
通過公式(13)和公式(14)定義的RMSE、MAPE評價指標來對公交到站預測時間的準確度進行評價,結果如表1所示,可以看出,在預測公交車到站時間上,GRU模型平均絕對誤差最小,SVM模型和LSTM模型相對于GRU模型表現(xiàn)不佳。
表1 不同模型的評價指標對比
GRU本身的單元結構相對于LSTM要簡單,在實際訓練過程中,其訓練參數(shù)相對于LSTM更少,所以預測效率要高于LSTM。兩種模型在訓練同一組數(shù)據(jù)時的損失函數(shù)下降圖如圖4所示,可以看到GRU相對于LSTM在訓練和驗證時的損失函數(shù)收斂更快,損失值更小。
圖4 GRU模型與LSTM模型損失值對比曲線圖
單純的GRU模型對預測效果還不夠理想,因此加入Kalman濾波對預測結果進行實時調(diào)整,調(diào)整結果如圖5所示,可以看出調(diào)整后的行駛時間與實際行駛時間幾乎重合,誤差更小。
圖5 Kalman濾波調(diào)整前后的行駛時間
調(diào)整后的評價指標對比如表2所示,可以看出,在結合卡爾曼濾波后,三類模型的平均絕對誤差值和均方差值都顯著降低。
表2 Kalman濾波調(diào)整后的評價指標
不同模型在各個站點的RMSE、MAPE分別如圖6和圖7所示??梢钥闯?,在加入Kalman濾波進行實時調(diào)整后,各個站點的預測時間RMSE、MAPE都顯著降低。SVM模型在各個站點的預測均方誤差都遠遠大于LSTM和GRU,相比之下,LSTM和GRU的均方誤差相差不大,但GRU還是要略低于LSTM,說明三種模型中,GRU的預測效率要優(yōu)于SVM和LSTM。
圖6 Kalman濾波調(diào)整后各個站點的RMSE
圖7 Kalman濾波調(diào)整后各個站點的MAPE
文章分析了公交到站過程及影響公交到站時間的因素,利用青島市西海岸新區(qū)60路公交車的歷史行駛數(shù)據(jù),提出了一種公交到站時間預測方法。首先,將多維數(shù)據(jù)進行融合,生成歷史時間數(shù)據(jù)序列,建立GRU雙層神經(jīng)網(wǎng)絡模型,預測公交車在各個站點之間的行駛時間。然后,在此基礎上,通過Kalman濾波結合GPS信息,對預測結果進行實時調(diào)整,以此來提高預測的準確率。結果表明,GRU神經(jīng)網(wǎng)絡可以有效處理時間序列問題,避免梯度消失和梯度爆炸。在預測效率方面,與同樣能夠處理時間序列問題的LSTM模型相比,GRU模型效率更高。在預測誤差方面,文中構建的GRU和Kalman濾波組合模型預測結果誤差更小??梢詫⒉煌瑫r段不同地區(qū)的道路擁擠程度通過量化表示,在預測時將其列入影響因素范圍內(nèi),從而進一步提高預測的準確率。