夏弋松,靳文舟
(華南理工大學 土木與交通學院, 廣東 廣州 510641)
影響城市公交客流預測的因素十分復雜,傳統的公交客流預測主要從純數理統計的角度對公交客流進行擬合。多運用時間序列、自回歸模型、灰色系統等統計方法進行預測。然而,公交客流隨時間波動趨勢明顯,受天氣、節(jié)假日、乘客類型等諸多因素影響。傳統的統計科學預測方法很難對客流變化的本質規(guī)律和影響機理做出解釋,模型對不同數據的適應性也比較差,預測精度亦不盡如人意。
近年來,隨著人工智能領域和機器學習各類算法的蓬勃發(fā)展,誕生了很多新的數據預測方法。比如神經網絡模型、SVM支持向量機、隨機森林以及各類決策樹模型。這些方法和模型的預測精度和準確性較傳統方法要好,在電商、電力等領域已經有了較為成熟的應用場景,國內外也有少部分的學者將這類新型預測方法用于交通領域,但是相關的文獻還比較少,研究進展不夠深入。
鑒于這種情況,為了充分發(fā)揮公共交通領域大數據的價值,對公交短期客流作更精準的預測,本文采用梯度提升決策樹模型對多元公交客流數據進行短期預測,以期找到精準度和泛化性更強的機器學習模型,提升S-Catboost模型對不同類型短期客流預測的適應性,讓機器學習在公共交通領域獲得更多應用場景。
如何建立一個能夠精準、有效地預測短時公交客流的客流預測模型一直是公共交通領域十分熱門的問題,在機器學習和深度學習相關的算法理論問世之前,大部分學者使用的都是傳統的統計學預測模型,例如傳統的線性及非參數回歸模型[1-2]、邏輯回歸模型以及ARIMA[3- 6]自回歸移動平均時間序列預測模型等。后來又在此基礎上引入了卡爾曼濾波[7-13]、小波分析[14]、灰色系統[15-17]等方法進行公共交通領域內的時間序列預測,這些預測方法相比傳統的回歸模型預測精度的預測穩(wěn)定性都有了較大的提高,但在對公交客流數據本身的利用方面還不夠充分,實際使用中的預測有效性也得不到保證。
2006年后神經網絡的應用開始逐漸進入交通領域,國內羅海燕等[18-19]比較早地將BP神經網絡模型應用到公交線路站點時段上下車人數預測中,之后BP神經網絡及相關的改進算法開始在交通領域內井噴式發(fā)展,BP神經網絡算法在地鐵、公交及貨物運量等短時預測領域有著出色的表現,王立政等[20-26]發(fā)表了一系列相關的論文。除了BP神經網絡外,被廣泛應用于短時客流預測的還有RNN以及RNN的變體LSTM長短期記憶神經網絡等。LSTM相比于RNN模型多引入了一個記憶存儲單元,它的功能是自動過濾網絡結構中的無效成分并長時間自動記憶輸入的有效成分,YANG等[27-31]認為這有效解決了RNN在反向傳播過程中的梯度爆炸問題,因此實際使用過程中LSTM更適合用于時間序列類數據的分析。除了神經網絡模型外,孫德山等[32]在國內首次將SVR用于混沌時間序列的預測。楊軍等[33]又將LSSVM(最小二乘支持向量機)方法開創(chuàng)性地用于軌道交通客流預測。
Leo Breiman和Adele Cutler提出并拓展了隨機森林算法,起初這項算法只是作分類使用,后來人們逐漸開始意識到它在預測方面的作用。YAO等[34]使用了隨機森林來預測公交到站時間。
深度學習類算法如LSTM對客流預測有較好的精度,但是需要的訓練樣本過大,模型擬合成本過高(設備、時間),而支持向量機類算法預測精度不夠。對于短時公交客流預測,不僅需要比較高的預測精度,還要盡可能簡化對客流特征的處理過程。Catboost算法在訓練模型時能夠將公交客流離散化特征(如用戶ID、IC類型等)進行自動轉化為數值特征,此過程大大節(jié)省了特征處理的時間。此外,由于使用了對稱樹結構,Catboost算法的效率和泛化性能也優(yōu)于傳統的GBDT類算法(Xgboost、LGBM等)。本文通過Stacking框架將LSTM和RF算法作為第一層的基學習器,提取公交客流數據更強的特征信息,將Catboost算法作為第二層預測模型。以廣州市104和565路公交作為算例驗證S-Catboost模型的實際性能,預測客流量能夠較好地為公交調度和居民出行提供決策依據。
本文旨在通過構建一種基于Catboost方法的堆疊模型,對比以往的單一GBDT類模型,它能夠提高模型的解釋能力和預測性能,從而更加精確地進行短時公交客流預測,并且更加深入地分析多源數據中不同影響因子和預測客流之間的關系。
Cart(分類和回歸)樹是一種采用二分遞歸分割技術產生的決策樹,即二叉樹,對于某個特征A而言,不管A的屬性是離散還是連續(xù),所產生的內部節(jié)點分支都只有2個。如果Cart樹進行決策的標簽變量為連續(xù)值,則產生的樹為回歸樹;如果Cart進行決策的標簽變量為離散值,那么產生的決策樹為分類樹。
Cart回歸樹的算法流程如下:
Step 1:假定S為一組具有連續(xù)屬性標簽的數據集S={(x1,y1),(x2,y2),(xn,yn)},其中x為特征變量數據集,y為標簽屬性數據集。
Step 2:構建損失函數fj,k,fj,k表示某個(j,k)組合下對特征集x進行劃分并計算得到的損失,然后對特征變量劃分組合空間(j,k)進行遍歷得到損失函數最小的(j,k)組合,作為構建第一層回歸樹的依據,其中Rm是輸入空間,cm是輸入空間對應的輸出值。
(1)
Step 3:用給定的(j,k)對劃分區(qū)域并求出相應的輸出值cm·Nm為對應劃分區(qū)域內的樣本個數。
R1(j,k)={x|xj≤k},R2(j,k)={x|xj≤k},
(2)
(3)
Step 4:構建第一層決策樹,利用上一步結果求出cm,得到第一層決策樹T1。
(4)
(5)
Boosting方法屬于集成學習(ensemble learning)的一種,實質上是基于多個基分類器對訓練集的判斷,通過加法模型將這些基分類器組合得到最終的強學習器的過程。對于一類弱可學習的二分類樣本S={(x1,y1),…,(xi,yi),…,(xn,yn)},i=1,…,n,樣本中xi∈R,yi∈{-1,1}。我們使用Boosting方法將弱分類器通過加法模型組成強學習器。
(6)
Step 2:對于j=1,2,…,J,進行(b)至(d)過程的迭代(J由最終構建的分類器分類失誤率決定,最終分類無誤差時迭代過程結束)。
① 對于具有權值的分類樣本使用弱學習器(如Cart樹模型等)進行學習,得到基分類器Gj(x)。
Gj(x)∈{-1,1}。
(7)
② 計算分類誤差率ej。
(8)
分類誤差率反映了每一代分類器的分類效果,由每個數據樣本的分類結果和數據對應的權重之積累加而成,其中I()為指示函數,括號中的內容為真,則返回1,反之則返回0。這一步旨在突出被分類器誤分類的樣本點,樣本被誤分類時對應的權值會增大,反之則減小。
③ 計算分類器的權重系數αj。
(9)
對于一個弱可學習的樣本,ej≤0.5,αj隨著ej的減小而增大,保證了分類誤差率越小的學習器在最終決策中的影響力越大,使學習結果能夠收斂。
④ 更新樣本S的權重矩陣。
(10)
Dj+1=[wj+1,1,…,wj+1,i,…wj+1,n]。
(11)
Step 3:構建分類器的線性組合函數f(x)。
(12)
上述過程可用如圖1所示的流程圖形象描述。
圖1 Boosting過程Fig.1 Boosting process
GBDT(梯度提升樹)屬于集成學習中Boosting家族范疇內的一員,其學習機理為通過迭代的方式構建m棵子決策樹h(x;a1),…,h(x;am),最后通過加法模型和Boosting方法將它們組合成最終的GBDT模型。其中第n棵子樹的表達式為
Fn(x)=Fn-1(x)+vβnh(x:an),
(13)
式中,Fn-1(x)代表第1棵子樹到第n-1棵子樹的累加之和;βn代表第n棵子樹的權重;v(v∈(0,1))代表步長。
Step 1:初始化學習器。
(14)
Step 2:對于m=1,…,M(M表示迭代次數,即弱學習器的數量)不斷迭代分類器。
① 計算損失函數的負梯度在當前模型的值并將它作為殘差的估計值。
(15)
③ 通過線性搜索的方式計算j=1,2,…,J每個葉子節(jié)點最佳的擬合值。
(16)
④ 更新回歸樹
(17)
Step 3:得到最終的強學習器。
(18)
Catboost總體算法框架與GBDT一致,但是在處理類別特征、Boosting方式以及決策樹生長評分方面作了比較大的改進。這三個改進令Catboost能夠有效地處理字符串特征,并且相同數據規(guī)模下的模型擬合速度要快于Xgboost和LGBM。
① 類別特征
Catboost的基礎仍是提升樹,與傳統的梯度提升樹不同的是Catboost在處理類別特征時,沒有簡單地采用基于貪婪目標統計的方法進行分裂節(jié)點的選擇。而是創(chuàng)造性地在計算節(jié)點增益時考慮先驗分布項,有效地排除了類別變量中低頻率特征和噪聲對生成決策樹帶來的影響。
(19)
式中,σj為第j數據;xi,k表示訓練集中第i行數據的第k列離散特征;a是一個先驗權重;p是先驗分布項(對于回歸問題而言,先驗項一般取訓練集中預測標簽的均值;對于二分類問題而言,先驗項取值為正例也就是為1的項的先驗概率);這里的[]為指示函數,滿足內部條件則輸出1,否則輸出0。
通過改進后的TS方法,Catboost能夠在信息損失最小化的情況下將類別特征轉化為數值。
(2)排序提升(Ordered boosting)
傳統的GBDT模型采取的是無行列采樣的方式,所有的基學習器及即Cart決策樹是在一個完整的數據集上進行梯度提升的,每次迭代都使用上一輪樹的負梯度進行訓練。這樣會導致預測偏差(bias)不斷累積和過擬合(over fitting)的現象。Xgboost和微軟開發(fā)的LGBM采用了行列采樣和正則化的處理降低了過擬合的效應。Catboost更進一步提出了Ordered boosting方法。算法偽代碼如下:
Algorithm:Orderedboosting
ordered according to σ,the numbers of trees I
σ←randompermutationof[1,n]
Mi←0fori=1ton
foriter← 1toIdo
fori← 1tondo
forj← 1toi-1do
M←learnatree(Xj,gj)
Mi←Mi+M
returnM1,M2,…,Mn
圖2 完全對稱樹ODT的結構Fig.2 Structure of complete tree ODT
其中,σ是訓練集隨機排序的次數;I為需要生成對稱決策樹的數量也就是學習器的個數。
③ 快速評分
Catboost使用完全對稱樹(oblivious decision trees,ODT)作為基學習器,它的結構如圖2所示,與一般決策樹不同的是,完全對稱樹對于相同深度的內部節(jié)點,分裂時選擇的特征以及特征閾值是完全一致的。所以完全對稱樹也可以變換成具有2^d條目的決策表格,d表示決策樹的層數。這種結構的決策樹更加平衡并且特征處理速度遠快于一般的決策樹。此外,通過將浮點特征,統計信息(用戶id等)、獨熱編碼特征統一用二進制處理,模型的大大減少了調參需求。
④ 特征重要度排序
Catboost不僅有較高的預測精度,而且同時能夠能夠甑別不同影響因子(即預測所使用特征)對預測結果的相對貢獻度,某個特征在單棵決策樹中的相對貢獻度用以下公式衡量。
(20)
式中,M為迭代次數(樹的數量);Jj2代表特征j的全局重要度。
(21)
式中,L為樹的葉子節(jié)點數量;L-1為樹的非葉子節(jié)點數量;vt是和節(jié)點t相關聯的特征;it2是節(jié)點t分裂之后平方損失的減少值,it2減少的越多說明此次分裂的收益越大,意味著此特征對于所屬節(jié)點的特征重要度越高。
隨著互聯網和各種檢測技術的發(fā)展,在交通領域運用多源客流數據進行客流預測和分析逐漸成為一種趨勢。這些多源數據可能包含數個到數十個離散和連續(xù)的特征,單一機器學習模型對這類多源數據的處理效果很難達到極致。為了更充分地發(fā)揮這些模型本身的潛力,本文需要使用某種方法對多源客流數據進行處理,使得不同特征狀態(tài)下的客流具有更加明顯的差異。堆疊(stacking)方法是一種采用多層次的模型進行特征生成和模型融合的方法,通常采用數個基模型作為第一層的輸入,將輸出的預測結果作為新特征加入到第二層模型的特征矩陣中,最后使用次級模型進行預測,以期得到更高的預測精度。理論上stacking的層數沒有限制,但是超過兩層后繼續(xù)stacking的效果十分有限。Stacking的流程如圖3所示。
圖3 Stacking過程Fig.3 Stacking process
首先,將原始數據集按照一定的比例劃分為訓練集和測試集。其次,利用5折交叉驗證的方式使用基模型對訓練集的5個部分分別進行預測。最后再對測試集進行預測。經歷這樣的5次“訓練-預測”過程后,得到了圖中的“預測1-預測5”和5個測試集的預測結果。將“預測1-預測5”按照對應的順序組合,并把測試集的5次預測結果均值求出來,最后合并為一列新的列向量,作為新特征添加原始數據中。若采用的基模型不止一個,則重復上述過程,不斷生成新的特征。接下來使用第二層模型作為次級模型,對基模型產生的結果進行訓練并得到測試集的最終預測結果。
在Stacking方法中,采用的基模型數量沒有限制。但是更多基模型意味著總體模型的訓練時間將會大大增加。此外不同基模型之間要有差異化并且預測能力要大體相近,否則stacking之后第二層模型的預測精度可能反而低于單獨使用某一種模型時的預測精度。基于上述考慮,本文使用了的LSTM和RF作為本文雙層堆疊的基模型。分別對兩種模型進行stacking 操作,使用第二層的Catboost模型對新數據進行預測和分析,得到最終的結果。
本文所選用數據集為廣州市104路和565路的小時公交客流數據,如圖1所示。104路選用的數據集為6至8月份刷卡數據,565路選用的數據集為10至12月刷卡數據。兩條線路均保留最后一天作為測試集。均保留廣州市104路公交起點在中山八路總站,終點為海印橋總站,全長8.8 km。565路則以大學城總站為起點、穗鹽路總站為終點,兩條路線具體位置如下所示:
(a) 104路
(b) 565路
表1 104、565路客流情況Tab.1 Passenger flow of 104 and 565
對于某一個城市,影響公交客流的外部性因子有很多,但總體而言可以分為3類。
第一類是時間性指標。眾所周知,公交客流隨著時間的變化呈現明顯的潮汐性波動。在一天中不同時段,不同季節(jié)公交客流的變化都會呈現不同的規(guī)律。
第二類是天氣指標,分別有日最高溫度、日最低溫度、降雨量等級以及空氣指數等因素,這類指標會對某段時間公交客流變化趨勢造成持續(xù)性影響,特別是會對非通勤類交通需求所屬的那部分客流產生較大的影響。
第三類是節(jié)假日指標,包括是否雙休日、是否法定節(jié)假日等。中國的一些重大節(jié)假日(五一勞動節(jié)、國慶節(jié)等3 d以上的長假)會對某個地區(qū)的公交客流造成重大影響,使部分線路的公交客流斷崖式下跌或爆發(fā)性增長,對原有的客流變化規(guī)律產生巨大的擾動。這些因素通常會為公交客流預測帶來很大的難度。
本文針對選用的廣州市兩條公交客流數據,分別從時間、天氣和節(jié)假日類因素考慮,選用了共10種和公交客流波動密切相關的特征進行分析。這些特征及具體含義見表2。
表2 公交客流特征名稱及含義Tab.2 Name and meaning of characteristics of bus passenger flow
本文的研究思路和模型總體框架如圖5所示。第一部分是數據預處理過程,將原始公交客流數據經過清洗和特征提取后進行標準化處理,并劃分為訓練集和測試集。第二部分是利用Stacking方法提取新特征,并將產生的強關聯特征添加到特征部分,生成新的數據集。第三部分是使用Catboost方法對新數據集進行預測,得到最終的預測結果,然后與幾種常用的機器學習算法進行對比,驗證本文提出模型的優(yōu)越性。
圖5 總體框架Fig.5 Overall framework
在本項研究中,為了獲得較好的預測效果,需針對預測數據集進行超參數優(yōu)化,尋找與本項研究所使用數據最佳的參數組合。本文選用了3個超參數:C(最大樹深度)、M(基學習器數量)和ε(學習率)對模型進行優(yōu)化,具體參數見表3。本文將所使用數據集劃分為訓練集和預測集兩部分.首先使用訓練集進行超參數優(yōu)化,得到最佳參數組合。然后使用測試集檢驗模型性能。本文通過構建初始參數空間并利用網格搜索的方法對參數空間進行網格搜索找到最優(yōu)參數組合。
表3 超參數描述Tab.3 Hyperparametric description
為了更好地發(fā)揮Catboost模型性能,需要對上述3個參數進行網格搜索優(yōu)化。同時,為了避免優(yōu)化后的參數組合在訓練集中過擬和,本文使用5折交叉驗證的方式計算不同參數組合下模型的測試分數。最后選擇測試分數最高的那組參數建立模型。
(a) 學習率=0.008
(b) 學習率 =0.01
(c) 學習率 =0.02
(d) 學習率 =0.05
調參結果的平均測試分數隨著不同的“最大樹深度”、“學習器數量”以及“學習率”三個參數變化的情況如圖6所示,從圖6中可以看出“最大樹深度”對模型的預測精準度影響最大。對于104路而言,當“最大樹深度”由2上升到3時,模型的測試分數有了7%左右顯著的提高,但是隨著“最大樹深度”繼續(xù)增加到6,測試分數只提高了不到2.5%,甚至有著略微的下降,并且565路也有著類似的表現。這表明應根據問題的規(guī)模構建決策樹的最大搜索深度,太小的“最大樹深度”會抑制決策樹向下分支,導致構建的決策樹擬合效果不足;而足夠大的“最大樹深度”雖然能夠在訓練集中很好地擬合數據集,卻會造成“最大樹深度”catboost模型與訓練集過擬合導致模型在測試集中泛化性能不足。而學習率從0.008增大到0.05時可以發(fā)現,104和565兩條線路的模型達到收斂條件所需的“學習器數量”越來越少。并且當學習率越小,模型的最優(yōu)測試分數會略高一些。據此分析,學習率越小意味著“最大樹深度”catboost模型在梯度下降時的搜索步長越小,得到最優(yōu)的損失函數值的幾率越大,而學習率越大,錯過最優(yōu)解的幾率就越大。然而,越小的“學習率”雖然能得到較好的訓練分數,但是意味著要增加更多額外的樹和消耗更多的計算資源。因而學習率的實際選用因同時兼顧兩方面的因素。在“學習器的數量”和“學習率”之間找到一個平衡。對于兩條線路而言,隨著“學習器數量”的增加,不同“最大樹深度”和“學習率”下的測試分數都有了一定的增加,直至模型充分擬合,測試分數基本平衡。
為了更好地顯示S-Catboost模型的預測性能和泛化能力,分別使用LSTM、RF、SVR和原始GBDT模型等4種預測模型進行對比。本文采取相對指標MAPE作為預測結果精度的評判標準,將上述5種預測模型分別運行50次,得到各個模型在分別在單步、雙步和三步預測條件下的日平均預測誤差分布情況并制成violin圖,圖7為5種不同模型在最優(yōu)參數條件下的預測精度、穩(wěn)定性情況。
(a) 步長=t-1
(b) 步長=t-2
(c) 步長=t-3
從圖7中可以看到5種模型在不同預測步長條件誤差離散程度,以此觀察不同模型的預測穩(wěn)定性。對于104路,顯而易見5種預測模型的預測精度呈現階梯狀分布。第一梯隊的模型有Stacking、GBDT,第二梯隊的模型有RF、LSTM,第三梯隊的模型有SVR。上述三個梯隊的模型不僅在預測精度方面存在明顯的差別,在預測誤差分布情況方面同樣如此。此外,GBDT類模型的預測精度要明顯優(yōu)于另外兩個梯隊的模型。值得一提的是,在時間步長由1增加到3時,S-Catboost較傳統GBDT模型的預測精度都有所領先,特別是對于客流數據相對不平滑的565路。盡管隨著時間步長的增大,這種精度上的優(yōu)勢逐漸縮小。這仍然能夠顯示S-Catboost對處理多源數據的進一步挖掘能夠有效地降低預測誤差以及抵抗時間步長增大對預測的不利影響。
對于565路,情況與104路略有不同。565路5種模型的預測誤差呈現為兩個層次:SVR模型和其他模型。在3種預測步長下,SVR模型因為565路本身的數據波動而表現遠不如其他幾種模型.更多的是,565路LSTM模型多次運行的結果遠不如104路穩(wěn)定,這一點極大概率是由于565路的測試集中第23個小時的小時客流只有106人,LSTM對這個小時的預測極不穩(wěn)定。造成上四分位數、下四分位數差值達到了15%以上。
在利用S-Catboost模型對短時公交客流進行預測時,我們不僅關注它在預測性能方面的高精度和穩(wěn)定性,更關心各種影響因子對公交客流預測的全局重要性。了解不同影響因子在實際客流變化中所起的貢獻度在現實客流預測場景中極為重要。相關部門可根據實際客流情況尋找到最適合的影響因子組合,提高客流預測的效率。
表4 影響因子重要度排序Tab.4 Importance ranking of influence factors
影響因子重要度排序見表4,從表4可以看到,整體而言,無論是104路或者565路時間類變量對預測客流的貢獻度要大于天氣類因素。具體來看,對于104路和565路影響最大的變量為“一天中小時”,它的貢獻度分別是62.81%和91.10%。這一點驗證了歷史小時客流數據在客流預測中無可替代的作用。這是因為對于一條公交線路,客流的波動和一天中的時間變化息息相關,客流變化呈現明顯的周期性。除了時間因素,我們可以看到,節(jié)假日類因素“是否節(jié)假日”在104、565路客流預測中的重要度均在前4以內。這說明節(jié)假日因素在客流變化中的地位也十分重要。與“一天中小時”不同,節(jié)假日類變量影響通常在周及以上的時間跨度才會比較明顯的體現。除了固定的周末節(jié)假日,還有眾多時間不固定的特殊節(jié)假日,在這些節(jié)假日時間段內,公交線路的客流與相鄰時間區(qū)間通常有較大的差異,對于公共交通部門進行客流預測和分析時考慮這個因素至關重要。除了節(jié)假日和時間類因素,我們同樣對天氣因素對客流預測的影響感興趣,對于104路,“最高溫”對客流的影響因子為12.90%,位居第二,并且遠高于565路,因為104路的數據在4至6月搜集,白天的炎熱程度對居民出行方式選擇影響巨大,565路的數據主要集中在冬季,氣溫的影響相對要小得多。廣州夏季十分炎熱,一天中的“最高溫”過高會使通勤客流轉乘地鐵的比例升高,并且極端高溫會使乘客可忍受候車時間變短,進而降低公交乘客的出行欲望。降雨量對通勤客流影響較小,主要影響的是娛樂、購物等客流的出行情況,由于這兩條線路的通勤客流比例都較高,導致降雨量對總體客流的影響并不明顯。
除了對不同特征對預測結果的重要度進行排序,我們還關注這些不同類別的特征對預測標簽的內源性影響,本文使用偏效應項(即將其他影響因素邊緣化之后,考慮其中某個單一特征的變化對預測目標的變化趨勢所造成的影響)對不同特征進行偏效應分析。考慮文章篇幅,對4.3節(jié)中特征重要度排序種篩選出的貢獻度比較高的幾個影響因子做了偏效應分析,具體結果如圖8、圖9所示。
圖8 104路幾個影響因子的偏效應Fig.8 Partial effect of influence factors on line 104
圖9 565路幾個影響因子的偏效應Fig.9 Partial effect of influence factors on line 565
圖8和圖9是從104路和565路公交客流數據特征數據集中選取的6個對客流變化影響較為顯著的特征標簽。
從圖8可以看到,特征“一周中第幾天”由0變?yōu)?、由4轉為變?yōu)?時偏效應指標都出現了明顯的上升,與104路客流周變圖中的兩個上下班高峰相吻合。而一天中“最高溫”由13 ℃升到15 ℃時,偏效應值從15急劇上升到0.19,隨著“最高溫”一路增加到27 ℃,偏效應也開始緩慢地上升,27 ℃之后偏效應指標隨著“最高溫”的上升反而呈現下降的趨勢,表明對于104路客流15~27 ℃是一個比較適合出行的溫度區(qū)間,超出這個區(qū)間,乘客出行欲望會降低。最低溫在4~10 ℃和12~14 ℃偏效應維持較為平穩(wěn),在“最低溫”在10 ℃和14 ℃處繼續(xù)升高時偏效應都發(fā)生了突變,顯示出10~14 ℃的“最低溫”范圍對乘客是否出行影響較大。當發(fā)生下雨和放假的情況時,偏效應都明顯降低,說明發(fā)生上述事件時乘客的出行會明顯減少?!耙惶熘行r”引起的偏效應變化與客流時變圖趨勢一致,上午8-9時和下午5-6時為偏效應的兩個最高點,同時也是客流出行的兩個尖峰時段。最后,隨著“空氣指數”指數從輕度污染變?yōu)橹卸任廴?,它對預測客流的偏效應開始由3變?yōu)?10,顯示出“空氣指數”指數總體上對客流影響比較輕微,只有空氣質量下降到一定程度,公交客流才會受到影響565路在這一點的情況與104路類似。
圖9中,“一周中第幾天”在值由0變?yōu)?和4變?yōu)?,即周一上午和周五下午這兩個時間點偏效應都發(fā)生了明顯的正向突變,并且變化的數值區(qū)間要低于104路客流狀況,可能是因為104路的通勤客流比例要高于565路。隨著“最高溫”由13 ℃升到31 ℃,偏效應也隨著近似線性增大。而“最低溫”在4~9 ℃偏效應在4.3附近保持平穩(wěn),在最低溫升高到10 ℃時偏效應突然下降到-2,隨后“最低溫”逐漸升高時偏效應的值持續(xù)增大到3。出現節(jié)假日和下雨兩種情況時,565路客流偏效應的變化情況與104路保持一致。此外,“一天中小時”對565路客流的影響與104路相同,都呈現兩個駝峰的態(tài)勢,但是由于104路客流量明顯高于565路,104路的“一天中小時”對偏效應的影響在數值上要遠遠高于565路。
本文主要研究了一種基于雙層堆疊模型的短時公交客流預測算法。討論了幾種不同的機器學習學習算法在各種情況下的預測性能,對比情況顯示了基于stacking的S-Catboost模型在預測精度和穩(wěn)定性上的優(yōu)勢,說明了S-Catboost模型在公交客流預測領域有著明顯的應用前景。
此外,S-Catboost相比于目前其他主流的機器學習算法,更大的優(yōu)勢在于對公交多源特征的挖掘,通過深入探索公交客流波動有關的影響因子與預測目標的關系,極大地提高預測模型的精準性。不同于神經網絡的黑箱式擬合過程,S-Catboost對預測結果的可解釋性很好同時決策樹的決策結果能夠對這些影響因子進行重要性排序和偏效應分析。