林少毅
(中國鐵路集團廣州局鐵路集團公司 廣東省廣州市 510000)
目前,對鐵路客流預測的研究“汗牛充棟”,不同學者采用不同的模型方法進行預測。不同模型算法都有明顯的優(yōu)點也必然存在明顯的局限性,比如:
(1)以神經(jīng)網(wǎng)絡模型為代表的深度學習算法[1],該算法較為復雜,在梯度下降更新權(quán)重時有概率落入局部極值,同時,隨著神經(jīng)網(wǎng)絡層數(shù)的增加,梯度下降優(yōu)化損失函數(shù)導致計算量和計算時間呈指數(shù)級增加,經(jīng)濟性較差。
(2)多元回歸算法[2]與時間序列模型及算法[3-5],多元回歸算法和時間序列算法屬于正統(tǒng)的統(tǒng)計學模型,以線性假設為基礎,對輸入的樣本數(shù)量和樣本質(zhì)量要求較高,遇到非線性結(jié)構(gòu)數(shù)據(jù)時往往“水土不服”,預測結(jié)果自然也較差。
(3)灰色理論模型[6]、集成學習算法模型,支持向量機算法等[7],其中,集成學習算法建立在單個決策樹算法的基礎上,在數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)量并不復雜時,容易產(chǎn)生過擬合現(xiàn)象,需要根據(jù)經(jīng)驗設置合理的學習率等參數(shù),添加正則項,而且迭代過程占用很大的計算資源。
綜合以上考慮,本文選擇決策樹理論中的CART 算法對廣州南至珠海區(qū)間的二等座旅客發(fā)送量進行預測。
決策樹算法是一種監(jiān)督學習,就是事先給定樣本,按照一系列規(guī)則對樣本數(shù)據(jù)的特征值進行判斷,并不斷迭代循環(huán)最終完成分類或回歸的過程,最后形成一個類似于“倒立的樹”的模型(算法)。由于樣本包含許多特征,總有一些特征在分類時起到“關鍵”作用,就需要通過規(guī)則找到這些具有決定性作用的特征,決定性作用最大的那個特征先找到并作為根節(jié)點,然后迭代循環(huán)找到各分支下次大的決定性特征,直至各個分支下所有數(shù)據(jù)都屬于同一類[8]。本文選擇CART 算法來構(gòu)建決策樹。
CART 算法生成決策樹可以分為分類樹和回歸樹兩種類型,生成方式有一定的區(qū)別。當輸出結(jié)果為離散值時,代表CART 決策樹;當輸出結(jié)果為連續(xù)值時,便是CART 回歸樹,此時不再采用基尼系數(shù)而是采用下面公式(1)來選擇特征值和特征值劃分點。其算法過程如下:設xi為第i 個樣本的輸入值,yi為對應的輸出值。對于每一個特征變量j 選擇最優(yōu)切分點s,選擇切分的依據(jù)是:
在選擇特征變量j 和該特征變量對應的切分點s 的情況下,選擇使式(1)取得最小值的對(j,s),其中,R1和R2是選擇特征變量j 和該特征變量對應的切分點s 的情況下將輸出集合分為了兩部分,R1和R2的計算方法如式(2)所示:
圖1:旅客發(fā)送量情況
圖2:預測值與真實值比較
c1和c2為輸出集合的均值,計算方法如式(3)所示:
不斷的重復上述過程,直到達到終止條件,便得到了CART 回歸樹。
圖3:三種算法預測精度的比較(RMSE)
影響旅客出行需求的因素較多,比如:臺風、暴雨、降雪,或者疫情、事故等人為封鎖導致交通無法正常運營等短期因素。從長期來看,影響廣州南至珠海間鐵路客流的主導因素是兩地間經(jīng)濟人文交流以及其他運輸方式的競爭性替代。而短期內(nèi),其他交通方式供給比較穩(wěn)定,不會有大的波動;兩地間的經(jīng)濟人文交流也呈現(xiàn)出一種總體穩(wěn)定趨勢上升的情況。因而,廣州南至珠海的鐵路日旅客發(fā)送量呈現(xiàn)出一種長期的趨勢性增長和短期的以月份,周號為代表的周期波動特點。綜上所述,選擇月份,周號,當月當周號平均發(fā)送量、去年同期當月當周號的平均發(fā)送量為樣本輸入特征值。
樣本數(shù)據(jù)方面,選取2019年6月1日至2019年8月25日為本期的樣本日期段,由于小長假客流特點與平時的客流特點截然不同,為了防止小長假客流對最終的算法輸出結(jié)果產(chǎn)生干擾,去除2019年端午節(jié)包含的3 天假期。由于端午節(jié)節(jié)前一天和節(jié)后一天的客流特點也受到小長假放假的影響,因而一并去掉,最終選擇樣本數(shù)據(jù)一共包含81 天。每個樣本包含月份,周號,當月當周號平均發(fā)送量、去年同期當月當周號的平均發(fā)送量這4 個特征指標。日旅客發(fā)送量整體情況如圖1所示,可知,日旅客發(fā)送量最大為17358人次,最小為8331 人次。平均日旅客發(fā)送量為12426 人次。另一方面,從圖1(a)明顯看出日旅客發(fā)送量有很明顯的趨勢性和周期性(大致以一個星期為周期單位)。圖1(b)分周號旅客日發(fā)送量平均值,可以看到周六旅客平均日發(fā)送量最高為13660 人次,其次為周五,旅客平均日發(fā)送量為13366 人次,最低為周二,旅客平均日發(fā)送量為11322 人次。
本文使用Python 來進行CART 回歸樹的算法建立。將81 組樣本分為訓練集和測試(預測)集兩部分,訓練集包括前71 組樣本數(shù)據(jù),后10 組樣本數(shù)據(jù)進行模型測試檢驗和預測。最終得到CART 回歸樹算法。將測試集樣本數(shù)據(jù)輸入算法進行檢驗,最終預測值與原樣本數(shù)據(jù)進行比較,結(jié)果如圖2所示,我們選擇公式(4)來對每個樣本的誤差相對值進行計算和評價??梢钥吹?,10 個測試樣本中相對誤差最大14.16%,相對誤差最小為0.87%,相對誤差平均值為5.22%。訓練出的CART 回歸樹算法擬合效果基本達到預期,如圖2所示。
為了更準確客觀的對預測結(jié)果進行分析和比較,采用均方根誤差(RMSE)和平均絕對誤差(MAE)兩個指標來對預測結(jié)果進行評價。計算公式如下:
其中,yi為樣本真實值,為算法預測值,n 為測試集的樣本個數(shù)(本算例中n=10)。同時采用多元回歸算法和時間序列算法中的ARIMA 模型進行比較驗證。使用的訓練樣本和測試樣本與輸入CART 回歸樹算法保持一致,最后使用式(5)和式(6)對預測結(jié)果進行評價,最終三種算法的預測效果和精度如圖3(a)和圖3(b)所示??芍狢ART 回歸樹算法在均方根誤差(RMSE)和平均絕對誤差(MAE)的評價下預測精度都是最高的,明顯優(yōu)于多元回歸算法和時間序列算法中的ARIMA 模型。
本文采用決策樹理論中的CART 回歸樹算法對廣州南至珠海區(qū)間的旅客發(fā)送量進行預測,結(jié)果表明采用的CART 回歸樹算法能夠較好的完成預測任務,預測精度明顯優(yōu)于多元回歸算法和時間序列中的ARIMA 模型。但本文使用的CART 回歸樹算法能夠?qū)⒄`差范圍限定在一個較小合理的范圍內(nèi),則輸出的預測結(jié)果就完全可以為鐵路運輸企業(yè)制定決策提供依據(jù)。下一步,將逐步引入天氣、經(jīng)濟活動等其他影響因素進入CART 回歸樹算法,通過不斷優(yōu)化迭代,進一步提高算法的預測精度。