丁 聰 倪少權(quán) 呂紅霞
(1.西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,611756,成都;2.西南交通大學(xué)交通運(yùn)輸與物流學(xué)院,610031,成都//第一作者,碩士研究生)
客流量的預(yù)測(cè)和分析是城市軌道交通規(guī)劃和建設(shè)的重要依據(jù)。城市軌道交通客流與群眾出行規(guī)律密切相關(guān),通常具有較強(qiáng)的時(shí)間序列特征。過(guò)去已有相關(guān)領(lǐng)域的研究人員基于ARIMA模型實(shí)現(xiàn)了客流量的預(yù)測(cè),通過(guò)對(duì)模型進(jìn)行各方面優(yōu)化,提升了預(yù)測(cè)效果[1-2]。近年來(lái)機(jī)器學(xué)習(xí)技術(shù)得到廣泛應(yīng)用,有的采用特殊結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)[3-4]、支持向量機(jī)[5]等方法實(shí)現(xiàn)客流量預(yù)測(cè),并通過(guò)分析客流特征研究居民出行規(guī)律和交通規(guī)律。本文在參考已有算法的基礎(chǔ)上[6-8],使用梯度提升決策樹(shù)混合模型預(yù)測(cè)城市軌道交通客流量,并分析相關(guān)影響因素特征。
梯度提升決策樹(shù)是一種通過(guò)構(gòu)建多個(gè)弱學(xué)習(xí)器、并將之組合形成強(qiáng)學(xué)習(xí)器的集成模型。通常使用分類回歸決策樹(shù)作為弱學(xué)習(xí)器。分類回歸決策樹(shù)是一種應(yīng)用較為廣泛的決策樹(shù)實(shí)現(xiàn)方法,其每一次訓(xùn)練盡可能遍歷所有可能的屬性取值,依據(jù)最佳分割點(diǎn)將樣本數(shù)據(jù)分為2個(gè)部分,以遞歸分割的方式,不斷循環(huán)直至終止條件。
梯度提升屬于提升算法體系的一種,由斯坦福教授J.H.Friedman提出[6-7]。其基本思想是利用損失函數(shù)的負(fù)梯度在當(dāng)前模型下的值作為模型本次訓(xùn)練結(jié)果殘差的近似,并以該值作為下一次訓(xùn)練的目標(biāo)。模型的輸出結(jié)果將向著損失函數(shù)減小的方向移動(dòng)。以分類回歸樹(shù)為弱學(xué)習(xí)器的梯度提升法的基本原理可表示如下:
對(duì)于樣本空間N={(x1,y1),(x2,y2),…,(xN,yN)},目標(biāo)是找到1個(gè)預(yù)測(cè)函數(shù)F(x),使得在所有x到y(tǒng)的映射下的損失函數(shù)L(y,F(x))最小。預(yù)測(cè)函數(shù)表示為:
(1)
式中:
h(x;am)——弱學(xué)習(xí)器的第m棵子樹(shù),m=1,2,…,m;
am——第m棵子樹(shù)的參數(shù);
βm——該子樹(shù)的權(quán)重。
若第m次訓(xùn)練生成的預(yù)測(cè)函數(shù)為Fm(x),則優(yōu)化問(wèn)題等價(jià)于找到新子樹(shù)的參數(shù)(βm.am),使:
(2)
針對(duì)上述條件,整個(gè)梯度提升模型的更新流程為:
第1步,初始化第1棵回歸樹(shù):
(3)
第2步,對(duì)于m=1,2,3,…,M,損失函數(shù)的負(fù)梯度為:
(4)
(5)
(6)
更新預(yù)測(cè)函數(shù):
Fm(x)=Fm-1(x)+νβmh(x;am)
(7)
式中:
ν——控制學(xué)習(xí)速率的步長(zhǎng)。
ν越小,則需要更多的訓(xùn)練次數(shù)才能達(dá)到要求的預(yù)測(cè)精度;而ν設(shè)置得過(guò)大,則可能無(wú)法達(dá)到較高的預(yù)測(cè)精度。
梯度提升法中可使用最小二乘回歸為損失函數(shù)。此時(shí),損失函數(shù)的負(fù)梯度就是預(yù)測(cè)值與真實(shí)值之間的殘差,其表示形式為:
(8)
隨機(jī)森林的核心思想是僅選取部分樣本及部分特征訓(xùn)練子樹(shù),訓(xùn)練速度更快,其子模型之間相互獨(dú)立,不容易出現(xiàn)過(guò)擬合問(wèn)題。由于每次訓(xùn)練是隨機(jī)的,子樹(shù)之間缺少關(guān)聯(lián)性,預(yù)測(cè)結(jié)果不會(huì)固定朝著某一方向移動(dòng),雖然最終預(yù)測(cè)的方差能隨著子樹(shù)數(shù)量的增加而降低,但偏差難以降低。梯度提升法每次訓(xùn)練都依賴于前一次模型的預(yù)測(cè)結(jié)果,預(yù)測(cè)結(jié)果的方差和偏差均能隨訓(xùn)練次數(shù)的增加而下降。但是,該算法屬于中心化算法,不易并行計(jì)算,故訓(xùn)練速度較慢。
為解決隨機(jī)森林與梯度提升法存在的問(wèn)題,構(gòu)建隨機(jī)森林和梯度提升的混合模型,使用隨機(jī)采樣后的屬性特征和樣本子集作為訓(xùn)練樣本,并在上層使用梯度提升法。這樣既能較好地解決訓(xùn)練速度問(wèn)題,也能較好地提升預(yù)測(cè)效果。
地鐵日均客流量具有明顯的周期性和季度性。其時(shí)序性決定了日客流量與日期、歷史客流量直接相關(guān)。天氣、氣溫及節(jié)假日等則是引起客流量波動(dòng)的重要因素。使用樹(shù)模型的實(shí)質(zhì),即通過(guò)樣本數(shù)據(jù)探究以上相關(guān)因素的差異性對(duì)流量大小的影響。
根據(jù)樹(shù)模型的原理,在理想狀態(tài)下,對(duì)于任意1組特征組合,都應(yīng)存在1個(gè)客流量集合與之對(duì)應(yīng),同1集合內(nèi)客流量的均值將作為符合該特征組合的客流量預(yù)測(cè)值。模型每一次迭代都將根據(jù)以上特征對(duì)樣本進(jìn)行若干次劃分,特征與預(yù)測(cè)目標(biāo)較高的相關(guān)性保證了分類效果。根據(jù)梯度提升算法,模型第一次訓(xùn)練以實(shí)際客流進(jìn)行擬合,此后以上一次預(yù)測(cè)結(jié)果與實(shí)際值的殘差來(lái)訓(xùn)練子樹(shù),從而逐步縮小預(yù)測(cè)殘差,降低擬合偏差。
數(shù)據(jù)樣本及其特征的選擇將極大影響模型的預(yù)測(cè)結(jié)果,只有合理的樣本特征才能實(shí)現(xiàn)模型的最大作用。因此,需選定樣本的輸入與輸出,并對(duì)樣本數(shù)據(jù)進(jìn)行特征工程處理,以保證樣本屬性與特征的有效性。
根據(jù)預(yù)測(cè)機(jī)理及相關(guān)研究,在分析影響城市軌道交通日客流量的若干因素后,搜集相關(guān)數(shù)據(jù)進(jìn)行特征處理形成合適的訓(xùn)練樣本。本試驗(yàn)采用的數(shù)據(jù)來(lái)源為北京地鐵2015年1月1日至2017年7月17日15條運(yùn)營(yíng)線路的日客運(yùn)量及對(duì)應(yīng)時(shí)間的相關(guān)特征數(shù)據(jù),共929個(gè)樣本。特征數(shù)據(jù)包含離散值和連續(xù)值。離散值應(yīng)按等級(jí)分類、合并或進(jìn)行one-hot編碼。為保證決策樹(shù)分類效果,應(yīng)根據(jù)特征與客流間的相關(guān)性作為評(píng)價(jià)標(biāo)準(zhǔn),應(yīng)將不相關(guān)數(shù)據(jù)或具有較多噪音數(shù)據(jù)進(jìn)行剔除、替換和合并處理,以實(shí)現(xiàn)降維,最終形成適用于模型的數(shù)據(jù)集。
根據(jù)以上分析對(duì)相關(guān)屬性特征進(jìn)行處理,得到訓(xùn)練特征。工作日與周末使用同一個(gè)狀態(tài)進(jìn)行分類;天氣數(shù)據(jù)按照類別進(jìn)行合并處理,分為7個(gè)等級(jí);節(jié)假日對(duì)客流量有較大的影響,春節(jié)、國(guó)慶與其他節(jié)假日的差異性通過(guò)4個(gè)類別劃分。通過(guò)Python模塊Seaborn和Pandas可進(jìn)行編程,以實(shí)現(xiàn)數(shù)據(jù)圖表的可視化輸出,圖1以熱圖形式展示了預(yù)處理后數(shù)據(jù)集各向量間的皮爾遜相關(guān)系數(shù)。
圖1 皮爾遜相關(guān)系數(shù)熱圖
由圖1可見(jiàn):地鐵的日客流量與年、月具有一定的相關(guān)性;結(jié)合人口統(tǒng)計(jì)分析,北京地區(qū)常住人口居住人口具有緩慢增長(zhǎng)趨勢(shì),客流量也隨之增長(zhǎng);日平均溫度的相關(guān)系數(shù)達(dá)到0.19,反映了地鐵客流一定的季節(jié)性,但相關(guān)性較弱;高度相關(guān)的屬性特征包括星期、周末,表現(xiàn)了客流量的時(shí)序性和周期性;節(jié)假日是客流量波動(dòng)的重要原因;日客流量與前一周歷史客流量也具有相關(guān)性,故歷史客流可考慮選作為訓(xùn)練特征,但是如直接使用這些數(shù)據(jù),則可能因信息量重合而造成過(guò)擬合等問(wèn)題。將前一周的歷史客流量均值作為修正后的訓(xùn)練特征值代替同期客流量,并參與模型訓(xùn)練,以對(duì)預(yù)測(cè)進(jìn)行修正,即
(9)
最終使用的樣本數(shù)據(jù)及存儲(chǔ)形式說(shuō)明如表1所示。
表1 數(shù)據(jù)集說(shuō)明
使用Python機(jī)器學(xué)習(xí)模塊Scikit-learn[9]實(shí)現(xiàn)模型的建模與仿真。取前850個(gè)樣本作為訓(xùn)練集,后79個(gè)樣本作為測(cè)試集,模型輸出為對(duì)應(yīng)測(cè)試集下的日客流量。對(duì)模型參數(shù)進(jìn)行多次調(diào)整,每種參數(shù)組合進(jìn)行2 000次訓(xùn)練。令T為樣本的特征總數(shù),選取部分參數(shù)組合下的預(yù)測(cè)結(jié)果如表2所示。由表2可知,回歸子樹(shù)的深度N與訓(xùn)練子集使用的特征數(shù)t越大,訓(xùn)練時(shí)間越長(zhǎng)。
表2 各參數(shù)下模型訓(xùn)練結(jié)果
圖2 客流量均方誤差與模型訓(xùn)練次數(shù)的關(guān)系
圖3為樣本中每個(gè)屬性特征參數(shù)對(duì)預(yù)測(cè)結(jié)果的貢獻(xiàn)度的排名。由圖3可知,客流量均值對(duì)模型每次訓(xùn)練的特征貢獻(xiàn)度較大,節(jié)假日、工作日及周末3個(gè)參數(shù)的特征貢獻(xiàn)度靠后。特征貢獻(xiàn)度靠后不代表該特征不重要。分析認(rèn)為,以上多個(gè)特征相關(guān)度較高(如周末與星期特征之間信息量存在重疊),故無(wú)法對(duì)模型產(chǎn)生更大的影響。而節(jié)假日所對(duì)應(yīng)的樣本較少,通常放在回歸樹(shù)底層作為最后考慮,因此其貢獻(xiàn)度較低。
圖3 樣本中不同屬性特征參數(shù)對(duì)預(yù)測(cè)結(jié)果的特征貢獻(xiàn)度
圖4 客流量預(yù)測(cè)值與實(shí)測(cè)值
圖4為從2017年5月20日至7月17日客流量的模型預(yù)測(cè)結(jié)果與實(shí)際值。由圖4可見(jiàn):隨機(jī)森林模型和梯度提升模型的預(yù)測(cè)效果高于無(wú)特殊處理的ARIMA模型,梯度提升及隨機(jī)森林預(yù)測(cè)結(jié)果基本符合實(shí)際客流的變化趨勢(shì),梯度提升混合模型的預(yù)測(cè)結(jié)果相較于隨機(jī)森林有進(jìn)一步的提升。
對(duì)梯度提升模型的部分預(yù)測(cè)結(jié)果進(jìn)行分析(見(jiàn)表3)。預(yù)測(cè)結(jié)果涵蓋節(jié)日、工作日與周末的預(yù)測(cè)客流。分析發(fā)現(xiàn),個(gè)別日期實(shí)際客流與預(yù)測(cè)客流存在較大誤差。這是訓(xùn)練集特征不夠完善引起的,應(yīng)還存在其他未被考慮的客流影響因素。大多數(shù)預(yù)測(cè)結(jié)果均能較好匹配實(shí)際值變化,且預(yù)測(cè)誤差在可接受范圍之內(nèi)。
表3 預(yù)測(cè)結(jié)果分析
本文分析了梯度提升法的概念和基本原理,將梯度提升法和隨機(jī)森林的混合模型應(yīng)用于城市軌道交通客流預(yù)測(cè)。通過(guò)分析北京地鐵客流特征及多種影響因素,制定了適用于模型的訓(xùn)練集。試驗(yàn)分析了梯度提升混合模型及其他兩種基本模型的預(yù)測(cè)結(jié)果,基于梯度提升的混合模型能實(shí)現(xiàn)更高精度。綜上所述,梯度提升混合模型能夠適用于城市軌道交通客流量的預(yù)測(cè)與分析,且能取得較好效果。未來(lái)研究需進(jìn)一步完善數(shù)據(jù)集,擴(kuò)大樣本規(guī)模,并結(jié)合智慧交通及大數(shù)據(jù)技術(shù),深入分析城市人口出行規(guī)律,為城市軌道交通規(guī)劃及管理提供新的研究思路及參考。