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