王郅翔 王余寬 許小衛(wèi) 謝新連
【摘 要】 為提升水陸聯(lián)運(yùn)樞紐客運(yùn)量預(yù)測(cè)精度,選用隨機(jī)森林算法構(gòu)建水陸聯(lián)運(yùn)樞紐客運(yùn)量預(yù)測(cè)模型,選取影響水陸聯(lián)運(yùn)樞紐客流的多種因素構(gòu)建初始數(shù)據(jù)集;運(yùn)用隨機(jī)森林算法對(duì)初始數(shù)據(jù)集進(jìn)行參數(shù)優(yōu)選,生成初始預(yù)測(cè)模型;隨機(jī)擾動(dòng)特征變量值,對(duì)特征變量進(jìn)行重要性分析,并優(yōu)選特征變量得出預(yù)測(cè)數(shù)據(jù)集;最后,構(gòu)建水陸聯(lián)運(yùn)樞紐客運(yùn)量預(yù)測(cè)模型,載入測(cè)試集數(shù)據(jù)預(yù)測(cè)水陸聯(lián)運(yùn)樞紐客運(yùn)量。將上述方法與三次指數(shù)平滑、多元回歸分析兩種預(yù)測(cè)方法進(jìn)行對(duì)比,結(jié)果表明基于隨機(jī)森林算法的預(yù)測(cè)結(jié)果更為精確。
【關(guān)鍵詞】 水陸聯(lián)運(yùn);樞紐;客運(yùn)量預(yù)測(cè);隨機(jī)森林算法;特征變量
0 引 言
客運(yùn)量預(yù)測(cè)是水陸聯(lián)運(yùn)樞紐規(guī)劃、設(shè)計(jì)等環(huán)節(jié)的基礎(chǔ)工作,同時(shí)又是選定運(yùn)輸模式和船舶班線組織方案的重要參考依據(jù);因此,如何科學(xué)合理地預(yù)測(cè)水陸聯(lián)運(yùn)樞紐客運(yùn)量具有重要的現(xiàn)實(shí)意義。
常見的客運(yùn)量預(yù)測(cè)方法以時(shí)間序列分析法為主,如指數(shù)平滑法、多元線性回歸法、灰色預(yù)測(cè)法等。此外,隨著機(jī)器學(xué)習(xí)領(lǐng)域的深入發(fā)展,越來(lái)越多的人工學(xué)習(xí)算法被應(yīng)用到客流量預(yù)測(cè)中,如人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。指數(shù)平滑法在處理多維變量存在不足,無(wú)法同時(shí)考慮變量間因果關(guān)系;多元線性回歸法彌補(bǔ)了指數(shù)平滑法在處理多維變量方面的缺陷,但難以處理多重共線性的問(wèn)題;灰色預(yù)測(cè)法可應(yīng)用于類似客流量這種指數(shù)增長(zhǎng)的數(shù)據(jù),但不適用于長(zhǎng)期預(yù)測(cè);人工神經(jīng)網(wǎng)絡(luò)對(duì)變量擬合精度高,但存在過(guò)擬合現(xiàn)象嚴(yán)重,且在實(shí)際運(yùn)用中,存在建模復(fù)雜、適用性差、收斂速度慢等缺陷;支持向量機(jī)在處理大規(guī)模高維數(shù)據(jù)時(shí),泛化能力較差,且對(duì)數(shù)據(jù)缺失較為敏感。隨機(jī)森林(Random Forest)算法具備預(yù)測(cè)準(zhǔn)確、魯棒性高、可操作性強(qiáng)等優(yōu)點(diǎn),且不會(huì)過(guò)擬合,已被廣泛運(yùn)用于電力、金融、測(cè)繪等領(lǐng)域。
本文基于隨機(jī)森林算法構(gòu)建一種客運(yùn)量預(yù)測(cè)模型,并以某水陸聯(lián)運(yùn)樞紐為例,將預(yù)測(cè)結(jié)果與三次指數(shù)平滑、多元回歸分析預(yù)測(cè)效果對(duì)比,結(jié)果表明基于隨機(jī)森林算法的預(yù)測(cè)結(jié)果更為精確,對(duì)水陸聯(lián)運(yùn)樞紐及其他客運(yùn)場(chǎng)站的客運(yùn)量預(yù)測(cè)工作具有一定的參考價(jià)值。
1 隨機(jī)森林算法介紹
隨機(jī)森林算法基本步驟(見圖1)如下:劃分初始數(shù)據(jù)集為訓(xùn)練集與測(cè)試集,用于訓(xùn)練隨機(jī)森林預(yù)測(cè)模型及檢測(cè)預(yù)測(cè)結(jié)果;采取自展法(Bootstrap)抽樣對(duì)訓(xùn)練集進(jìn)行隨機(jī)有放回抽樣,形成n個(gè)子訓(xùn)練集;針對(duì)每一個(gè)子訓(xùn)練集生成一棵決策樹,每棵決策樹僅對(duì)子訓(xùn)練集數(shù)據(jù)進(jìn)行回歸分析或是分類;集成所有決策樹為隨機(jī)森林預(yù)測(cè)模型;向預(yù)測(cè)模型中輸入測(cè)試集數(shù)據(jù),通過(guò)取均值的方式,從所有決策樹的預(yù)測(cè)結(jié)果生成隨機(jī)森林的預(yù)測(cè)結(jié)果。
2 客運(yùn)量預(yù)測(cè)方法
2.1 預(yù)測(cè)思路
水陸聯(lián)運(yùn)樞紐發(fā)展受諸多因素影響,單一方法的時(shí)間序列分析難以兼顧多種因素影響下的水陸聯(lián)運(yùn)樞紐客運(yùn)量變化情況。隨機(jī)森林算法在生成預(yù)測(cè)模型時(shí),可同時(shí)處理大規(guī)模數(shù)據(jù),且能夠?qū)Τ跏紨?shù)據(jù)集中的所有自變量輸出特征變量的重要性進(jìn)行分析。
利用隨機(jī)森林算法優(yōu)勢(shì),可盡可能多地選取與水陸聯(lián)運(yùn)樞紐客運(yùn)量變化相關(guān)的特征變量作為隨機(jī)森林預(yù)測(cè)模型的初始數(shù)據(jù)集;通過(guò)隨機(jī)森林算法構(gòu)建初始預(yù)測(cè)模型,選取特征變量重要性指標(biāo),對(duì)所有的特征變量進(jìn)行重要性分析,篩選出的重要特征變量即代表了對(duì)水陸聯(lián)運(yùn)樞紐客運(yùn)量影響較大的影響因素;依據(jù)特征變量重要性程度優(yōu)選特征變量,形成預(yù)測(cè)數(shù)據(jù)集,以減小噪聲與異常值對(duì)預(yù)測(cè)結(jié)果的影響,提升預(yù)測(cè)精度;基于預(yù)測(cè)數(shù)據(jù)集重新構(gòu)建隨機(jī)森林預(yù)測(cè)模型,并輸入測(cè)試集對(duì)預(yù)測(cè)結(jié)果進(jìn)行驗(yàn)證。
2.2 參數(shù)介紹
隨機(jī)森林預(yù)測(cè)模型中包含森林規(guī)模(ntree)和基回歸樹預(yù)選的特征變量個(gè)數(shù)(mtry)兩個(gè)參數(shù),其中:ntree影響模型的泛化能力,決定了預(yù)測(cè)結(jié)果的方差;而mtry代表了樹生長(zhǎng)的深度,影響了單個(gè)回歸樹的擬合程度,決定了預(yù)測(cè)結(jié)果的偏差。與傳統(tǒng)決策樹不同,基回歸樹不需要剪枝,主要通過(guò)上述兩個(gè)參數(shù)來(lái)控制隨機(jī)森林預(yù)測(cè)模型的生成,合適的參數(shù)能使隨機(jī)森林模型避免過(guò)擬合。通常運(yùn)用袋外數(shù)據(jù)(OOB)估計(jì)對(duì)隨機(jī)森林預(yù)測(cè)模型的參數(shù)進(jìn)行優(yōu)選。
OOB估計(jì)是在Bootstrap抽樣的基礎(chǔ)上,以O(shè)OB樣本為驗(yàn)證集,計(jì)算袋外錯(cuò)誤率(OOB error,Err)表示隨機(jī)森林預(yù)測(cè)模型的泛化誤差。OOB估計(jì)是隨機(jī)森林泛化誤差的一個(gè)無(wú)偏估計(jì),其結(jié)果近似于需要大量計(jì)算的k折交叉驗(yàn)證。OOB估計(jì)過(guò)程如下:
假設(shè)數(shù)據(jù)集有S個(gè)樣本,運(yùn)用Bootstrap抽樣在對(duì)數(shù)據(jù)集抽樣時(shí),總是存在一定比例的樣本未被抽中,其中,比例P=(1 )S,當(dāng)S→+∞時(shí),P收斂于0.368,該部分樣本即為OOB樣本。隨機(jī)森林算法在預(yù)測(cè)客運(yùn)量時(shí),使用均差方來(lái)表示Err(E),公式如下:
式中: Nntree為森林規(guī)模; Nyear為子訓(xùn)練集的樣本數(shù); Ei為第i棵回歸樹的OOB估計(jì)值;yi為實(shí)際客運(yùn)量; fOOB為使用OOB樣本的估計(jì)值。
2.3 預(yù)測(cè)函數(shù)
基于變量重要性分析篩選出的特征變量構(gòu)成新數(shù)據(jù)集,運(yùn)用Bootstrap抽樣,隨機(jī)抽取P個(gè)樣本、Q個(gè)特征變量,并重復(fù)以上操作K次,得到K個(gè)子訓(xùn)練集。對(duì)子訓(xùn)練集重新構(gòu)建基回歸樹模型,并調(diào)整模型參數(shù),便得到規(guī)模為K的回歸隨機(jī)森林。
集成隨機(jī)森林所有回歸樹的預(yù)測(cè)結(jié)果,以均值的形式輸出,即是通過(guò)隨機(jī)森林預(yù)測(cè)的水陸聯(lián)運(yùn)樞紐客運(yùn)量預(yù)測(cè)值。
式中: fK (x)為隨機(jī)森林模型預(yù)測(cè)結(jié)果; fK (x,SK)為單棵回歸樹的預(yù)測(cè)結(jié)果;x為需要預(yù)測(cè)的節(jié)點(diǎn),算例中指代需要預(yù)測(cè)的年份;SK為子訓(xùn)練集K。
2.4 重要性分析
為減少與樞紐客運(yùn)量弱相關(guān)的特征變量對(duì)預(yù)測(cè)結(jié)果的影響,需要對(duì)初始數(shù)據(jù)集中的特征變量進(jìn)行重要性分析,并篩選出符合預(yù)測(cè)精度要求的數(shù)據(jù)集。
隨機(jī)森林算法在回歸問(wèn)題中處理重要性分析時(shí),往往選用均方誤差降低比例(%IncMSE, M)。 M是基于OOB估計(jì),隨機(jī)打亂一個(gè)特征變量值,重新計(jì)算新的E,然后計(jì)算模型準(zhǔn)確度下降的百分比。第i個(gè)特征變量的重要性分析Mi計(jì)算式如下:
3 實(shí)例分析
3.1 獲取變量
選取某水陸聯(lián)運(yùn)樞紐客運(yùn)量相關(guān)數(shù)據(jù),以客運(yùn)量為目標(biāo)變量,與目標(biāo)變量相關(guān)的18個(gè)宏觀性社會(huì)經(jīng)濟(jì)指標(biāo)為自變量,部分變量見表1。選定2000―2019年作為研究區(qū)間,其中2000―2014年數(shù)據(jù)作為預(yù)測(cè)模型訓(xùn)練集,其余數(shù)據(jù)為預(yù)測(cè)模型測(cè)試集。
3.2 優(yōu)選參數(shù)
參數(shù)優(yōu)選是確定隨機(jī)森林模型的前提,隨機(jī)森林算法在作回歸預(yù)測(cè)時(shí),mtry值通常為自變量個(gè)數(shù)的1/3,應(yīng)用到本算例中,初始數(shù)據(jù)集包含18個(gè)自變量,mtry數(shù)值宜取6,所以分別對(duì)mtry=5、mtry=6、 mtry=7進(jìn)行OOB誤差估計(jì)分析(見圖2)。經(jīng)隨機(jī)森林模型驗(yàn)證,當(dāng)mtry=6時(shí),OOB誤差估計(jì)值總體水平較低,且當(dāng)ntree值趨于500時(shí),OOB誤差估計(jì)值最低且數(shù)值變化趨于穩(wěn)定。由此為隨機(jī)森林初始模型確定參數(shù)mtry=6,ntree=500。
3.3 特征變量重要性分析
根據(jù)Pi指標(biāo)對(duì)初始數(shù)據(jù)集中每個(gè)特征變量進(jìn)行重要性分析。為便于顯示,將特征變量名稱用字母代替,各個(gè)特征變量Mi值見圖3。由圖3分析結(jié)果顯示,p(機(jī)場(chǎng)客運(yùn)量)、m(城鎮(zhèn)居民可支配收入)和j(旅游收入)對(duì)預(yù)測(cè)結(jié)果較為重要,b(高校在校生人數(shù))和d(相鄰水陸聯(lián)運(yùn)樞紐客運(yùn)量)對(duì)預(yù)測(cè)結(jié)果影響較小,其余特征變量重要性程度一般。
將特征變量按照Mi降序排列,依次疊加選取的特征變量形成變量?jī)?yōu)選數(shù)據(jù)組D={(p),(p,m),…,(p,m,…,d)},對(duì)每一個(gè)數(shù)據(jù)集參數(shù)優(yōu)選,重復(fù)利用算法對(duì)D中各數(shù)據(jù)集進(jìn)行準(zhǔn)確度分析,最終得到不同特征變量組合的預(yù)測(cè)模型準(zhǔn)確度。
由特征變量?jī)?yōu)選分析過(guò)程(見圖4)得知:當(dāng)變量數(shù)目在1~5時(shí),隨機(jī)森林預(yù)測(cè)模型準(zhǔn)確度隨著變量數(shù)目遞增而顯著提升;當(dāng)變量數(shù)目為13時(shí),即固定投資總額增加值納入隨機(jī)森林預(yù)測(cè)模型數(shù)據(jù)集,準(zhǔn)確度達(dá)到最大值97.39%;當(dāng)變量數(shù)目大于13時(shí),準(zhǔn)確度下跌,說(shuō)明有4個(gè)特征變量對(duì)水陸聯(lián)運(yùn)樞紐客運(yùn)量預(yù)測(cè)有干擾,應(yīng)當(dāng)刪除以提升隨機(jī)森林預(yù)測(cè)模型的準(zhǔn)確度。因此,篩選出前13位特征變量作為預(yù)測(cè)數(shù)據(jù)集。
3.4 預(yù)測(cè)結(jié)果分析
在特征變量?jī)?yōu)選的基礎(chǔ)上,對(duì)新的數(shù)據(jù)集優(yōu)選模型參數(shù),利用隨機(jī)森林模型預(yù)測(cè)2015―2019年某水陸聯(lián)運(yùn)樞紐客運(yùn)量,并與三次指數(shù)平滑法和多元線性回歸法的預(yù)測(cè)效果進(jìn)行對(duì)比(見圖5)。隨機(jī)森林模型預(yù)測(cè)結(jié)果較其他兩種預(yù)測(cè)方法的預(yù)測(cè)結(jié)果,與實(shí)際值偏差更小,總體更貼近實(shí)際值。
在3種預(yù)測(cè)模型的預(yù)測(cè)誤差對(duì)比(見表2)的基礎(chǔ)上繪制不同預(yù)測(cè)方法預(yù)測(cè)誤差箱線圖(見圖6)。由圖6可知:較三次指數(shù)平滑法與多元回歸法,隨機(jī)森林預(yù)測(cè)結(jié)果誤差均值最小,且箱線圖的中位數(shù)絕對(duì)值最小,體現(xiàn)隨機(jī)森林預(yù)測(cè)結(jié)果總體較準(zhǔn)確;隨機(jī)森林預(yù)測(cè)結(jié)果的個(gè)體相對(duì)預(yù)測(cè)誤差均在10%以內(nèi),表示隨機(jī)森林模型對(duì)各年份的單點(diǎn)預(yù)測(cè)更接近實(shí)際值;隨機(jī)森林的箱線圖極值在可接受范圍內(nèi),說(shuō)明隨機(jī)森林對(duì)異常值容忍性較好,誤差波動(dòng)較為穩(wěn)定。
綜上所述,隨機(jī)森林預(yù)測(cè)模型較三次指數(shù)平滑法與多元回歸法,在總體偏差、個(gè)體誤差及誤差波動(dòng)水平方面表現(xiàn)較優(yōu)。
4 結(jié) 語(yǔ)
水陸聯(lián)運(yùn)樞紐客運(yùn)量往往受多種因素影響,算例以某水陸聯(lián)運(yùn)樞紐客運(yùn)量為目標(biāo)變量,選取多個(gè)與目標(biāo)變量相關(guān)的因素作為預(yù)測(cè)的特征變量。通過(guò)隨機(jī)森林算法重要性分析得出,機(jī)場(chǎng)客運(yùn)量、城鎮(zhèn)居民可支配收入及旅游收入3種特征變量與目標(biāo)變量高度相關(guān)。
運(yùn)用隨機(jī)森林算法預(yù)測(cè)水陸聯(lián)運(yùn)樞紐客運(yùn)量,不僅可以有效分析各影響因素對(duì)樞紐客運(yùn)量的重要性程度,而且預(yù)測(cè)結(jié)果較為準(zhǔn)確,可以作為水陸聯(lián)運(yùn)樞紐發(fā)展與改革的理論支撐,有助于樞紐經(jīng)濟(jì)更好更快地發(fā)展。