馬延龍,杜曉華,李明臻
(1. 盤纏科技股份有限公司,北京 100081;2. 北京郵電大學(xué) 網(wǎng)絡(luò)與交換國家重點(diǎn)實(shí)驗(yàn)室,北京 100876)
隨著現(xiàn)代交通的發(fā)展,越來越多的人選擇乘坐地鐵出行,客流預(yù)測無疑是軌道交通運(yùn)營和維護(hù)中一個(gè)重要的環(huán)節(jié),客流預(yù)測可以給軌道交通管理部門提供制定實(shí)時(shí)運(yùn)營計(jì)劃的依據(jù)[1],例如:客流預(yù)測可以決定列車編組、行車密度和行車線路,還可以幫助擬定票價(jià)政策,售檢票制度、形式和規(guī)模[2]。同時(shí),客流預(yù)測還可以給乘客的出行安排提供參考,因而具有十分重要的意義和研究價(jià)值。
目前,越來越多的學(xué)者將統(tǒng)計(jì)學(xué)方法用于交通客流預(yù)測中。謝海紅等[3]對K近鄰算法進(jìn)行了改進(jìn),用模式距離搜索算法代替原有的歐氏距離搜索方法,同時(shí)引入多元統(tǒng)計(jì)回歸模型,并將其用于短時(shí)交通流預(yù)測,在提高搜索效率的同時(shí)準(zhǔn)確地刻畫了交通流的真實(shí)情況。但是該算法只是考慮了向量的起伏狀態(tài),沒有考慮如重大節(jié)日等外部因素對交通流的影響,且不具備長期穩(wěn)定性,需要不定期更新回歸數(shù)據(jù)樣本,會(huì)產(chǎn)生很大的計(jì)算量。雷定猷等[4]提出一種基于非線性主成分分析和GA-RBF神經(jīng)網(wǎng)絡(luò)(NPCA-GA-RBF)的高速公路交通量預(yù)測方法,進(jìn)一步提高了交通量預(yù)測精度,減少了交通量預(yù)測復(fù)雜度,但是該算法同樣沒有考慮其他因素對交通流量的影響。何九冉等[5]充分考慮到城市軌道交通客流變化的線性及非線性特征,將ARIMA模型和RBF神經(jīng)網(wǎng)絡(luò)組合,建立了ARIMA-RBF預(yù)測模型,并用該模型對北京市城市軌道交通平常日客流量進(jìn)行預(yù)測,取得了較好的預(yù)測效果,但是算法增加了模型的復(fù)雜度,ARIMA和RBF算法必須串行執(zhí)行,增加了運(yùn)算時(shí)間。
因此,考慮到隨機(jī)森林算法(RF)速度快、抗噪能力強(qiáng)等特點(diǎn),提出使用RF回歸構(gòu)建預(yù)測模型,采用歷史數(shù)據(jù)并綜合考慮站點(diǎn)地域和節(jié)假日等因素[6],預(yù)測地鐵站點(diǎn)分時(shí)段客流的方法。
R F具有高度靈活性,以集成學(xué)習(xí)算法Bagging的思想為基礎(chǔ),有著很強(qiáng)的抗噪能力且易于并行化,具有廣泛的應(yīng)用前景,常用來解決分類、回歸和特征選擇等問題[7-8]。使用主成分分析法(PCA)[9]和RF來構(gòu)建客流預(yù)測模型(PCA-RF),該模型基于地鐵的歷史客流數(shù)據(jù)進(jìn)行回歸分析,通過歷史數(shù)據(jù)預(yù)測未來各站點(diǎn)在一段時(shí)間內(nèi)的客流量。
客流預(yù)測模型的建立,首先要對得到的數(shù)據(jù)集進(jìn)行預(yù)處理和特征提?。蝗缓笠孕r(shí)為單位,從影響地鐵某站點(diǎn)在該時(shí)段客流量的眾多因素中選取多個(gè)影響因素作為訓(xùn)練特征,構(gòu)成特征向量,得到訓(xùn)練集和測試集;最后用RF對訓(xùn)練集進(jìn)行訓(xùn)練得到PCA-RF模型。PCA-RF模型建立流程見圖1。
圖1 PCA-RF模型建立流程
1.2.1 選取數(shù)據(jù)集和數(shù)據(jù)清洗
首先選擇契合客流預(yù)測分析的數(shù)據(jù)集;隨后的數(shù)據(jù)清洗能夠有效地提升數(shù)據(jù)的質(zhì)量,主要包括填補(bǔ)缺失值、去掉或更正明顯錯(cuò)誤的值等,如需將地鐵每日停運(yùn)時(shí)段的客流值置為0。
1.2.2 特征提取與數(shù)據(jù)標(biāo)準(zhǔn)化
以小時(shí)為單位劃分時(shí)段,以地鐵某站點(diǎn)在各個(gè)時(shí)段內(nèi)的客流量作為預(yù)測目標(biāo),提取多個(gè)與之密切相關(guān)的影響因素構(gòu)成特征向量。主要從時(shí)間和空間2個(gè)維度來提取數(shù)據(jù)特征。時(shí)間特征包括日期、節(jié)假日、高/平峰時(shí)段[6]、時(shí)間段。為了方便進(jìn)行數(shù)學(xué)運(yùn)算,特征日期統(tǒng)一轉(zhuǎn)化為時(shí)間戳的數(shù)字形式;對于節(jié)假日,分別使用數(shù)字0代表工作日、1代表雙休日、2代表國家規(guī)定放假的特殊節(jié)日(如國慶節(jié)和中秋節(jié)等);對于高/平峰時(shí)段,定義每日6:00—9:00和16:00—20:00為高峰時(shí)段,用數(shù)字1表示,其余時(shí)間為平峰時(shí)間段,用0表示;對于時(shí)間段,每日0:00—6:00為地鐵停運(yùn)時(shí)段,用0表示,其余時(shí)段以小時(shí)為單位劃分,分別用數(shù)字表示,例如8:00—9:00為1個(gè)時(shí)段,用數(shù)字8表示??紤]到城市地鐵站的地域分布對客流的影響,以該城市地鐵線路圖建立平面直角坐標(biāo)系,將其等分為16塊區(qū)域,每個(gè)區(qū)域?qū)?yīng)1個(gè)X坐標(biāo)和1個(gè)Y坐標(biāo),然后將每個(gè)站點(diǎn)映射到各個(gè)區(qū)域中。基于此,空間特征包括站點(diǎn)線路,是否換乘站,站點(diǎn)所屬區(qū)域在平面直角坐標(biāo)系的X坐標(biāo)、Y坐標(biāo)。站點(diǎn)線路用其自身的線路編碼表示;換乘站和非換乘站分別用數(shù)字1和0表示;站點(diǎn)的X坐標(biāo)和Y坐標(biāo)分別編號(hào)為數(shù)字0—3。另外,機(jī)場或火車站等客運(yùn)交通樞紐和普通站點(diǎn)的客流分布有著顯著不同,所以另外附加1個(gè)特征——是否客運(yùn)交通樞紐(用于和普通站點(diǎn)進(jìn)行區(qū)別)。最終提取得出的客流特征見表1。
將處理過的原始數(shù)據(jù)映射到這些特征中,得到由一系列特征向量構(gòu)成的新數(shù)據(jù)集D。由于RF可以直接使用袋外(OOB,由于RF獨(dú)特的工作模式,存在一部分樣本沒有被選中用于模型訓(xùn)練,這部分樣本稱為OOB樣本)數(shù)據(jù)作為驗(yàn)證集進(jìn)行參數(shù)調(diào)優(yōu),無需額外構(gòu)造驗(yàn)證集,所以只需將數(shù)據(jù)集D劃分為訓(xùn)練集和測試集。
表1 客流特征的數(shù)據(jù)格式
1.2.3 特征指標(biāo)的權(quán)重標(biāo)注
由于不同的特征對實(shí)際客流量的影響程度可能不同,例如在通常情況下,節(jié)假日對客流的影響程度顯然大于高/平峰時(shí)段。故使用PCA對每個(gè)特征賦予其各自的權(quán)重,使其能夠更加全面地反映客流的變化規(guī)律,從而提升結(jié)果的準(zhǔn)確度。
1.2.4 使用RF訓(xùn)練與預(yù)測
將加權(quán)過后的訓(xùn)練集輸入到RF中進(jìn)行訓(xùn)練和參數(shù)調(diào)優(yōu)。在進(jìn)行參數(shù)調(diào)優(yōu)時(shí),可以直接使用OOB樣本作為驗(yàn)證集進(jìn)行參數(shù)調(diào)優(yōu),無需額外選擇數(shù)據(jù)作為驗(yàn)證集。RF的主要參數(shù)見表2。
如果數(shù)據(jù)量很大,為了提升調(diào)優(yōu)效率,則可以使用網(wǎng)格搜索綜合坐標(biāo)下降的調(diào)優(yōu)方法進(jìn)行參數(shù)調(diào)優(yōu)[10]。通過網(wǎng)格搜索遍歷規(guī)定的所有參數(shù)組合,通過交叉驗(yàn)證得到最優(yōu)參數(shù)。坐標(biāo)下降其實(shí)是一種貪心算法,選取對模型結(jié)果影響最大的參數(shù)先進(jìn)行調(diào)優(yōu),再選取影響程度次大的參數(shù)調(diào)優(yōu),如此循環(huán),直到得到所有需要的參數(shù),但是坐標(biāo)下降最終只能得到局部最優(yōu)的結(jié)果。
模型訓(xùn)練結(jié)束后,使用測試集進(jìn)行測試,最后評價(jià)模型的預(yù)測結(jié)果。
選取廣州地鐵某單程票售票APP中的出票數(shù)據(jù)進(jìn)行模型構(gòu)建,其中客流概念定義為一段時(shí)間內(nèi)某一站點(diǎn)的進(jìn)站客流量。選取廣州地鐵該售票APP從2017-05-01—2018-10-03的出票數(shù)據(jù),經(jīng)過特征提取與轉(zhuǎn)化,得到可以用于模型構(gòu)建的數(shù)據(jù)1 400 000余條。選取其中1 400 000條數(shù)據(jù)構(gòu)成訓(xùn)練集,1 000條數(shù)據(jù)構(gòu)成測試集,然后使用PCA法進(jìn)行特征權(quán)重的標(biāo)注。
表2 RF的主要參數(shù)
在使用RF時(shí),參數(shù)oob_score設(shè)定為True,即使用OOB樣本評估模型的好壞,criterion選擇默認(rèn)的標(biāo)準(zhǔn)。首先對參數(shù)n_estimators進(jìn)行網(wǎng)格搜索[11],得到最優(yōu)的值為130,依次類推,最終得到所有所需的參數(shù)值(見表3)。隨后使用最優(yōu)參數(shù)和包含1 400 000條數(shù)據(jù)的訓(xùn)練集對模型進(jìn)行訓(xùn)練。
模型訓(xùn)練完成后,使用包含1 000條數(shù)據(jù)的測試集進(jìn)行回歸預(yù)測分析,然后對模型的預(yù)測結(jié)果進(jìn)行評價(jià)。模型預(yù)測的前100條測試集樣本的結(jié)果見圖2。
分別使用決定系數(shù)(R2)和均方根誤差(RMSE)對該預(yù)測模型的結(jié)果進(jìn)行評價(jià)。
(1)R2:通過數(shù)據(jù)變化來表征模型擬合的優(yōu)劣,R2越接近1,表明擬合程度越高。計(jì)算公式如下:
表3 RF調(diào)參結(jié)果
圖2 模型預(yù)測結(jié)果(前100條測試集樣本)
式中:Ypredict和Yactual分別為預(yù)測值和實(shí)際值;Ymean為真實(shí)的均值。
(2)RMSE:用來衡量觀測值同真值之間的偏差。n為樣本數(shù)量,計(jì)算公式如下:
將PCA-RF模型和傳統(tǒng)的決策樹回歸模型(DT)進(jìn)行比較,分別計(jì)算其R2和RMSE值,結(jié)果見表4。
可以看出, PCA-RF模型的R2為0.932 7,非常接近1而且遠(yuǎn)遠(yuǎn)大于DT模型的0.857 9;RMSE為29.91,也優(yōu)于傳統(tǒng)決策樹模型。比較DT模型和PCA-RF模型在前100個(gè)樣本中的絕對誤差,可見PCA-RF模型在絕大多數(shù)單獨(dú)樣本上的誤差都小于DT模型(見圖3)。
表4 DT模型和PCA-RF模型結(jié)果評價(jià)
圖3 DT模型和PCA-RF模型的絕對誤差(前100個(gè)樣本)
構(gòu)建了一種基于歷史客流數(shù)據(jù)并使用隨機(jī)森林算法(RF)的地鐵客流預(yù)測模型(PCA-RF),經(jīng)過驗(yàn)證,該模型與實(shí)際數(shù)據(jù)擬合度較高,并且在準(zhǔn)確度與穩(wěn)定性上也優(yōu)于傳統(tǒng)的決策樹模型,可為未來相關(guān)方面的研究與應(yīng)用提供思路。