周 旭,朱 毅,張九零,秦思佳,王藝博
(1.華北理工大學(xué) 礦業(yè)工程學(xué)院,河北 唐山 063210; 2.華北理工大學(xué) 以升創(chuàng)新教育基地,河北 唐山 063210)
礦井火災(zāi)嚴(yán)重威脅煤礦的開(kāi)采與生產(chǎn),在煤炭生產(chǎn)過(guò)程中,礦井火災(zāi)會(huì)造成大量的人員傷亡,經(jīng)濟(jì)損失,環(huán)境污染等問(wèn)題[1-3],煤自燃火災(zāi)占礦井火災(zāi)的90%以上,因此,提高煤自燃預(yù)測(cè)精度是實(shí)現(xiàn)火災(zāi)預(yù)警和礦山安全生產(chǎn)的前提[4-5]。
煤自燃指標(biāo)氣體是煤自燃預(yù)警的主要依據(jù),國(guó)內(nèi)外研究學(xué)者將煤自燃過(guò)程中產(chǎn)生的氣體與煤溫的關(guān)聯(lián)關(guān)系構(gòu)建數(shù)學(xué)模型,在煤自燃預(yù)測(cè)預(yù)報(bào)方面做了大量工作[1]。梁運(yùn)濤[6]通過(guò)研究煤自然發(fā)火的溫度與氧濃度的變化,基于多孔介質(zhì)滲流力學(xué)和傳熱傳質(zhì)學(xué)理論,建立了煤自燃過(guò)程的數(shù)學(xué)模型;WANG E等[7]分析了煤自燃反應(yīng)中的各元素反應(yīng)順序,確定了自熱、自燃過(guò)程的主次關(guān)系,揭示出煤轉(zhuǎn)化的自由基結(jié)構(gòu);王德明等[8]挖掘煤自燃過(guò)程中的13個(gè)基元反應(yīng)及其反應(yīng)順序和繼發(fā)性關(guān)系,揭示了煤氧化動(dòng)力學(xué)過(guò)程,提出了煤氧化動(dòng)力學(xué)理論;HU Xincheng等[9]通過(guò)分析上部隧道瓦斯指數(shù)系列混沌特征,提出了一種有效的煤自燃風(fēng)險(xiǎn)預(yù)測(cè)方法;秦波濤等[10]利用程序升溫氧化實(shí)驗(yàn),獲取指標(biāo)氣體,通過(guò)分析指標(biāo)氣體與溫度的關(guān)聯(lián)關(guān)系構(gòu)建預(yù)警機(jī)制;鄭學(xué)召等[11]基于隨機(jī)森林算法構(gòu)建了煤自燃溫度預(yù)測(cè)模型,并將其與粒子群優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型,SVM模型進(jìn)行比較分析,指出RF模型對(duì)煤自燃溫度預(yù)測(cè)具有較高的精準(zhǔn)度;鄧軍等[12]基于PSO-SVM算法構(gòu)建了煤自燃預(yù)測(cè)模型,并將其與不同的模型性能進(jìn)行了對(duì)比分析,表明優(yōu)化后的PSO-SVM模型預(yù)測(cè)精度大幅度提高。XGBoost算法提出后,在諸多領(lǐng)域得到廣泛的應(yīng)用[13-17],TRIZOGLOU Pavlos等[16]利用XGBoost模型對(duì)海上風(fēng)電設(shè)備進(jìn)行故障預(yù)測(cè),并將其與深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進(jìn)行了比較,表明XGBoost模型在預(yù)測(cè)準(zhǔn)確性、訓(xùn)練時(shí)間上優(yōu)于長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM);HAO Mo等[17]分別利用XGBoost模型與Logistic模型對(duì)居住者窗口行為進(jìn)行預(yù)測(cè),表明XGBoost在對(duì)居住者窗口行為及其他行為類(lèi)型的建模方面比Logistic回歸分析具有明顯的優(yōu)勢(shì)。
基于此,采用XGBoost模型進(jìn)行煤自燃溫度預(yù)測(cè)研究,并利用粒子群優(yōu)化算法對(duì)XGBoost模型的隨機(jī)采樣率和最小葉子節(jié)點(diǎn)樣本權(quán)重進(jìn)行優(yōu)化,建立PSO-XGBoost回歸預(yù)測(cè)模型,以實(shí)現(xiàn)對(duì)煤自燃溫度的準(zhǔn)確預(yù)測(cè),為礦井煤自燃預(yù)測(cè)預(yù)警提供新的方法。
XGBoost是基于GBRT的一種高效改進(jìn)的算法,其兼具線性規(guī)模求解器和樹(shù)學(xué)習(xí)算法。相較于傳統(tǒng)的Boosting庫(kù),XGBoost算法對(duì)損失函數(shù)進(jìn)行二階泰勒展開(kāi),并且引入了L1和L2兩個(gè)正則化項(xiàng)以求整體最優(yōu)解,以此來(lái)衡量目標(biāo)函數(shù)的下降,以及模型整體的復(fù)雜程度,有效地提高了模型的泛化能力[18-19]。
假設(shè)對(duì)于給定數(shù)據(jù)集:D={(xi,yi):i=1,2,…,m,xi∈Rp,yi∈R}由p個(gè)特征組成,共m個(gè)樣本。假設(shè)給定k(k=1,2,…,K)棵回歸樹(shù),F(xiàn)為回歸樹(shù)的集合空間,則模型可表示為:
(1)
目標(biāo)函數(shù)為:
(2)
為防止出現(xiàn)過(guò)擬合現(xiàn)象,在XGBoost模型中加入正則項(xiàng)Ω(fk)。XGBoost使用梯度提升法迭代運(yùn)算,在每次迭代過(guò)程中,將一個(gè)新的回歸樹(shù)添加到模型中,則第t次迭代運(yùn)算結(jié)果為:
(3)
將式(3)代入式(2),得到第t次迭代的目標(biāo)函數(shù)Obj(t):
(4)
將目標(biāo)函數(shù)做二階泰勒展開(kāi),并加入正則項(xiàng)Ω(fk):
(5)
式中:T和ω分別為樹(shù)葉子節(jié)點(diǎn)數(shù)目和葉子權(quán)重值;γ為葉子樹(shù)懲罰系數(shù);λ為葉子權(quán)重懲罰系數(shù)。
在粒子群優(yōu)化算法中,每個(gè)解對(duì)應(yīng)搜索空間的一個(gè)粒子,每個(gè)粒子是一個(gè)個(gè)體,由一個(gè)位置矢量和一個(gè)速度矢量組成[20-21]。假設(shè)在一個(gè)D維的搜索空間中,由m個(gè)粒子組成的種群,粒子在運(yùn)動(dòng)中產(chǎn)生的最優(yōu)位置(pbest)記為:
pi=(pi1,pi2,…,piD),i=1,2,…,m
(6)
式中:m為粒子的個(gè)數(shù);D為粒子的維數(shù)。
第i個(gè)粒子的D維位置矢量記為xi=(xi1,xi2,…,xiD),第i個(gè)粒子的速度矢量記為:vi=(vi1,vi2,…,viD),此二者分別決定了第i個(gè)粒子飛行的位置和方向;pg=(pg1,pg2,…,pgD)為整個(gè)粒子群歷史搜索到的最優(yōu)位置(gbest),其中g(shù)為粒子編號(hào),g∈{1,2,…,m}。粒子群優(yōu)化算法首先初始化粒子群,計(jì)算出每個(gè)粒子的適應(yīng)值,通過(guò)迭代搜索最優(yōu)解。在每次迭代中,粒子通過(guò)個(gè)體極值和全局極值來(lái)更新自身的速度和位置,更新公式如下:
(7)
式中:k為迭代次數(shù);ω為慣性權(quán)重;r1、r2為[0, 1]內(nèi)的隨機(jī)數(shù);c1、c2為學(xué)習(xí)因子,也稱(chēng)為加速因子。
基于XGBoost原理與PSO算法理論,構(gòu)建PSO優(yōu)化XGBoost參數(shù)的煤自燃溫度預(yù)測(cè)模型,流程如下:
1)數(shù)據(jù)預(yù)處理,刪除數(shù)據(jù)集中的缺失值,將其做標(biāo)準(zhǔn)化處理;
2)將“實(shí)驗(yàn)溫度”作為輸出特征,其余特征作為輸入;將數(shù)據(jù)集的70%作為訓(xùn)練集,30%作為測(cè)試集;
3)初始化粒子及其速度,將隨機(jī)采樣率(subsample)與最小葉子節(jié)點(diǎn)樣本權(quán)重(min_child_weight)設(shè)為代求參數(shù),將模型擬合的決定系數(shù)R2作為適應(yīng)度函數(shù)值,根據(jù)適應(yīng)度函數(shù)值初始化粒子全局最優(yōu)值與個(gè)體最優(yōu)值;
4)根據(jù)式(7)更新粒子速度與位置,計(jì)算其適應(yīng)度值,更新個(gè)體最優(yōu)值與全局最優(yōu)值;
5)判斷是否滿足終止條件,若不滿足則繼續(xù)更新個(gè)體最優(yōu)值與全局最優(yōu)值;若滿足則輸出最優(yōu)參數(shù)(subsample,min_child_weight);
6)選取最優(yōu)參數(shù)組合(subsample,min_child_weight),構(gòu)建參數(shù)優(yōu)化的XGBoost回歸模型。
具體流程圖如圖1所示。
圖1 煤自燃預(yù)測(cè)模型流程圖
選取文獻(xiàn)[1]中東灘礦煤樣煤自燃實(shí)驗(yàn)獲取的337組數(shù)據(jù)進(jìn)行分析,選取O2體積分?jǐn)?shù)、CO體積分?jǐn)?shù)、C2H4體積分?jǐn)?shù),以及CO體積分?jǐn)?shù)與剩余O2體積分?jǐn)?shù)的比值、C2H4體積分?jǐn)?shù)與C2H6體積分?jǐn)?shù)的比值作為指標(biāo)。部分實(shí)驗(yàn)樣本數(shù)據(jù)如表1所示。
表1 部分實(shí)驗(yàn)樣本數(shù)據(jù)
為了檢驗(yàn)?zāi)P途_度,利用平均絕對(duì)誤差(MAE),平均絕對(duì)百分比誤差(MAPE)和均方根誤差(RMSE)對(duì)模型進(jìn)行評(píng)估。
MAE為模型預(yù)測(cè)絕對(duì)誤差的期望值,MAE的值越小,說(shuō)明模型對(duì)于描述整體實(shí)驗(yàn)數(shù)據(jù)具有更好的精確度,即模型更穩(wěn)定。其計(jì)算公式如下:
(8)
式中N為樣本個(gè)數(shù)。
MAPE指所有單個(gè)觀測(cè)值與算術(shù)平均值的偏差的絕對(duì)值的平均值,其結(jié)果用百分?jǐn)?shù)表示以更加直觀。MAPE越小,說(shuō)明預(yù)測(cè)值與實(shí)際值偏差的期望越小,即模型更精確。其計(jì)算公式如下:
(9)
RMSE是預(yù)測(cè)值與真實(shí)值偏差的平方與樣本個(gè)數(shù)N比值的平方根,用以衡量預(yù)測(cè)值與真實(shí)值之間的偏差。RMSE值越小,說(shuō)明模型對(duì)數(shù)據(jù)預(yù)測(cè)準(zhǔn)確度越高。其計(jì)算公式如下:
(10)
刪除原始數(shù)據(jù)中的缺失值并對(duì)其進(jìn)行標(biāo)準(zhǔn)化處理,以消除數(shù)據(jù)間由于指標(biāo)單位不同而存在的差異。其計(jì)算公式如下:
(11)
將數(shù)據(jù)按照70%與30%的比例隨機(jī)劃分為訓(xùn)練集與測(cè)試集。其中將訓(xùn)練集導(dǎo)入XGBoost框架下的XGBRegressor函數(shù)中進(jìn)行訓(xùn)練,測(cè)試集用于驗(yàn)證模型泛化能力,檢驗(yàn)?zāi)P皖A(yù)測(cè)效果。
XGBoost模型的參數(shù)主要包括:回歸樹(shù)數(shù)量、回歸樹(shù)最大深度、學(xué)習(xí)率、回歸樹(shù)隨機(jī)采樣率、回歸樹(shù)最小葉子節(jié)點(diǎn)樣本權(quán)重和回歸樹(shù)特征采樣率,以及L1、L2正則化權(quán)重。根據(jù)預(yù)測(cè)指標(biāo),結(jié)合粒子群搜索方法逐步調(diào)整模型參數(shù),過(guò)程如下:
1) 調(diào)整回歸樹(shù)數(shù)量(n_estimators)與回歸樹(shù)最大深度(max_depth),分別從[100,600],[3,10]取值計(jì)算測(cè)試集誤差指標(biāo)MAPE。
回歸樹(shù)數(shù)量和最大深度對(duì)MAPE的影響如圖2所示。由圖2可知:隨著回歸樹(shù)的數(shù)量增長(zhǎng),其平均絕對(duì)百分比誤差在樹(shù)的數(shù)量為400時(shí)達(dá)到最小值,且隨著回歸樹(shù)的數(shù)量上升,MAPE無(wú)明顯變化;對(duì)于回歸樹(shù)的最大深度,當(dāng)其等于10時(shí)誤差最小,模型精度最高。調(diào)整學(xué)習(xí)率,調(diào)整區(qū)間為[0.05,0.1]。當(dāng)學(xué)習(xí)率為0.1時(shí),誤差最小,MAPE=0.096%。
(a)MAPE—回歸樹(shù)數(shù)量曲線
2) 調(diào)整回歸樹(shù)隨機(jī)采樣率(subsample)與回歸樹(shù)最小葉子節(jié)點(diǎn)樣本權(quán)重(min_child_weight)。調(diào)整區(qū)間均為[0.7,1.0]。XGBoost參數(shù)變化對(duì)MAPE影響如圖3所示。
圖3 XGBoost參數(shù)變化對(duì)MAPE的影響
MAPE隨回歸樹(shù)隨機(jī)采樣率、最小葉子節(jié)點(diǎn)樣本權(quán)重的變化關(guān)系較為復(fù)雜,因此采用粒子群對(duì)其進(jìn)行參數(shù)調(diào)優(yōu)。結(jié)合上文分析,PSO對(duì)XGBoost的2個(gè)參數(shù)尋優(yōu)結(jié)果為:subsample =0.95;min_child_weight =0.998。PSO迭代過(guò)程如圖4所示,當(dāng)?shù)螖?shù)達(dá)到100次時(shí),擬合率達(dá)到0.941 3。
圖4 PSO迭代過(guò)程
3) 調(diào)整回歸樹(shù)特征采樣率(colsampe_bytree)及L1、L2正則化權(quán)重,調(diào)整區(qū)間分別為[0,1]與[0,7]。當(dāng)colsampe_bytree=1,reg_alpha=1,reg_lambda =1時(shí)誤差最小,MAPE=0.072%。
經(jīng)過(guò)上述參數(shù)調(diào)整,使得模型最終對(duì)訓(xùn)練集的MAPE=0.072%,對(duì)測(cè)試集預(yù)測(cè)的平均絕對(duì)誤差MAE=11.675;平均絕對(duì)百分比誤差MAPE=6.86%;均方根誤差RMSE=27.443。
為進(jìn)一步了解各變量對(duì)煤自燃溫度的影響程度,將各變量在所有樹(shù)中出現(xiàn)的次數(shù)之和作為樣本各變量的特征重要性,繪制特征重要性圖,如圖5所示。
圖5 樣本變量重要性
由圖5可以看出,O2、CO體積分?jǐn)?shù)對(duì)煤溫度變化的影響較大,而C2H4與C2H6的體積分?jǐn)?shù)比值對(duì)煤溫的影響較小。
在測(cè)試集上,分別應(yīng)用PSO-XGBoost、RF、GBRT及XGBoost模型進(jìn)行預(yù)測(cè),并將其結(jié)果進(jìn)行對(duì)比分析。其中,隨機(jī)森林模型的葉子大小設(shè)置為5,樹(shù)的棵樹(shù)設(shè)置為70,此時(shí)誤差達(dá)到最小值。GBRT參數(shù)分別設(shè)置為:最大迭代次數(shù)n_estimators=100,學(xué)習(xí)率learning_rate=0.1,回歸樹(shù)隨機(jī)采樣率subsample=1。XGBoost模型,在未對(duì)其進(jìn)行參數(shù)調(diào)節(jié)時(shí),其初始參數(shù)分別為:n_estimators=300,回歸樹(shù)的最大深度max_depth=5,學(xué)習(xí)率learning_rate=0.1,回歸樹(shù)隨機(jī)采樣率subsample=1,最小葉子節(jié)點(diǎn)樣本權(quán)重和min_child_weight=1,回歸樹(shù)特征采樣率colsampe_bytree=1。
上述3種模型與PSO-XGBoost模型預(yù)測(cè)結(jié)果對(duì)比情況如表2所示。
表2 各類(lèi)模型對(duì)比
分析表2可知:對(duì)于訓(xùn)練集,XGBoost模型相對(duì)于RF與GBRT模型擬合的誤差更小,說(shuō)明其訓(xùn)練效果更佳;對(duì)于測(cè)試集,XGBoost模型的測(cè)試誤差稍小于RF與GBRT模型,但相比于訓(xùn)練集的誤差,可反映出其陷入過(guò)擬合狀態(tài)。而PSO-XGBoost模型在經(jīng)過(guò)參數(shù)優(yōu)化過(guò)后,其對(duì)于訓(xùn)練集與測(cè)試集的預(yù)測(cè)效果均有較明顯的提升。相比于傳統(tǒng)XGBoost模型,在經(jīng)過(guò)PSO優(yōu)化參數(shù)后的XGBoost模型對(duì)于本文測(cè)試集預(yù)測(cè)的平均絕對(duì)誤差MAE降低了6.28%,平均絕對(duì)百分比誤差MAPE降低了9.67%,均方根誤差RMSE降低了2.73%。
1)結(jié)合PSO優(yōu)化算法與XGBoost算法,提出能應(yīng)用于煤自燃預(yù)測(cè)的PSO-XGBoost模型。
2)采用PSO優(yōu)化算法對(duì)XGBoost的參數(shù)進(jìn)行優(yōu)化,選取最優(yōu)參數(shù)組合,結(jié)果表明,PSO-XGBoost模型相較于XGBoost具有更好的預(yù)測(cè)精度。
3)為了驗(yàn)證PSO-XGBoost模型的準(zhǔn)確性,將PSO-XGBoost、XGBoost、RF與GBRT模型應(yīng)用于煤自燃預(yù)測(cè),結(jié)果顯示,PSO-XGBoost模型在精度和魯棒性方面明顯優(yōu)于其他3種模型,該模型為礦井煤自燃預(yù)測(cè)預(yù)警提供了新的方法。