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