宋現(xiàn)敏,劉明鑫,馬 林,夏英集
(吉林大學(xué)交通學(xué)院,長(zhǎng)春130022)
公交行程時(shí)間是實(shí)現(xiàn)公交智能調(diào)度、控制的重要參數(shù),精準(zhǔn)、實(shí)時(shí)的公交行程時(shí)間預(yù)測(cè)是實(shí)現(xiàn)智能公交信息服務(wù)的關(guān)鍵[1-2].因此,公交行程時(shí)間的預(yù)測(cè)方法受到了國(guó)內(nèi)外學(xué)者越來越多的關(guān)注,他們主要從理論模型和機(jī)器學(xué)習(xí)兩種方法來進(jìn)行探究.
孫喜梅和楊兆升[3]把公交行程時(shí)間分為4個(gè)部分,利用隨機(jī)服務(wù)系統(tǒng)理論,給出了在車輛到達(dá)服從泊松分布下的實(shí)時(shí)動(dòng)態(tài)公交行程時(shí)間預(yù)測(cè)模型;Patnaik等[4]和楊曉光等[5]分析影響公交車行駛的多種因素,在大量實(shí)測(cè)數(shù)據(jù)基礎(chǔ)上運(yùn)用多元回歸方法預(yù)測(cè)行程時(shí)間;Zhou等[6]基于智能公交IC卡數(shù)據(jù),考慮乘客刷卡時(shí)間分布、占有率和座位容量等因素,基于頻率分布和多元回歸構(gòu)建預(yù)測(cè)模型;Shalaby等[7]結(jié)合自動(dòng)車輛定位系統(tǒng)和自動(dòng)乘客計(jì)數(shù)系統(tǒng),構(gòu)建了基于卡爾曼濾波的動(dòng)態(tài)預(yù)測(cè)模型;BA Kumar等[8]基于公交GPS數(shù)據(jù),通過靈敏度分析確定卡爾曼濾波模型參數(shù)從而建立行程時(shí)間預(yù)測(cè)模型.上述預(yù)測(cè)模型中,回歸模型預(yù)測(cè)精度較低,卡爾曼濾波模型預(yù)測(cè)精度較高,但對(duì)異常觀測(cè)值抗干擾性比較差.
Chien等[9]建立人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)模型預(yù)測(cè)公交車到達(dá)時(shí)間,通過設(shè)置調(diào)整因子,不斷輸入新的實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)預(yù)測(cè)行程時(shí)間;Reddy等[10]利用支持向量機(jī)(Support Vector Machine,SVM)建立了基于GPS數(shù)據(jù)的SVM預(yù)測(cè)模型,在高方差條件下具有較高的預(yù)測(cè)精度;于濱等[11]采用時(shí)間段等5個(gè)影響因素通過支持向量機(jī)預(yù)測(cè)公交車行程時(shí)間,并應(yīng)用大連市開發(fā)區(qū)公交車數(shù)據(jù)對(duì)其進(jìn)行驗(yàn)證;Lin等[12]利用公交GPS和IC卡數(shù)據(jù),對(duì)比分析了人工神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波兩種方法,結(jié)果表明前者預(yù)測(cè)精度均優(yōu)于后者;Yu等[13]分別對(duì)支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)、K最近鄰算法((k-Nearest Neighbor,KNN)和線性回歸(Linear Regression,LR)4種預(yù)測(cè)方法進(jìn)行比較,系統(tǒng)的評(píng)價(jià)了幾種方法的優(yōu)劣之處.
綜上,上述預(yù)測(cè)模型的精度較高,且具有良好的學(xué)習(xí)能力,能夠較好地跟蹤擬合非線性、非平穩(wěn)時(shí)間序列數(shù)據(jù),但是傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度較慢,且容易陷入局部最優(yōu)解,而支持向量機(jī)只有在小樣本條件下效率較高.因此,本文建立了基于極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)的公交行程時(shí)間預(yù)測(cè)模型,并與BP神經(jīng)網(wǎng)絡(luò)、SVM方法和徑向基神經(jīng)網(wǎng)絡(luò)(Radial Basis Function Network,RBF)方法進(jìn)行對(duì)比分析.
理論上,當(dāng)公交車的經(jīng)緯度和站點(diǎn)的經(jīng)緯度重合且速度為零時(shí),認(rèn)為公交車在站點(diǎn)停車.但實(shí)際上由于GPS設(shè)備誤差、公交車站定位誤差等影響,上述情況幾乎不會(huì)出現(xiàn).同時(shí)由于公交車GPS設(shè)備記錄有時(shí)間間隔,所以當(dāng)公交車行駛在??空靖浇鼤r(shí),其GPS記錄點(diǎn)與站點(diǎn)之間的空間距離由大變小再變大,兩者之間會(huì)存在一個(gè)最小臨界距離,因此本文把擁有最小臨界距離的GPS記錄點(diǎn)定義為臨界點(diǎn).但是當(dāng)車輛發(fā)生排隊(duì)時(shí)最小臨界距離會(huì)連續(xù)出現(xiàn)多個(gè),此時(shí)選擇第1個(gè)出現(xiàn)的GPS記錄點(diǎn)作為臨界點(diǎn).與此同時(shí),公交車在站點(diǎn)附近行駛過程如圖1所示,包括勻速行駛、減速進(jìn)站、停車、加速離站和勻速行駛5個(gè)階段,臨界點(diǎn)也存在5種情況,分別為:①臨界點(diǎn)在站點(diǎn)前,勻速行駛;②臨界點(diǎn)在站點(diǎn)前,減速進(jìn)站;③臨界點(diǎn)在站點(diǎn)中,速度為零;④臨界點(diǎn)在站點(diǎn)后,加速離站;⑤臨界點(diǎn)在站點(diǎn)后,勻速行駛.
圖1 公交車在站點(diǎn)附近運(yùn)行狀態(tài)圖Fig.1 State chart of bus running near the site
假設(shè)在T2時(shí)刻出現(xiàn)臨界點(diǎn),把(T2-Δt)及(T2+Δt)這兩個(gè)時(shí)刻分別定義為T1和T3,其中Δt為GPS數(shù)據(jù)記錄時(shí)間間隔,通常為10 s、20 s、30 s和60 s等,本文為30 s.計(jì)算公交車與站點(diǎn)之間的距離d的函數(shù)為
式中:r是地球半徑(6 378.1km);φ1和φ2是點(diǎn)1和點(diǎn)2的緯度;λ1和λ2是點(diǎn)1和點(diǎn)2的經(jīng)度;haversin為半正矢函數(shù),haversin(θ)=(1-cosθ)/2.
(1)臨界點(diǎn)在站點(diǎn)前,如圖2(a)所示.
情況1 公交車處于勻速行駛階段,此時(shí)v2≥v12.公交車停車時(shí)刻Ts計(jì)算公式為
式中:T2為公交車在數(shù)據(jù)點(diǎn)2記錄的時(shí)刻;d2為公交車在數(shù)據(jù)點(diǎn)2時(shí)與公交車站的距離(m);v23為公交車在路段d23上的路段平均速度(m/s),v23=d23/Δt,其中,Δt為GPS記錄間隔(s),d23為數(shù)據(jù)點(diǎn)2和數(shù)據(jù)點(diǎn)3之間的距離(m),d23=d2+d3,d3為公交車在數(shù)據(jù)點(diǎn)3時(shí)與公交車站的距離(m);v2為公交車在數(shù)據(jù)點(diǎn)2的速度(m/s);v12為公交車在數(shù)據(jù)點(diǎn)1和2之間的平均速度(m/s),v12=d12/Δt,d12為數(shù)據(jù)點(diǎn)1和數(shù)據(jù)點(diǎn)2之間的距離(m),d12=d2-d1,d1為公交車在數(shù)據(jù)點(diǎn)1時(shí)與公交車站的距離(m).
圖2 公交車與站點(diǎn)空間位置圖Fig.2 Distance chart between bus and stop
情況2 公交車處于減速進(jìn)站過程,此時(shí)v2≤v12,因此,Ts計(jì)算公式為
(2)臨界點(diǎn)在站點(diǎn)中.
情況3 公交車在站點(diǎn)中,此時(shí)v2=0,因此Ts=T2.
(3)臨界點(diǎn)在站點(diǎn)后,如圖2(b)所示.
情況4 公交車處于加速離站過程,此時(shí)v2≤v23,Ts計(jì)算公式為
情況5 公交車進(jìn)入到勻速行駛階段,此時(shí)v2≥v23,Ts計(jì)算公式為
通過對(duì)實(shí)測(cè)數(shù)據(jù)的情況分析,用Matlab軟件編程估計(jì)了公交車在站點(diǎn)的停車時(shí)刻與站點(diǎn)間行程時(shí)間.
近年來,極限學(xué)習(xí)機(jī)算法(ELM)以其學(xué)習(xí)速度快,泛化性能好等優(yōu)點(diǎn),引起了國(guó)內(nèi)外許多專家和學(xué)者的研究關(guān)注.ELM是一種有效的單隱層前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,由南洋理工大學(xué)黃廣斌教授發(fā)表文章提出[14].傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)是通過梯度下降法,利用反向傳播的方式進(jìn)行學(xué)習(xí),需要不斷地進(jìn)行迭代來更新權(quán)重和閾值,與其相比,極限學(xué)習(xí)機(jī)提出了一個(gè)大膽的假設(shè):從輸入層到隱含層的權(quán)重不需要進(jìn)行迭代優(yōu)化,隨機(jī)賦值即可,并在其論文中給出了嚴(yán)格的數(shù)學(xué)證明,在保證精度的前提下具有更快的學(xué)習(xí)速度.它的三層網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
圖3 極限學(xué)習(xí)機(jī)算法(ELM)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 ELM algorithm network structure
如圖3所示,輸入層有n個(gè)輸入變量,分別為(x1,x2,…,xn),對(duì)應(yīng)影響公交行程時(shí)間的因素;隱含層有l(wèi)個(gè)神經(jīng)元;輸出層為y,即公交行程時(shí)間;Wij是輸入層第i個(gè)神經(jīng)元與隱含層第j個(gè)神經(jīng)元之間的輸入權(quán)重;bj是隱含層第j個(gè)神經(jīng)元的偏置;βj是隱含層第j個(gè)神經(jīng)元與輸出層神經(jīng)元之間的輸出權(quán)重.以下為ELM算法基本步驟:
Step1 輸入訓(xùn)練集輸入數(shù)據(jù)(x1,x2,…,xn),即公交行程時(shí)間影響因素.
Step2 隨機(jī)確定輸入權(quán)重矩陣Wij及偏置向量bj.
Step3 確定隱含層神經(jīng)元個(gè)數(shù)l與激活函數(shù)g(x),其中激活函數(shù)g(x)理論上一般為sig函數(shù)、sin函數(shù)、hardlim函數(shù)等.
Step4 通過,計(jì)算得到隱含層輸出矩陣H.
Step5 根據(jù)訓(xùn)練集輸出數(shù)據(jù)y,即實(shí)際公交行程時(shí)間,通過=H+Y計(jì)算得到最優(yōu)輸出權(quán)值矩陣βj.
經(jīng)過訓(xùn)練集訓(xùn)練得到最優(yōu)輸出權(quán)值矩陣βj之后,通過式(6)即可求得輸出變量即公交行程時(shí)間預(yù)測(cè)值y.
路段上的公交車GPS數(shù)據(jù)中涵蓋了公交車行駛的內(nèi)在特征,數(shù)據(jù)特征的分析對(duì)行程時(shí)間的預(yù)測(cè)精度有重要影響,經(jīng)過統(tǒng)計(jì)分析可以發(fā)現(xiàn)1天之內(nèi)不同時(shí)間公交車行程時(shí)間的時(shí)變特征和1周內(nèi)不同日期公交行程時(shí)間的變化特征.
圖4為公交車行程時(shí)間散點(diǎn)圖,數(shù)據(jù)樣本全部來自長(zhǎng)春市88路公交車首末站點(diǎn)區(qū)間行程時(shí)間數(shù)據(jù).從圖4可以清晰地反映出公交車行程時(shí)間在1天之內(nèi)存在早高峰和晚高峰,因此本文把其分成5個(gè)時(shí)段:早平峰(5:30-7:00),早高峰(7:00-9:30),午平峰(9:30-17:00),晚高峰(17:00-19:00)和晚平峰(19:00-21:00).
通過運(yùn)用皮爾遜相關(guān)系數(shù)分析公交車行程時(shí)間數(shù)據(jù)組中數(shù)據(jù)之間的相關(guān)關(guān)系的強(qiáng)弱,來反映行程時(shí)間在工作日和休息日特征上的不同.計(jì)算皮爾遜相關(guān)系數(shù)的前提是樣本服從正態(tài)分布,所以本文先對(duì)樣本進(jìn)行正態(tài)性檢驗(yàn).如圖5所示,在Shapiro-Wilk正態(tài)性檢驗(yàn)中,樣本的顯著性水平滿足要求,證明本文所選樣本服從正態(tài)分布.
本文根據(jù)相關(guān)系數(shù)大小對(duì)預(yù)測(cè)重要度進(jìn)行了排序,選取重要度排在前10名的進(jìn)行統(tǒng)計(jì)分析,結(jié)果如圖6和圖7所示.
(1)對(duì)于星期一~星期五,公交車行程時(shí)間影響程度的前10位都是工作日的數(shù)據(jù);對(duì)星期六而言,前10位中休息日的數(shù)量也要比工作日多.
(2)雖然對(duì)于星期日,前10位中休息日的數(shù)量要比工作日少,但是對(duì)前10名平均相關(guān)性分析可以發(fā)現(xiàn),星期六、星期日數(shù)據(jù)與休息日平均相關(guān)性明顯高于工作日.
因此,本文在預(yù)測(cè)工作日的公交行程時(shí)間時(shí)選擇工作日的行程時(shí)間數(shù)據(jù)作為模型輸入,反之亦然.與此同時(shí),為了對(duì)結(jié)論進(jìn)行進(jìn)一步驗(yàn)證,同時(shí)分析了另外兩個(gè)區(qū)間“繁榮路—希望高中”“希望高中—東四馬路”的行程時(shí)間數(shù)據(jù)的特征,得到的結(jié)果與上述結(jié)論相似,因此本文在此不做過多贅述.
圖4 公交行程時(shí)間1天內(nèi)變化圖Fig.4 The change of bus travel time in one day
圖5 樣本數(shù)據(jù)的Shapiro-Wilk檢驗(yàn)Fig.5 Shapiro-Wilk test of sample data
圖6 影響公交行程時(shí)間的數(shù)據(jù)特性分析Fig.6 Data characteristic affecting bus travel time
圖7 影響公交行程時(shí)間的數(shù)據(jù)相關(guān)系數(shù)Fig.7 Data correlation coefficient affecting bus travel time
本文選取長(zhǎng)春市88路車隊(duì)10月份約100萬條公交車GPS數(shù)據(jù)作為實(shí)例進(jìn)行公交行程時(shí)間預(yù)測(cè)方法驗(yàn)證.選取前3周的公交行程時(shí)間數(shù)據(jù)為訓(xùn)練集.
在極限學(xué)習(xí)機(jī)算法中,我們需要確定兩個(gè)輸入?yún)?shù)的維度,分別為歷史行程時(shí)間的天數(shù)n和影響當(dāng)前預(yù)測(cè)車輛的公交車輛數(shù)量m.本文采用均方根誤差(Root Mean Square Error,RMSE)指標(biāo)來決定參數(shù)緯度,如式(7)所示.n和m參數(shù)選擇流程如圖8所示.
式中:y為觀測(cè)值(min);y′為模型預(yù)測(cè)值(min);N為樣本個(gè)數(shù).
根據(jù)已有文獻(xiàn)研究[8],為了能夠滿足反映行程時(shí)間時(shí)空規(guī)律和當(dāng)前路段交通狀態(tài)的要求,本文把n的上限設(shè)定為14天,m的上限設(shè)為20輛.根據(jù)圖8參數(shù)獲取流程,分別獲取了不同緯度下預(yù)測(cè)結(jié)果的RMSE,如圖9所示.結(jié)果顯示:針對(duì)每一個(gè)預(yù)測(cè)對(duì)象(星期一~星期日)預(yù)測(cè)誤差在總體上總是先隨著輸入歷史行程時(shí)間天數(shù)的增加而降低,開始時(shí)降低的幅度比較大,但是當(dāng)天數(shù)到達(dá)6天之后降低的速度開始變慢,甚至再繼續(xù)增加天數(shù)會(huì)后出現(xiàn)了一定的波動(dòng)現(xiàn)象,所以,為了不造成數(shù)據(jù)冗余,拖慢預(yù)測(cè)速度,同時(shí)又保證預(yù)測(cè)精度,本文選擇n為6天.同理對(duì)m進(jìn)行了分析,從圖10中發(fā)現(xiàn),公交車數(shù)量為6輛時(shí)最為合適,因此m為6.
圖8 極限學(xué)習(xí)算法中參數(shù)選擇流程Fig.8 Parameter selection process in ELM
圖9 不同天數(shù)的輸入對(duì)預(yù)測(cè)結(jié)果的影響分析Fig.9 Influence of different number of day on predicting bus travel time
圖10 不同公交車的數(shù)輸入對(duì)預(yù)測(cè)結(jié)果的影響分析Fig.10 Influence of different number of bus on predicting bus travel time
本文應(yīng)用極限學(xué)習(xí)機(jī)模型對(duì)長(zhǎng)春市88路公交車在“繁榮路—東四馬路”全天行程時(shí)間的預(yù)測(cè)結(jié)果如圖11所示.從圖11中可以看出,預(yù)測(cè)值及其變化趨勢(shì)近似符合真實(shí)值.為了進(jìn)一步驗(yàn)證本文提出的ELM預(yù)測(cè)方法的有效性和優(yōu)越性,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)、SVM和RBF神經(jīng)網(wǎng)絡(luò),選取學(xué)習(xí)速度、預(yù)測(cè)誤差和模型可靠性3個(gè)指標(biāo)詳細(xì)比較4種方法的優(yōu)劣.
圖11 “繁榮路—東四馬路”ELM預(yù)測(cè)結(jié)果Fig.11 Results of ELM from Fanronglu station to Dongsimalu station
單純的平均絕對(duì)誤差(MAE)和均方根誤差(RMSE)只能反映出預(yù)測(cè)值與實(shí)際值之間的偏差值的大小程度,而不能與實(shí)際值聯(lián)系起來.所以,本文引用MAE與平均公交行程時(shí)間的比值(本文用AMAE代表)和RMSE與平均公交行程時(shí)間的比值(本文用ARMSE代表)來判斷預(yù)測(cè)誤差的大小,如式(8)和式(9)所示.
式中:T為平均行程時(shí)間(min).
AMAE和ARMSE兩值越小代表預(yù)測(cè)值跟實(shí)際值的誤差百分比越小,越接近真實(shí)值.同時(shí),本文選取偏差值95%置信水平下的置信區(qū)間間隔大小和位置來判定預(yù)測(cè)模型可靠性.95%置信水平下的置信區(qū)間間隔大小代表偏差大小波動(dòng)范圍,間隔越小說明波動(dòng)范圍越小,模型可靠性越高.位置越接近零、越靠近X軸代表誤差越小,反之誤差越大.而學(xué)習(xí)速度方面采用訓(xùn)練時(shí)間評(píng)價(jià),時(shí)間越少,速度越快“.繁榮路—東四馬路”行程時(shí)間的預(yù)測(cè)實(shí)驗(yàn)對(duì)比分析如圖12所示.
從圖12中可以看出:
(1)預(yù)測(cè)誤差方面,ELM、RBF和SVM這3種模型在工作日與休息日的ARMSE值與AMAE值相差不大,約為11%,而BP神經(jīng)網(wǎng)絡(luò)的兩種誤差分別為25%、15%.表明ELM模型與其他經(jīng)典模型相比,保證了預(yù)測(cè)精度,具有較好的實(shí)際應(yīng)用價(jià)值.
(2)可靠性方面,ELM與SVM的置信區(qū)間間隔都要比BP和RBF小,說明偏差值波動(dòng)范圍小,模型更為可靠;與此同時(shí)ELM與SVM的置信區(qū)間的位置要更為貼近X軸,說明預(yù)測(cè)值與真實(shí)值更為接近.
(3)學(xué)習(xí)速度方面,BP、SVM、RBF和ELM的模型訓(xùn)練時(shí)間分別為619 s、2 775 s、816 s和139 s.其中ELM方法所花費(fèi)的時(shí)間遠(yuǎn)遠(yuǎn)小于其他方法.
綜上,實(shí)驗(yàn)結(jié)果表明,ELM方法在保證了預(yù)測(cè)精度的同時(shí)擁有更快的預(yù)測(cè)速度和模型可靠性.
圖12 4種行程時(shí)間預(yù)測(cè)方法的評(píng)價(jià)分析Fig.12 Evaluation of four travel time prediction method
本文以長(zhǎng)春市88路公交車GPS數(shù)據(jù)為基礎(chǔ)采用極限學(xué)習(xí)機(jī)方法對(duì)站點(diǎn)間行程時(shí)間進(jìn)行預(yù)測(cè).根據(jù)公交車GPS記錄臨界點(diǎn)所處行駛階段的不同估計(jì)公交車到站時(shí)刻、獲取站點(diǎn)間行程時(shí)間;與此同時(shí),分析路段上行程時(shí)間數(shù)據(jù)特征,確定極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入?yún)?shù);最后對(duì)BP、ELM、RBF和SVM方法的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比分析.結(jié)果表明,本文所用ELM方法在滿足精確度前提下?lián)碛懈煊?xùn)練速度與預(yù)測(cè)可靠性,說明此方法在在線預(yù)測(cè)、實(shí)時(shí)預(yù)測(cè)上具有較高的實(shí)用價(jià)值,對(duì)于我國(guó)城市公交車輛行程時(shí)間的預(yù)測(cè)及先進(jìn)的公共交通系統(tǒng)的實(shí)施具有一定的實(shí)用價(jià)值.