羅建平,陳 歡,楊森彬,張燕忠
(1.廣東省城市智能交通物聯(lián)網(wǎng)工程技術(shù)研究中心,廣州 510663;2.廣州交信投科技股份有限公司,廣州 510663)
實(shí)時(shí)公交到站預(yù)測(cè)是城市公交排班調(diào)度的重要依據(jù),也是影響乘客出行體驗(yàn)的重要因素,具有重要的社會(huì)意義和價(jià)值。如果公交車(chē)輛到站預(yù)測(cè)時(shí)間不準(zhǔn),將可能產(chǎn)生公交車(chē)輛調(diào)度斷位、發(fā)班不均勻等問(wèn)題[1-3],進(jìn)而影響乘客出行服務(wù)體驗(yàn)。
國(guó)內(nèi)外相關(guān)領(lǐng)域的專(zhuān)家和學(xué)者在公交到站時(shí)間預(yù)測(cè)方面做了諸多研究。Tirachini[4]等考慮了城市不同區(qū)域道路環(huán)境對(duì)公交車(chē)行程時(shí)間的影響,采用多元線性回歸模型對(duì)公交到站時(shí)間進(jìn)行了預(yù)測(cè);Huang[5]等基于貝葉斯模型預(yù)測(cè)短期公交出行時(shí)間;霍豪[6]等慮上下游車(chē)站的距離、信號(hào)燈數(shù)和彎道數(shù),基于KNN算法提高到站時(shí)間預(yù)測(cè)的準(zhǔn)確性和穩(wěn)定性;童小龍[7]等采用改進(jìn)的時(shí)間序列法進(jìn)行公交車(chē)輛站間行程時(shí)間預(yù)測(cè),增強(qiáng)對(duì)于突發(fā)事件的反應(yīng)能力;賴(lài)永炫[8]等采用時(shí)空相關(guān)屬性模型進(jìn)行公交到站預(yù)測(cè),模型準(zhǔn)確率為80.23%;李鵬程[9]等考慮公交到站前2~3站的信息,用兩層LSTM模型對(duì)公交到站時(shí)間進(jìn)行預(yù)測(cè);瑪爾然[10]建立公交車(chē)在路段上的運(yùn)行時(shí)間、站點(diǎn)停靠時(shí)間、交叉口延誤時(shí)間的時(shí)間模型,采用卡爾曼濾波遞推方程預(yù)測(cè)公交到站時(shí)間,模型的準(zhǔn)確率可達(dá)到90%以上。
現(xiàn)有關(guān)于公交到站時(shí)間預(yù)測(cè)的研究普遍存在準(zhǔn)確性和穩(wěn)定性不高的問(wèn)題。由于城市公交出行呈現(xiàn)明顯的早晚高峰現(xiàn)象,本文提出了一種基于LightGBM-LSTM的公交到站時(shí)間預(yù)測(cè)方法,考慮了影響公交到站時(shí)間的重要因素,如車(chē)輛實(shí)時(shí)位置、時(shí)間特征、高平峰狀態(tài)等。首先采用LSTM算法對(duì)高平峰狀態(tài)進(jìn)行有效識(shí)別;然后采用LightGBM算法進(jìn)行公交到站時(shí)間預(yù)測(cè),并給出了模型的評(píng)價(jià)指標(biāo);最后以廣州市某典型公交線路為例進(jìn)行實(shí)驗(yàn),結(jié)果表明基于LightGBM-LSTM的方法具有良好的預(yù)測(cè)效果。
圖1是基于LightGBM-LSTM的公交到站時(shí)間預(yù)測(cè)算法總體架構(gòu),包括三大模塊:一是數(shù)據(jù)采集與預(yù)處理模塊,從公交調(diào)度系統(tǒng)中提取歷史數(shù)據(jù)集,經(jīng)過(guò)數(shù)據(jù)預(yù)處理劃分為訓(xùn)練集和測(cè)試集,用于模型訓(xùn)練和測(cè)試;二是分類(lèi)和預(yù)測(cè)建模模塊,首先采用LSTM算法構(gòu)建高平峰模式識(shí)別模型,其輸出作為到站時(shí)間預(yù)測(cè)模型的一個(gè)輸入特征,然后采用LightGBM算法構(gòu)建到站時(shí)間預(yù)測(cè)模型;三是模型預(yù)測(cè)模塊,基于車(chē)輛實(shí)時(shí)信息封裝到站預(yù)測(cè)服務(wù)接口。
圖1 基于LightGBM-LSTM算法的公交到站時(shí)間預(yù)測(cè)算法總體架構(gòu)
1.1.1 LSTM工作原理
LSTM算法是一種RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))算法。LSTM算法對(duì)RNN網(wǎng)絡(luò)的改進(jìn)在于其在每一個(gè)判斷元胞中放置了四扇閥門(mén)(輸入閥門(mén)、遺忘閥門(mén)、更新閥門(mén)和輸出閥門(mén)),閥門(mén)的開(kāi)閉狀態(tài)能夠用來(lái)判斷模型的記憶結(jié)果是否達(dá)到加入到當(dāng)前層的計(jì)算中的閾值。LSTM基本網(wǎng)絡(luò)架構(gòu)如圖2所示。
圖2 LSTM基本網(wǎng)絡(luò)架構(gòu)
LSTM網(wǎng)絡(luò)是由一個(gè)個(gè)的元細(xì)胞構(gòu)成,組成相應(yīng)的元細(xì)胞輸送帶,保證信息在整個(gè)鏈上保持不變,能夠解決長(zhǎng)時(shí)依賴(lài)的問(wèn)題,學(xué)習(xí)到更遠(yuǎn)的規(guī)律。
遺忘閥門(mén)Ft通過(guò)Sigmoid激活函數(shù)獲取舊元胞輸出值Yt-1和當(dāng)前元胞輸入值Xt,結(jié)合相應(yīng)的偏置和權(quán)重來(lái)判斷是否應(yīng)該保留當(dāng)前元胞的狀態(tài)St。計(jì)算公式:
Ft=σ(Wt[Yt-1,Xt]+bf)
(1)
式中:Wt是遺忘門(mén)對(duì)應(yīng)的權(quán)重;Wt和bf分別是遺忘門(mén)的偏置和權(quán)重;σ是Sigmoid激活函數(shù)。
輸入閥門(mén)It負(fù)責(zé)判斷輸入值Xt是否應(yīng)該用于更新當(dāng)前元胞的狀態(tài)St,一方面由Sigmoid激活函數(shù)決定當(dāng)前元胞輸出值Yt,另一方面由tanh激活函數(shù)創(chuàng)建一個(gè)當(dāng)前元胞的候選矢量Ut,由更新閥門(mén)判斷是否應(yīng)將其加入到當(dāng)前元胞的狀態(tài)St中。計(jì)算公式:
It=σ(Wi[Yt-1,Xt]+bi)
(2)
Ut=tanh(Wc[Yt-1,Xt]+bc)
(3)
式中:Wi是輸入門(mén)對(duì)應(yīng)的權(quán)重;Wc是細(xì)胞狀態(tài)對(duì)應(yīng)的權(quán)重;bi和bc是輸入門(mén)和細(xì)胞狀態(tài)的偏置;Ut是計(jì)算過(guò)程中的候選值向量。
更新閥門(mén)Ut通過(guò)將遺忘閥門(mén)和輸入閥門(mén)相乘來(lái)判斷當(dāng)前元胞是否應(yīng)該將舊元胞的狀態(tài)由St-1更新到St。計(jì)算公式:
St=Ft×St-1+It×Ut
(4)
輸出閥門(mén)負(fù)責(zé)計(jì)算當(dāng)前元胞的輸出值。計(jì)算公式:
Ot=σ(Wo[Yt-1,Xt]+bo)
(5)
Yt=Ot×tanh(St)
(6)
式中:Ot是t時(shí)刻LSTM單元的輸出;Wo是輸出門(mén)對(duì)應(yīng)的權(quán)重;bo是輸出門(mén)的偏置。
1.1.2 基于LSTM的高平峰模式識(shí)別
對(duì)交通高平峰狀態(tài)進(jìn)行有效辨識(shí),對(duì)公交到站時(shí)間的預(yù)測(cè)具有重要意義。根據(jù)公交到站的時(shí)間曲線特性,結(jié)合控制圖模式識(shí)別理論[11],本文研究的六種典型公交到站時(shí)間模式如圖3和表1所示。
圖3 公交到站時(shí)間的六種基本模式
表1 六種控制圖模式及其表達(dá)式
為了有效模擬公交到站時(shí)間曲線以及避免耗時(shí)的人工標(biāo)注,本文通過(guò)蒙特卡洛法(Monte Carlo)對(duì)公交到站時(shí)間數(shù)據(jù)進(jìn)行模擬,其形式為:
y(k)=u+re(k)+ds(k),k=1,2,...,M
(7)
式中:y(k)是第k個(gè)班次的公交到站時(shí)間;u是平峰狀態(tài)下公交到站時(shí)間的均值;re(k)=r×σ是公交車(chē)輛行駛過(guò)程中偶然因素引起的隨機(jī)誤差,其分布為re(k)∈N(0,σ),σ是公交到站時(shí)間的標(biāo)準(zhǔn)方差,r∈(-1,1)的隨機(jī)數(shù);ds(k)是第k個(gè)班次的公交車(chē)輛在行駛過(guò)程中由其他因素引起的干擾值;k0是趨勢(shì)發(fā)生的初始位置,當(dāng)k-k0<0時(shí),v0=0,表示趨勢(shì)狀態(tài)未發(fā)生;當(dāng)k-k0≥0時(shí),v0=1,表示趨勢(shì)狀態(tài)已發(fā)生;kp是趨勢(shì)模式的斜率,其中kp=kσ/10;k1是階躍發(fā)生的初始位置,當(dāng)k-k1<0時(shí),v1=0,表示階躍狀態(tài)未發(fā)生;當(dāng)k-k1≥0時(shí),v1=1,表示階躍狀態(tài)已發(fā)生;sp是階躍幅值,sp∈[2σ,3σ];Ap是波動(dòng)幅值,Ap∈[σ,1.5σ];Tp是周期長(zhǎng)度,Tp∈[5,8]。
本文每種模式產(chǎn)生Q個(gè)樣本,每個(gè)樣本選取M個(gè)連續(xù)的公交到站時(shí)間,構(gòu)成LSTM模型樣本集,進(jìn)而對(duì)高平峰模式識(shí)別模型進(jìn)行訓(xùn)練和測(cè)試,以ROC曲線(Receiver operating characteristic curve, ROC曲線)和AUC值(Area Under Curve,AUC)作為模型評(píng)價(jià)指標(biāo),最后對(duì)實(shí)際的公交到站時(shí)間數(shù)據(jù)進(jìn)行識(shí)別。
1.2.1 LightGBM工作原理
梯度提升樹(shù)是經(jīng)過(guò)多輪迭代來(lái)不斷提高學(xué)習(xí)器的性能,在迭代過(guò)程中,假設(shè)前一輪得到的學(xué)習(xí)器是Ft-1(x),損失函數(shù)是L(y,Ft-1(x)),那么本輪的目標(biāo)就是找到一個(gè)弱學(xué)習(xí)器ht(x),使得本輪的損失函數(shù)最小。損失函數(shù)為:
(8)
然后計(jì)算損失函數(shù)的負(fù)梯度,用于擬合本輪損失函數(shù)的近似值。損失函數(shù)的近似值可表示為:
(9)
最終得到本輪的強(qiáng)學(xué)習(xí)器:
Ft(xi)=ht(x)+Ft-1(x)
(10)
由于梯度提升樹(shù)在處理大數(shù)據(jù)集時(shí)計(jì)算開(kāi)銷(xiāo)非常大,難以在精度和效率之間達(dá)到一個(gè)比較好的平衡,LightGBM算法對(duì)梯度提升樹(shù)進(jìn)行了改進(jìn),進(jìn)而提升了模型的計(jì)算效率,并且在維持較高計(jì)算效率的同時(shí)還能得到較高的準(zhǔn)確率。
1.2.2 基于LightGBM算法的到站時(shí)間預(yù)測(cè)模型
基于預(yù)處理后的數(shù)據(jù)進(jìn)行模型訓(xùn)練和測(cè)試。以MAPE作為模型評(píng)價(jià)指標(biāo),模型的輸出為到站時(shí)間,模型的輸入包括高平峰模式、行車(chē)方向、前N個(gè)班次的到站時(shí)間、天氣、時(shí)間特征、日期信息等。
時(shí)間特征提?。簩⒁惶熘忻縣劃分為4個(gè)區(qū)間,每個(gè)區(qū)間15min,即將一天24h劃分為96個(gè)區(qū)間,對(duì)每個(gè)區(qū)間進(jìn)行編號(hào),則為1,2,3,…,96。如早上6:00,對(duì)應(yīng)的區(qū)間刻度為24;早上7:20,對(duì)應(yīng)的區(qū)間刻度為30;早上8:10,對(duì)應(yīng)的區(qū)間刻度為33。
由于公交到站時(shí)間受節(jié)假日等因素影響,如果僅僅以是否節(jié)假日作為特征,模型會(huì)丟失節(jié)假日與非節(jié)假日之間的數(shù)據(jù)關(guān)聯(lián)性。因此,本文從每條記錄的日期信息中提取出5個(gè)特征作為模型輸入,其中:第一個(gè)維度V1表示是否是節(jié)假日,取值范圍0或1,如果是節(jié)假日,值為1,否則為0;第二個(gè)維度V2表示當(dāng)天所在的日期類(lèi)型(工作日或節(jié)假日)有多少天;第三個(gè)維度V3表示當(dāng)前日期在工作日或節(jié)假日中所占的比例;第四個(gè)維度V4表示當(dāng)天之前最近的連續(xù)不同的日期類(lèi)型(工作日或節(jié)假日)天數(shù);第五個(gè)維度V5表示當(dāng)天之后最近的連續(xù)不同的日期類(lèi)型(工作日或節(jié)假日)天數(shù)。以非節(jié)假日和國(guó)慶節(jié)為例,重構(gòu)后的日期信息見(jiàn)表2和表3。
表2 非節(jié)假日的重構(gòu)后的日期信息
表3 國(guó)慶節(jié)期間的重構(gòu)后的日期信息
本文研究對(duì)象是廣州市336路公交線路,從大觀路北總站(大觀濕地公園)至中海譽(yù)城總站。從公交調(diào)度系統(tǒng)中提取該線路的站點(diǎn)數(shù)據(jù)、電子路單數(shù)據(jù)、公交到離站數(shù)據(jù)、路網(wǎng)數(shù)據(jù)、公共汽(電)車(chē)暢行指數(shù)和天氣數(shù)據(jù)等,采樣時(shí)間從2019年10月1日至12月7日,得到基礎(chǔ)數(shù)據(jù)集Xm×n(m表示樣本量,n表示原始字段數(shù)目),包括站臺(tái)、日期、天氣、道路、公交到達(dá)時(shí)間、離開(kāi)時(shí)間等信息,其核心數(shù)據(jù)見(jiàn)表4。
表4 公交核心數(shù)據(jù)信息
2.2.1 缺失值處理
缺失值處理主要有刪除法和插補(bǔ)法。當(dāng)缺失的信息占整個(gè)數(shù)據(jù)集的比例較低時(shí),直接刪除缺失值。如果到達(dá)時(shí)間arrival_time和離開(kāi)時(shí)間depart_time兩個(gè)字段的原始數(shù)據(jù)值出現(xiàn)缺失,本文采用均值插補(bǔ)法進(jìn)行缺失值處理。
2.2.2 異常值處理
對(duì)于異常值的處理,是將數(shù)據(jù)集中與其他數(shù)據(jù)具有顯著不同的孤立點(diǎn)、離群點(diǎn)等異常數(shù)據(jù)進(jìn)行檢測(cè)和刪除。本文主要通過(guò)箱型圖法剔除異常值。
經(jīng)過(guò)上述數(shù)據(jù)預(yù)處理,得到數(shù)據(jù)集Yk×n(k表示預(yù)處理后的樣本量,k=197 504)。不同時(shí)間段的數(shù)據(jù)量占比情況見(jiàn)表5,數(shù)據(jù)整體分布相對(duì)均勻,早上7:00~9:59之間的數(shù)據(jù)量分別為7.75%、7.99%和7.50%;早上6:00~6:59之間的數(shù)據(jù)量最小,為2.17%。工作日與非工作日的數(shù)據(jù)量占比分別為51.47%和48.53%。
表5 不同時(shí)間段的數(shù)據(jù)量比例
圖4表明單位站間的公交日均到站時(shí)間在一定范圍內(nèi)波動(dòng),其中站間編號(hào)為68561、680、6026、26963和26970的平均到站時(shí)間分別為163.34s、37.95s、74.92s、154.02s和77.73s。站間編號(hào)為68561和26963的路段為上下班高峰路段,站間距離較長(zhǎng)、有1個(gè)紅綠燈,工作日平均到站時(shí)間(166.78s和155.67s)要高于周末的平均到站時(shí)間(156.68s和149.78s)。站間編號(hào)為680、6026和26970的路段為非上下班高峰路段,其中680的站間距離短、沒(méi)有紅綠燈,公交到站時(shí)間短,在工作日(37.13s)和周末(38.37s)的平均到站時(shí)間非常接近;站間編號(hào)為6026和26970的路段站間距離較長(zhǎng)、有1個(gè)紅綠燈,公交到站時(shí)間適中,在工作日(74.58s和77.73s)和周末(75.64s和76.78s)的平均到站時(shí)間也非常接近。由圖5可知,站間編號(hào)為68561和26963在11月18日不同時(shí)段的公交到站時(shí)間波動(dòng)較大,早高峰的公交到站時(shí)間要高于平峰期和低峰期,晚高峰出現(xiàn)在17:00~18:00。
圖4 不同單位站間的公交日均到站時(shí)間
圖5 站間編號(hào)為68561和26963在 11月18日不同時(shí)段的公交到站時(shí)間
圖6和圖7分別是公交車(chē)輛運(yùn)行的單程時(shí)間密度分布曲線和累積分布曲線,單程時(shí)間集中在 3 000~4 000s,其中單程時(shí)間在3 000s內(nèi)的概率為0.22,單程時(shí)間在4 000s內(nèi)的概率為0.91。
圖6 公交車(chē)輛運(yùn)行的單程時(shí)間密度分布曲線
圖7 公交車(chē)輛運(yùn)行的單程時(shí)間累積分布曲線
本文以2019年10月1日至2019年12月1日之間的2個(gè)月數(shù)據(jù)作為模型訓(xùn)練集,2019年12月1日至2019年12月7日之間的7d數(shù)據(jù)作為模型測(cè)試集。如1.1.2節(jié)所述,考慮到仿真數(shù)據(jù)的一般性,本文選取均值u=0,標(biāo)準(zhǔn)差σ=1,M=10,每種模式產(chǎn)生5 000個(gè)樣本,每個(gè)樣本選取10個(gè)連續(xù)的到站時(shí)間作為屬性數(shù)據(jù)點(diǎn),構(gòu)成 30 000×10樣本集,其中24 000×10樣本是訓(xùn)練集,其余6 000×10樣本是測(cè)試集。接收LSTM層輸出全連接網(wǎng)絡(luò)層(Dense層)的激活函數(shù)選擇softmax函數(shù);為避免模型訓(xùn)練過(guò)程中出現(xiàn)過(guò)擬合問(wèn)題,丟棄部分隱藏層神經(jīng)元網(wǎng)絡(luò)節(jié)點(diǎn)的舍棄率為0.2。圖8是不同的優(yōu)化器對(duì)LSTM網(wǎng)絡(luò)測(cè)試性能的對(duì)比情況,Adam算法的收斂速度最快,且性能表現(xiàn)最好;RMSProp算法性能表現(xiàn)次之;SGD算法的性能欠佳。因此,選擇Adam算法作為L(zhǎng)STM網(wǎng)絡(luò)的優(yōu)化器。由圖9可知,不同模型隨參數(shù)變化時(shí)對(duì)高平峰模式的分類(lèi)準(zhǔn)確度,其中LSTM模型隨著迭代次數(shù)的增加,分類(lèi)精度處于99.12%,優(yōu)于決策樹(shù)和KNN分類(lèi)模型,因此本文采用LSTM模型作為高平峰模式識(shí)別模型。
圖8 不同優(yōu)化器對(duì)LSTM網(wǎng)絡(luò)性能的影響
圖9 不同模型對(duì)高平峰模式分類(lèi)的 準(zhǔn)確率隨模型參數(shù)的變化
LightGBM模型的基本參數(shù)為:每棵樹(shù)葉子的數(shù)量num_leaves和最大深度max_depth的取值范圍是2~100;學(xué)習(xí)率learning_rate的取值范圍是0.001~0.050;迭代次數(shù)的取值范圍是50~10 000。從表6可知,各模型對(duì)非上下班高峰路段的預(yù)測(cè)精度要高于上下班高峰路段的預(yù)測(cè)精度。LightGBM模型的預(yù)測(cè)準(zhǔn)確度要優(yōu)于SVM模型、BP神經(jīng)網(wǎng)絡(luò)模型和多元線性回歸模型,LightGBM模型在站間編號(hào)為680、6026和26970的MAPE低于9%,在站間編號(hào)為68561和26963的MAPE處于11.04%~14.07%。由圖10可知,隨著站序個(gè)數(shù)的增加,到站時(shí)間預(yù)測(cè)的精度會(huì)下降。
表6 預(yù)測(cè)結(jié)果誤差對(duì)比,MAPE(單位:%)
圖10 基于LightGBM模型的公交到站時(shí)間
本文建立了一種基于LightGBM和LSTM算法的公交到站時(shí)間預(yù)測(cè)模型。首先通過(guò)LSTM算法構(gòu)建高平峰模式識(shí)別模型對(duì)上下班高峰期狀態(tài)進(jìn)行有效辨識(shí),然后以LightGBM算法進(jìn)行到站時(shí)間預(yù)測(cè)。以廣州市某典型公交線路為例,從公交調(diào)度系統(tǒng)中提取大量的歷史數(shù)據(jù)進(jìn)行預(yù)處理,分析了上下班高峰路段、時(shí)間刻度等對(duì)公交到站時(shí)間的影響,選擇時(shí)間刻度、高平峰模式、上一個(gè)班次的到站時(shí)間、是否節(jié)假日等作為模型的輸入,采用平均絕對(duì)百分比誤差作為預(yù)測(cè)模型的評(píng)價(jià)指標(biāo)。結(jié)果表明:基于LightGBM-LSTM模型的預(yù)測(cè)準(zhǔn)確率要高于支持向量機(jī)模型、BP神經(jīng)網(wǎng)絡(luò)模型和多元線性回歸模型。
影響公交到站時(shí)間的因素很多,如站間紅綠燈數(shù)量、人行道數(shù)量、車(chē)流量、道路交叉口等,后續(xù)進(jìn)一步的研究應(yīng)將更多的影響因素考慮進(jìn)來(lái),結(jié)合更大規(guī)模的數(shù)據(jù),對(duì)上下班高峰期的公交到站時(shí)間進(jìn)行預(yù)測(cè)。