李香云,任 帥,張衛(wèi)鋼,吳娟娟,伍 菁
(長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
目前,在智能公共交通系統(tǒng)領(lǐng)域,國(guó)內(nèi)外學(xué)者對(duì)公交車到站時(shí)間的精準(zhǔn)預(yù)測(cè)做了大量研究,常用且高效的模型主要有以下幾種:
第一種是基于歷史數(shù)據(jù)的預(yù)測(cè)模型。文獻(xiàn)[1-2]將要預(yù)測(cè)的路段分割成若干段,利用歷史行駛數(shù)據(jù)分別計(jì)算各子路段的平均行駛時(shí)間,求得最終的預(yù)測(cè)時(shí)間;文獻(xiàn)[3]在此基礎(chǔ)上引入有限狀態(tài)機(jī)完善模型;文獻(xiàn)[4]創(chuàng)新地利用GPS數(shù)據(jù)和路段在空間和時(shí)空分布上的特點(diǎn),根據(jù)歷史路段平均到站總時(shí)間與當(dāng)前車輛位置與速度,預(yù)測(cè)到達(dá)下站所需要的時(shí)間;文獻(xiàn)[5]采用逆向查找法,將瞬時(shí)速度與歷史平均速度進(jìn)行融合,利用粒子濾波算法預(yù)測(cè)公交車到達(dá)下站的時(shí)間;文獻(xiàn)[6]利用交通流的時(shí)間變化規(guī)律獲取交通數(shù)據(jù)周期性和局部變化的特征,建立了時(shí)間序列模型,預(yù)測(cè)出公交車到站時(shí)間。這種模型的預(yù)測(cè)精度很大程度上取決于采集的歷史數(shù)據(jù)的準(zhǔn)確性。
第二種是基于人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型。文獻(xiàn)[6-7]將行駛距離、時(shí)段等作為影響因素,使用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行預(yù)測(cè);文獻(xiàn)[8]結(jié)合調(diào)度經(jīng)驗(yàn),對(duì)神經(jīng)網(wǎng)絡(luò)算法進(jìn)行優(yōu)化,最終建立了智能調(diào)度模型;文獻(xiàn)[9]建立了基于小波神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型,改進(jìn)了神經(jīng)網(wǎng)絡(luò)易引起振蕩效應(yīng)的缺點(diǎn),并采用粒子群算法進(jìn)行優(yōu)化,有效避免了其陷入局部最優(yōu)。
第三種是基于動(dòng)態(tài)的預(yù)測(cè)模型。文獻(xiàn)[10]利用SVM從歷史數(shù)據(jù)中預(yù)測(cè)的時(shí)間作為矩陣輸入Kalman濾波器,利用“更新方程”將最新的觀測(cè)值加入到預(yù)測(cè)向量中,有效地提高了預(yù)測(cè)精度。但由于公交車到站時(shí)間是具有長(zhǎng)期和短期特性的時(shí)間序列數(shù)據(jù),因此文獻(xiàn)[11]利用具有長(zhǎng)短記憶遞歸神經(jīng)網(wǎng)絡(luò)LSTM作為靜態(tài)預(yù)測(cè)模型,然后利用Kalman濾波作為動(dòng)態(tài)模型對(duì)預(yù)測(cè)結(jié)果進(jìn)行調(diào)整。
上述研究都是對(duì)公交車到站時(shí)間的精準(zhǔn)預(yù)測(cè),但由于客流量、車本身性能、交通擁堵等因素的影響,增加了公交車到站時(shí)間的不確定性。面對(duì)各種突發(fā)情況,市民選擇公交出行時(shí),對(duì)公交到站時(shí)間的區(qū)間估計(jì)尤為關(guān)注,因此有必要對(duì)預(yù)測(cè)值的置信區(qū)間進(jìn)行研究。高斯過(guò)程回歸(Gaussian processes regression,GPR)是一種基于統(tǒng)計(jì)學(xué)習(xí)理論和貝葉斯理論的非參數(shù)[12]機(jī)器學(xué)習(xí)方法,文中探索性地建立了基于GPR的公交車到站時(shí)間預(yù)測(cè)模型(GPR bus arrival time prediction,GPR-BATP),在對(duì)公交車到站時(shí)間進(jìn)行精準(zhǔn)預(yù)測(cè)的同時(shí),得到預(yù)測(cè)值的方差估計(jì)值,然后由預(yù)測(cè)值減去標(biāo)準(zhǔn)差作為下限,預(yù)測(cè)值加上標(biāo)準(zhǔn)差作為上限,來(lái)確定預(yù)測(cè)值95%置信區(qū)間,實(shí)現(xiàn)對(duì)到站時(shí)間概率意義上的預(yù)測(cè)。
高斯過(guò)程(Gaussian processes,GP)是一個(gè)正態(tài)的隨機(jī)過(guò)程,其任意維有限變量的聯(lián)合分布服從高斯分布。
對(duì)于任意有限個(gè)x,即x1,x2,…,xn∈N,其相對(duì)應(yīng)的有限個(gè)隨機(jī)變量(f(x1),f(x2),…,f(xn))T均服從式1所示的概率分布,那么F=(f(x1),f(x2),…,f(xn))T為GP,則可記作F~GP(m(·),k(·,·))。
(1)
其中,F(xiàn)為聯(lián)合正態(tài)分布;m(·)=(m(x1),m(x2),…,m(xn))T表示均值向量,m(x)=E(x)表示均值函數(shù);k(·,·)=(k(x,x'))n*n表示協(xié)方差矩陣。
將高斯過(guò)程應(yīng)用于回歸問(wèn)題進(jìn)行建模時(shí),考慮到目標(biāo)值y含有噪聲[13],即定義為:
y=f(x)+ε
(2)
GPR的關(guān)鍵假設(shè)是所有輸入的觀測(cè)值Y以及預(yù)測(cè)值y*都服從聯(lián)合正態(tài)分布,即給定訓(xùn)練集Train={(xi,yi)},i=1,2,…,n,Y=(y1,y2,…,yn)T服從的先驗(yàn)分布為:
(3)
其中,·=(x1,x2,…,xn)T;In為n×n階單位矩陣。
如果給定測(cè)試集Test=(x*,y*),那么:
(4)
其中,k(·,·)為訓(xùn)練集X之間的n×n階對(duì)稱的正定協(xié)方差矩陣;K*=K(X,x*)為訓(xùn)練集輸入X與測(cè)試集x*的n×1階的協(xié)方差矩陣;K**=k(x*,x*)為測(cè)試點(diǎn)x*自身的協(xié)方差。
接下來(lái),依據(jù)貝葉斯方法和聯(lián)合正態(tài)分布理論,可求得預(yù)測(cè)值的后驗(yàn)分布為:
y*|X,Y,x*~N(μ(x*),var(x*))
(5)
其中
(6)
(7)
其中,μ(x*)為觀測(cè)點(diǎn)x*的預(yù)測(cè)均值;var(x*)為對(duì)應(yīng)的方差。
文中選擇平方指數(shù)協(xié)方差函數(shù)(squared exponential covariance function,SE)(見(jiàn)式8)作為GPR的核函數(shù)。
(8)
根據(jù)貝葉斯理論和最大后驗(yàn)概率估計(jì)原理,轉(zhuǎn)化為求訓(xùn)練樣本條件概率的對(duì)數(shù)似然函數(shù)L(θ),即:
L(θ)=log(p(Y|X,θ))=
(9)
上式對(duì)θ求偏導(dǎo),可得:
(10)
則可得超參數(shù)集合θ。為了泛化,將均值設(shè)為0;γ=k(·,·)-1Y。
根據(jù)式10求得的偏導(dǎo)數(shù),采用共軛梯度法或牛頓法(文獻(xiàn)[14]中有詳細(xì)論述)求得式9的最大似然函數(shù)和最優(yōu)超參數(shù)θ。在進(jìn)行預(yù)測(cè)時(shí),根據(jù)得到的GPR模型,利用式6和式7式即可得到預(yù)測(cè)點(diǎn)的預(yù)測(cè)均值和方差估計(jì)值。
數(shù)據(jù)來(lái)源于2017年10月1日至10月24日天津市公交車的GPS記錄。每條記錄包含線路ID、車輛ID等。數(shù)據(jù)示例如表1所示。
表1 GPS數(shù)據(jù)示例
文中選擇從10月9日至10月20日之間工作日的902線路公交車的26 377條GPS記錄為訓(xùn)練集,選擇10月24日的999條GPS記錄作為測(cè)試集。僅對(duì)工作日進(jìn)行討論。
2.2.1 軌跡數(shù)據(jù)預(yù)處理
GPS設(shè)備在采集數(shù)據(jù)過(guò)程中易受建筑物遮擋、設(shè)備故障等因素的影響,使得采集設(shè)備在部分時(shí)段缺乏位置信息,導(dǎo)致采集的數(shù)據(jù)存在丟失、異常等問(wèn)題[15]。此時(shí),若利用有異常的軌跡數(shù)據(jù)進(jìn)行預(yù)測(cè),會(huì)對(duì)預(yù)測(cè)的精度造成重大影響。為了降低噪聲數(shù)據(jù)對(duì)預(yù)測(cè)模型性能的影響,首先使用閾值過(guò)濾法清洗數(shù)據(jù);再判斷數(shù)據(jù)是否存在缺失或異常;最后利用前后相鄰軌跡點(diǎn)經(jīng)緯度的平均值對(duì)缺失或異常數(shù)據(jù)進(jìn)行修正。
2.2.2 數(shù)據(jù)整合
整合過(guò)程為:根據(jù)某條記錄的下站編號(hào)與前一條記錄的下站編號(hào)不同,與下一條記錄的下站編號(hào)相同,判斷此記錄是否為??空?,是則標(biāo)記為1,否則,標(biāo)記為0。然后根據(jù)某條記錄的下站編號(hào)和是否為??空军c(diǎn)來(lái)填充此條記錄的下站站點(diǎn)的經(jīng)緯度以及下站站點(diǎn)的時(shí)間戳。
整合之后,原始數(shù)據(jù)增加四列:是否為??空军c(diǎn)、下站站點(diǎn)的經(jīng)緯度以及下站站點(diǎn)的時(shí)間戳。
2.3.1 路段距離
構(gòu)造路段距離特征,計(jì)算方法為:
(11)
其中,lon1,lat1,lon2,lat2分別為當(dāng)前記錄和下一站站點(diǎn)的經(jīng)緯度弧度數(shù)據(jù);6 371表示地球半徑(單位km)。
2.3.2 路段行程時(shí)間
根據(jù)整合后的數(shù)據(jù),由當(dāng)前時(shí)間戳和下一站站點(diǎn)的時(shí)間戳,求得當(dāng)前位置到達(dá)下一站點(diǎn)的行程時(shí)間。
以行車路段的距離、路口數(shù)兩個(gè)影響因素為例進(jìn)行討論。
2.4.1 路段距離
將兩個(gè)相鄰的站點(diǎn)定義為一個(gè)行程區(qū)間,902線路的24個(gè)區(qū)間的各區(qū)間距離以及各區(qū)間行程時(shí)間如圖1所示。
可以看出,行程區(qū)間距離的長(zhǎng)短與行程時(shí)間的大小大致成正比關(guān)系,因此,根據(jù)行車距離預(yù)測(cè)行車時(shí)間具有實(shí)用價(jià)值。
圖1 區(qū)間距離與區(qū)間行駛時(shí)間對(duì)比
2.4.2 交通路口數(shù)
統(tǒng)計(jì)經(jīng)過(guò)不同路口數(shù)時(shí)所需的行駛時(shí)間,如圖2所示。
圖2 不同距離不同交通路口數(shù)的行駛時(shí)間
結(jié)果顯示公交車的平均行駛時(shí)間會(huì)隨路口數(shù)及行駛距離的增加而增加。
GPR-BATP如下:
Yi+1=f(Xi)+ε
(12)
其中,Yi+1表示公交車到站時(shí)間的預(yù)測(cè)值;Xi表示與Yi+1相關(guān)的影響因子,f(·)為預(yù)測(cè)模型;ε為車本身性能、交通事故等未統(tǒng)計(jì)噪聲。
按照上述方法,通過(guò)原始數(shù)據(jù)集訓(xùn)練基于GPR的路段行程時(shí)間預(yù)測(cè)方法如下所述:
輸入:原始數(shù)據(jù)集;
輸出:GPR預(yù)測(cè)模型。
Step1:對(duì)原始數(shù)據(jù)集按照2.2和2.3小節(jié)的方法進(jìn)行處理,得到訓(xùn)練集Train。
Step2:
Step2.2:基于訓(xùn)練集根據(jù)1.2小節(jié)的方法,按照式9、式10計(jì)算協(xié)方差函數(shù)的最佳超參數(shù)集合θ。
Step3:確定協(xié)方差函數(shù)k(x,x')。
Step4:得到GPR-BATP。
對(duì)于預(yù)測(cè)的數(shù)據(jù)集,處理方法同原始數(shù)據(jù)集,得到測(cè)試集Test。然后根據(jù)得到的GPR模型,對(duì)Test特征向量X進(jìn)行預(yù)測(cè)。預(yù)測(cè)過(guò)程如下所述:
輸入:待預(yù)測(cè)的數(shù)據(jù)集;
輸出:公交車到達(dá)待預(yù)測(cè)站點(diǎn)的精準(zhǔn)時(shí)刻T,預(yù)測(cè)值95%的置信區(qū)間[T-std,T+std],MAPE,RMSE,MAE。
Step1:對(duì)待預(yù)測(cè)的數(shù)據(jù)集按照2.2、2.3小節(jié)的方法進(jìn)行處理,得到訓(xùn)練集Test。
Step2:
while:
計(jì)算預(yù)測(cè)值μ(x*),var(x*)
end while
Step3:根據(jù)ypre和y計(jì)算得到MAPE,RMSE,MAE。
分別采用GPR-BATP和SVM對(duì)902線路公交車24個(gè)運(yùn)行區(qū)間的行程時(shí)間進(jìn)行預(yù)測(cè),結(jié)果如圖3所示。
圖3 GPR、SVM到站時(shí)間預(yù)測(cè)結(jié)果
算法質(zhì)量的衡量標(biāo)準(zhǔn)采用平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE)、標(biāo)準(zhǔn)誤差(root mean square error,RMSE)、平均絕對(duì)誤差(mean absolute error,MAE):
(13)
(14)
(15)
其中,m為數(shù)據(jù)樣本集的樣本數(shù)量;y_pre為預(yù)測(cè)值;y_true為真實(shí)值。
分別采用GPR和SVM公交車到站時(shí)間預(yù)測(cè)方法獲得的預(yù)測(cè)性能指標(biāo)如表2所示。
表2 兩種方法的預(yù)測(cè)性能指標(biāo)
可見(jiàn),無(wú)論是MAPE、RMSE還是MAE,GPR模型可以獲得與SVM相近的預(yù)測(cè)性能。相對(duì)于SVM,GPR-BATP具有如下優(yōu)勢(shì)[16]:
(1)最優(yōu)超參數(shù)求取過(guò)程的系統(tǒng)化。SVM中參數(shù)求取只能通過(guò)交叉驗(yàn)證進(jìn)行,而GPR預(yù)測(cè)模型利用貝葉斯理論通過(guò)最大后驗(yàn)似然估計(jì)方法來(lái)求取最優(yōu)超參數(shù)集合。
(2)可以得到預(yù)測(cè)結(jié)果的誤差帶。在實(shí)現(xiàn)精準(zhǔn)預(yù)測(cè)的同時(shí),能夠確定預(yù)測(cè)結(jié)果的置信區(qū)間,因此可以有效地對(duì)預(yù)測(cè)值的可信度進(jìn)行把握。
文中提出一種基于GPR的公交車到站時(shí)間預(yù)測(cè)方法。實(shí)驗(yàn)結(jié)果表明,該方法不僅與SVM方法具有相近的預(yù)測(cè)精度,還能確定預(yù)測(cè)結(jié)果的95%置信區(qū)間,從而可以從概率意義上對(duì)到站時(shí)間實(shí)現(xiàn)準(zhǔn)確預(yù)測(cè),具有較高的實(shí)用價(jià)值和理論參考意義。
相對(duì)于SVM方法,該方法需要對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行歸一化處理,這會(huì)影響實(shí)際預(yù)測(cè)過(guò)程的實(shí)時(shí)性。因此,如何提高GPR法的計(jì)算效率將是下一步的研究重點(diǎn)。另外,市民的出行規(guī)律(分為高峰期、平峰期、低峰期),也是影響到站時(shí)間的要素,也需要進(jìn)一步研究。