鄭海濤
(華北電力大學(xué),北京 102206)
2021 年出現(xiàn)了罕見(jiàn)的供電缺口。這是由于在全球供應(yīng)鏈緊缺加上國(guó)內(nèi)復(fù)工復(fù)產(chǎn)的環(huán)境下,中國(guó)外貿(mào)進(jìn)出口貿(mào)易激增,工商業(yè)用電量均大幅增加,煤炭需求量激增。又疊加電廠季節(jié)性型增加庫(kù)存,導(dǎo)致煤炭鐵路出現(xiàn)運(yùn)力不足,電廠存在煤炭短缺的情況。因此鐵路發(fā)運(yùn)量預(yù)測(cè)對(duì)穩(wěn)定電力生產(chǎn)具有重要意義。
很多研究者對(duì)影響煤炭鐵路發(fā)運(yùn)量進(jìn)行了分析。在經(jīng)濟(jì)環(huán)境方面,有研究者將鐵路沿線的電廠發(fā)電用煤需求作為影響發(fā)運(yùn)量的關(guān)鍵因素[1],同時(shí)北方港口吞吐量對(duì)鐵路運(yùn)輸也具有替代作用[2]。在運(yùn)輸成本方面,有研究者分別從鐵路運(yùn)價(jià)與煤炭聯(lián)運(yùn)的全程物流總成本[3]角度進(jìn)行了煤炭鐵路運(yùn)輸量的分析。
而在通過(guò)煤炭供需環(huán)境對(duì)煤炭鐵路發(fā)運(yùn)量進(jìn)行預(yù)測(cè)幾乎沒(méi)有人研究,也幾乎沒(méi)有研究者將機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘方法加入對(duì)煤炭鐵路發(fā)運(yùn)量的預(yù)測(cè)當(dāng)中。該文通過(guò)構(gòu)建煤炭鐵路發(fā)運(yùn)量相關(guān)數(shù)據(jù)集,利用隨機(jī)森林算法的高精度與決策可視化的優(yōu)點(diǎn)構(gòu)建煤炭鐵路運(yùn)輸量預(yù)測(cè)模型,利用自適應(yīng)提升法提高模型的精度與穩(wěn)定性,利用模型找出與發(fā)運(yùn)量相關(guān)的關(guān)鍵變量,并與其他傳統(tǒng)算法進(jìn)行精度與穩(wěn)定性的對(duì)比分析。
在該研究中,利用大數(shù)據(jù)挖掘的思想,從煤炭的供需數(shù)據(jù)、運(yùn)輸價(jià)格、港口發(fā)運(yùn)量和各環(huán)節(jié)煤炭庫(kù)存等構(gòu)建用于預(yù)測(cè)的煤炭鐵路發(fā)運(yùn)量相關(guān)數(shù)據(jù)集。
在煤炭供給方面,包括全國(guó)煤炭產(chǎn)量、各省煤炭產(chǎn)量、各種煤炭進(jìn)口量、港口煤炭庫(kù)存、全國(guó)煤礦庫(kù)存和全國(guó)重點(diǎn)發(fā)電企業(yè)煤炭庫(kù)存等。在煤炭的需求方面,包括全國(guó)二、三產(chǎn)業(yè)增加值與同比增長(zhǎng)率、各省與全國(guó)的發(fā)電量、各省的火力發(fā)電量、各省的水力和風(fēng)力發(fā)電量、各類型發(fā)電設(shè)備的裝機(jī)容量、各地區(qū)的氣溫變動(dòng)、各省的生鐵產(chǎn)量以及各省的水泥產(chǎn)量等。在價(jià)格成本方面,包括了鐵路運(yùn)價(jià)、港口煤炭?jī)r(jià)格與山西煤炭現(xiàn)貨價(jià)格。在運(yùn)量方面,包括了各大港口煤炭吞吐量、太原局鐵路發(fā)運(yùn)量、大秦鐵路發(fā)運(yùn)量、朔黃鐵路發(fā)運(yùn)量以及合計(jì)鐵路發(fā)運(yùn)量等。
該文將隨機(jī)森林算法作為鐵路發(fā)運(yùn)量的底層預(yù)測(cè)算法對(duì)其進(jìn)行回歸分析。作為一個(gè)機(jī)器學(xué)習(xí)算法,和傳統(tǒng)的線性回歸模型和應(yīng)對(duì)時(shí)間序列數(shù)據(jù)的自回歸模型相比,隨機(jī)森林算法有眾多優(yōu)點(diǎn)。除模型的精度與穩(wěn)定性更高外,它可以通過(guò)模型內(nèi)的損失函數(shù)與給輸入變量設(shè)置權(quán)重的方法選取相關(guān)的變量進(jìn)行回歸或分類分析。和其他的黑箱模型相比,隨機(jī)森林模型算法可以進(jìn)行可視化,有一定的可解釋性。隨機(jī)森林是一種將多個(gè)決策樹(shù)組合在一起的集成方法,通常用Bagging 或者pasting 方法訓(xùn)練[4],和其他生成單一模型的算法相比,將多個(gè)模型整合的隨機(jī)森林具有一定的先天優(yōu)勢(shì)。算法從原始樣本中提取不同的多個(gè)樣本,根據(jù)每個(gè)樣本數(shù)據(jù)分別建立決策樹(shù)模型,最終通過(guò)投票得到最終結(jié)果[5]。
隨機(jī)森林回歸模型是由多個(gè)決策樹(shù)回歸器組成的,每個(gè)決策樹(shù)(CART)使用單個(gè)特征k、閾值與最小化成本函數(shù)將訓(xùn)練集分成2 個(gè)子集,成本函數(shù)如公式(1)所示。
式中:n為訓(xùn)練集中樣本數(shù)量;nL、nR分別為特征分解閾值YkYk左、右兩端樣本數(shù)量。
公式(1)中,每個(gè)節(jié)點(diǎn)在分解子集時(shí)通過(guò)計(jì)算在利用k特征分解時(shí)閾值Yk左、右兩端(或節(jié)點(diǎn))的均方誤差(MSEL與MSER)和最小【表意不明,請(qǐng)修改】,得到該節(jié)點(diǎn)最優(yōu)特征k與最優(yōu)閾值YkYk。通常情況下,在決策樹(shù)模型做分類時(shí)會(huì)將基尼不純度或信息熵作為成本函數(shù)中均方誤差的替換項(xiàng)。
某節(jié)點(diǎn)的MSE 的結(jié)果是由該節(jié)點(diǎn)所有樣本中變量y 的均值與每個(gè)y的實(shí)際值的差進(jìn)行平方和計(jì)算得到的。
由于單一學(xué)習(xí)器導(dǎo)致誤差較大,因此基于大數(shù)定理提高學(xué)習(xí)器的預(yù)測(cè)精度需要將多個(gè)弱分類器結(jié)合成一個(gè)強(qiáng)分類器,即將多個(gè)決策樹(shù)模型結(jié)合為一個(gè)模型(隨機(jī)森林模型)。其中結(jié)合多個(gè)模型的方法為Bagging 算法。Bagging 的基本流程是采樣出M個(gè)含有n個(gè)訓(xùn)練樣本的采樣集,然后基于每個(gè)采樣集訓(xùn)練出一個(gè)CART 學(xué)習(xí)器,再將這些CART 學(xué)習(xí)器進(jìn)行結(jié)合。對(duì)預(yù)測(cè)輸出進(jìn)行結(jié)合時(shí),Bagging 對(duì)回歸任務(wù)使用簡(jiǎn)單平均法。
為了進(jìn)一步提高模型的預(yù)測(cè)精度,該研究選用自適應(yīng)提升法對(duì)隨機(jī)森林算法進(jìn)行模型精度與穩(wěn)定性的提升。隨機(jī)森林模型對(duì)訓(xùn)練集預(yù)測(cè)后,在每個(gè)樣本上都會(huì)產(chǎn)生一個(gè)不同預(yù)測(cè)誤差,AdaBoost 算法[6]會(huì)為每個(gè)樣本重新設(shè)置權(quán)重,針對(duì)預(yù)測(cè)誤差較高的樣本模型,在下一次的迭代中,算法會(huì)針對(duì)這一部分的樣本模型進(jìn)行進(jìn)一步的優(yōu)化提升。它使用更新后的權(quán)重訓(xùn)練第二個(gè)隨機(jī)森林學(xué)習(xí)器,并再次對(duì)訓(xùn)練集進(jìn)行預(yù)測(cè)和更新權(quán)重,直到訓(xùn)練出較為合適數(shù)量(N)的隨機(jī)森林學(xué)習(xí)器[7]。AdaBoost 使用權(quán)重aj對(duì)它們進(jìn)行加權(quán),最后得到的大多數(shù)加權(quán)投票的預(yù)測(cè)結(jié)果就是最終模型給出的預(yù)測(cè)結(jié)果,如公式(3)所示。
式中:M為學(xué)習(xí)器數(shù)量;k為第j個(gè)學(xué)習(xí)器的預(yù)測(cè)值。
這在一定程度上解決了一般模型容易發(fā)生過(guò)擬合的問(wèn)題。由于數(shù)據(jù)樣本量較少,同時(shí)為了提高模型的精準(zhǔn)度與穩(wěn)定性,避免過(guò)擬合,因此需要在模型訓(xùn)練過(guò)程中降低決策樹(shù)的自由度,即對(duì)模型中n_estimators(決策樹(shù)數(shù)量)、max_depth(決策樹(shù)深度)等超參數(shù)進(jìn)行正則化。
利用網(wǎng)格搜索最終確定該模型的超參數(shù)。網(wǎng)格搜索是對(duì)每個(gè)超參數(shù)選擇一個(gè)較小的有限集去探索,這些超參數(shù)笛卡爾乘積得到若干組超參數(shù),然后網(wǎng)格搜索使用每組超參數(shù)訓(xùn)練模型,挑選驗(yàn)證集誤差最小的超參數(shù)作為最好的超參數(shù)。
模型構(gòu)建流程圖如圖1 所示。
圖1 Ada-RF 模型構(gòu)建技術(shù)路線圖
該研究分別對(duì)太原局鐵路發(fā)運(yùn)量、大秦鐵路發(fā)運(yùn)量、朔黃鐵路發(fā)運(yùn)量和合計(jì)鐵路發(fā)運(yùn)量4 個(gè)變量構(gòu)建模型,利用網(wǎng)格搜索分別對(duì)這4 個(gè)模型尋找超參數(shù),最終確定的超參數(shù)見(jiàn)表1。
表1 模型超參數(shù)設(shè)置表
為驗(yàn)證模型的預(yù)測(cè)精度,分別構(gòu)建自適應(yīng)提升的隨機(jī)森林模型、隨機(jī)森林模型(RF)、自適應(yīng)提升的決策樹(shù)模型(Ada-Tree)、線性回歸模型(LR)與決策樹(shù)模型(Tree)分別對(duì)太原局鐵路發(fā)運(yùn)量、大秦鐵路發(fā)運(yùn)量、朔黃鐵路發(fā)運(yùn)量與合計(jì)鐵路發(fā)運(yùn)量進(jìn)行預(yù)測(cè)。為客觀評(píng)估各預(yù)測(cè)模型的精度與穩(wěn)定性,該研究選擇平均絕對(duì)誤差(Mean Absolute Error,簡(jiǎn)稱MAE)驗(yàn)證模型的精度,用均方誤差(Mean Square Error,簡(jiǎn)稱MSE)驗(yàn)證模型的平穩(wěn)性,計(jì)算公式如公式(4)、公式(5)所示。
式中:n 為樣本數(shù)量;為樣本i 中被鐵路發(fā)運(yùn)量真實(shí)值;為樣本i 中被鐵路發(fā)運(yùn)量預(yù)測(cè)值。
使用5 折交叉驗(yàn)證方法驗(yàn)證各模型預(yù)測(cè)精度,結(jié)果見(jiàn)表2。
表2 模型預(yù)測(cè)精度與穩(wěn)定性表
從表2 可以看出,Ada-RF 模型對(duì)各鐵路線發(fā)運(yùn)量預(yù)測(cè)誤差均在3.2%以下,其中對(duì)太原、大秦、朔黃的合計(jì)鐵路發(fā)運(yùn)量的預(yù)測(cè)效果最好,預(yù)測(cè)精度達(dá)到98.78%,預(yù)測(cè)結(jié)果的均方誤差為8.60。其次為對(duì)太原局鐵路發(fā)運(yùn)量的預(yù)測(cè),預(yù)測(cè)精度達(dá)到98.20%,預(yù)測(cè)結(jié)果的均方誤差為12.56。同時(shí)Adaboost提升法對(duì)隨機(jī)森林模型精度的提升在1.25%至11.92%。相比之下,Ada-RF 在預(yù)測(cè)精度與穩(wěn)定性上均強(qiáng)于其他模型,尤其是比傳統(tǒng)線性回歸模型的預(yù)測(cè)精度平均提升了7.39%。從總樣本中隨機(jī)選取90%的樣本作為訓(xùn)練集,其余樣本作為測(cè)試集,利用上述各模型合計(jì)三大鐵路煤炭發(fā)運(yùn)量,結(jié)果如圖2 所示。除線性回歸模型外,其余機(jī)器學(xué)習(xí)模型對(duì)鐵路煤炭發(fā)運(yùn)量的預(yù)測(cè)效果都是較為理想的,Ada-RF 模型的回歸預(yù)測(cè)效果最好,最貼近真實(shí)值。
圖2 各模型預(yù)測(cè)效果圖
機(jī)器學(xué)習(xí)算法可以通過(guò)模型內(nèi)置函數(shù)得到不同變量的重要程度,這樣對(duì)模型的擬合得到影響鐵路月煤炭發(fā)運(yùn)量的關(guān)鍵性因素,利用大數(shù)據(jù)挖掘的思想,從眾多的相關(guān)變量中篩選出影響其變動(dòng)的實(shí)際的關(guān)鍵因素,太原局鐵路發(fā)運(yùn)量、大秦鐵路發(fā)運(yùn)量、朔黃鐵路發(fā)運(yùn)量與合計(jì)鐵路發(fā)運(yùn)量的重要程度排序見(jiàn)表3。
由表3 可以看出,影響太原局鐵路發(fā)運(yùn)量的關(guān)鍵因素包括各地區(qū)的發(fā)電量、水力發(fā)電占比與進(jìn)港煤炭量等。影響大秦鐵路發(fā)運(yùn)量的關(guān)鍵因素包括港口庫(kù)存量、出港煤炭量、火電發(fā)電量量同比增長(zhǎng)率與秦皇島港口煤炭?jī)r(jià)格等。朔黃鐵路發(fā)運(yùn)量主要和各地區(qū)發(fā)電、港口煤炭的庫(kù)存及港口進(jìn)出量相關(guān)。而合計(jì)鐵路發(fā)運(yùn)量除了同樣受港口情況影響外,還有工業(yè)同比月增長(zhǎng)率、山西電煤價(jià)格、全國(guó)重點(diǎn)電廠庫(kù)存等影響因素。
表3 影響煤炭鐵路發(fā)運(yùn)量的關(guān)鍵影響因素
該文通過(guò)煤炭鐵路發(fā)運(yùn)量相關(guān)的月度數(shù)據(jù)進(jìn)行數(shù)據(jù)集構(gòu)建。影響煤炭鐵路發(fā)運(yùn)量的影響因素較多,為提升鐵路發(fā)運(yùn)量的預(yù)測(cè)精度,尋找影響煤炭鐵路發(fā)運(yùn)量的關(guān)鍵影響因素,該研究中構(gòu)建了自適應(yīng)提升的隨機(jī)森林算法預(yù)測(cè)模型,該方法對(duì)影響因素較為復(fù)雜的煤炭鐵路發(fā)運(yùn)量的預(yù)測(cè)精度較高。先將構(gòu)建的數(shù)據(jù)集訓(xùn)練隨機(jī)森林模型,利用網(wǎng)格搜索找到最優(yōu)超參數(shù),然后利用自適應(yīng)提升法對(duì)隨機(jī)森林模型進(jìn)行迭代提升,得到最終的煤炭發(fā)運(yùn)量預(yù)測(cè)模型。利用該方法分別對(duì)太原局鐵路發(fā)運(yùn)量、大秦鐵路發(fā)運(yùn)量、朔黃鐵路發(fā)運(yùn)量與合計(jì)鐵路發(fā)運(yùn)量進(jìn)行預(yù)測(cè),同時(shí)選取了多種模型與2 種模型誤差評(píng)價(jià)指標(biāo),驗(yàn)證了模型預(yù)測(cè)的精度與穩(wěn)定性,同時(shí)根據(jù)模型賦予各變量的重要性確定了影響煤炭鐵路發(fā)運(yùn)量的關(guān)鍵影響因素。結(jié)果發(fā)現(xiàn),使用Ada-RF 模型對(duì)鐵路發(fā)運(yùn)量的預(yù)測(cè)精度與穩(wěn)定性都優(yōu)于其他模型,同時(shí)自適應(yīng)提升對(duì)煤炭鐵路發(fā)運(yùn)量預(yù)測(cè)模型的預(yù)測(cè)效果有明顯提升。該研究對(duì)鐵路發(fā)運(yùn)量影響因素發(fā)掘、煤炭供應(yīng)鏈的穩(wěn)定和火電廠安全生產(chǎn)具有一定意義。