宋宜猛
(應(yīng)急管理部信息研究院,北京 100029)
煤質(zhì)發(fā)熱量反映了單位質(zhì)量煤炭完全燃燒時(shí)所能釋放的能量,是衡量煤炭品質(zhì)的重要指標(biāo)之一,也是動(dòng)力用煤計(jì)價(jià)的主要依據(jù)[1]。目前,煤的發(fā)熱量主要通過彈筒量熱儀測量反應(yīng)物與生成物的焓差計(jì)算得到。這種方法雖然簡單、準(zhǔn)確,但實(shí)際運(yùn)用中存在速度慢、工作量大等局限性。因此,為了更加快速準(zhǔn)確獲取煤質(zhì)發(fā)熱量,許多學(xué)者對煤質(zhì)發(fā)熱量預(yù)測進(jìn)行了研究。LU等提出了一種將激光誘導(dǎo)擊穿光譜技術(shù)與人工神經(jīng)網(wǎng)絡(luò)和遺傳算法相結(jié)合的煤質(zhì)發(fā)熱量測定方法[2]。MAJUMDER等通過工業(yè)分析建立了發(fā)熱量計(jì)算模型,對發(fā)熱量進(jìn)行了預(yù)測[3];S?ZER等基于工業(yè)分析和元素分析數(shù)據(jù)通過多元線性回歸方法實(shí)現(xiàn)煤質(zhì)發(fā)熱量預(yù)測[4]。同時(shí),在發(fā)熱量與工業(yè)分析的非線性預(yù)測方面,周孑民等建立Elman神經(jīng)網(wǎng)絡(luò)預(yù)測模型,利用單煤的水分、灰分和揮發(fā)分含量直接預(yù)測混煤的發(fā)熱量[5];WEN等基于煤質(zhì)分析數(shù)據(jù),采用小波神經(jīng)網(wǎng)絡(luò)預(yù)測煤的發(fā)熱量[6];NGUYEN等采用揮發(fā)分、水分和灰分作為關(guān)鍵輸入變量,采用粒子群優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)權(quán)重/偏差進(jìn)行全局搜索,研究了優(yōu)化神經(jīng)網(wǎng)絡(luò)模型對煤質(zhì)發(fā)熱量的預(yù)測[7]。GHUGARE等基于計(jì)算智能的遺傳規(guī)劃形式,建立了3種基于工業(yè)和元素分析的發(fā)熱量預(yù)測模型[8]。董美蓉等采用煤中某些元素(非金屬元素和金屬元素)的特征光譜建立了K-CV參數(shù)優(yōu)化SVM的煤質(zhì)發(fā)熱量預(yù)測模型[9]。譚鵬、BUI等通過煤質(zhì)數(shù)據(jù)分析,建立了基于支持向量回歸的煤質(zhì)發(fā)熱量預(yù)測模型[10-11]。
雖然針對非線性關(guān)系問題神經(jīng)網(wǎng)絡(luò)具有很好的非線性逼近能力和容錯(cuò)性,但是神經(jīng)網(wǎng)絡(luò)方法存在收斂速度慢,易陷入局部最優(yōu)及隱含層確定具有主觀性等[12-13]。而支持向量機(jī)(support vector machine,SVM)在解決非線性等實(shí)際問題中克服了收斂速度慢,易陷入局部最優(yōu)解等缺點(diǎn),且具有精度高、泛化能力強(qiáng)和計(jì)算簡單的特點(diǎn),但SVM參數(shù)選取對其性能和預(yù)測結(jié)果有很大影響[14-15]。考慮到粒子群優(yōu)化算法(particle swarm optimization,PSO)具有全局搜索優(yōu)化能力強(qiáng)、收斂速度快且易于實(shí)現(xiàn)的特性,文中采用PSO對支持向量機(jī)參數(shù)進(jìn)行優(yōu)化選擇,建立參數(shù)優(yōu)化的PSO-SVM回歸模型來預(yù)測煤質(zhì)發(fā)熱量,并在同等條件下與多元線性回歸模型進(jìn)行對比分析。
支持向量機(jī)[16](support vector machine,SVM)是由Vapnik領(lǐng)導(dǎo)的研究小組于1995年首先提出的一種基于統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)化原理的機(jī)器學(xué)習(xí)方法,可用于模式分類和非線性回歸[17-18]。支持向量機(jī)方法應(yīng)用于回歸問題,得到支持向量回歸機(jī)(support vector regression,SVR),在支持向量機(jī)回歸中,支持向量回歸首先會(huì)通過一個(gè)核函數(shù)將原問題映射到高維空間,然后在這個(gè)特征空間中構(gòu)造優(yōu)化的線性回歸函數(shù)
f(x)=w·φ(x)+b
(1)
式中w為權(quán)重向量;b為偏置項(xiàng);φ(x)為從輸入空間到高維特征空間的非線性映射。
引入不敏感損失函數(shù)
L(y,f(x),ε)=|y-f(x)|=max(0,|y-f(x)|-ε)
(2)
式中f(x)為回歸函數(shù)求得的預(yù)測值;y為相應(yīng)的真實(shí)值;ε為不敏感損失系數(shù)。

(3)
式中C為懲罰因子。
將式(3)的約束優(yōu)化問題通過引入拉格朗日函數(shù)將其轉(zhuǎn)化為對偶問題,通過求解對偶問題得到式(1)的解[19]
(4)

粒子群優(yōu)化算法(particle swarm optimization,PSO)是由Kennedy和Eberhart于1995年提出的一種基于群體智能的優(yōu)化算法。
假設(shè)在一個(gè)D維的搜索空間中,由n個(gè)粒子組成的種群W=(X1,X2,…,Xn),其中Xi=(xi1,xi2,…,xiD)T為第i個(gè)粒子在D維搜索空間中的位置,亦代表問題的一個(gè)潛在解。根據(jù)適應(yīng)度函數(shù)可計(jì)算出每個(gè)粒子位置Xi對應(yīng)的適應(yīng)度值。第i個(gè)粒子的速度為Vi=(Vi1,Vi2,…,ViD)T,其個(gè)體極值為Pi=(Pi1,Pi2,…,PiD)T,種群的全局極值為Pg=(Pg1,Pg2,…,PgD)T。在每一次迭代過程中,粒子通過個(gè)體極值和全局極值更新自身的速度和位置,更新公式如下
(5)

根據(jù)支持向量機(jī)和粒子群優(yōu)化算法理論,文中構(gòu)建的PSO-SVM算法流程如圖1所示。

圖1 PSO-SVM算法流程
利用SVM解決回歸問題時(shí),針對不同的問題,需選用不同的核函數(shù),核函數(shù)的選擇對SVM預(yù)測結(jié)果影響很大,選擇恰當(dāng)?shù)暮撕瘮?shù)是保障SVM預(yù)測準(zhǔn)確性的重要一環(huán)。常用的核函數(shù)中,徑向基核函數(shù)應(yīng)用最廣泛,無論樣本大小、維數(shù)高低,徑向基核函數(shù)均適用,且收斂域?qū)挘挥幸粋€(gè)待優(yōu)化參數(shù)γ,因此,文中選用徑向基核函數(shù)。對于徑向基核函數(shù)的SVM,懲罰因子C和核參數(shù)γ是影響SVM性能的主要參數(shù),SVM預(yù)測結(jié)果的準(zhǔn)確性和可靠性依賴于(C,γ)的最佳選擇。因此,文中利用PSO全局搜索能力和全局優(yōu)化特性對SVM的懲罰因子C和核參數(shù)g進(jìn)行優(yōu)化選擇,構(gòu)建預(yù)測煤質(zhì)發(fā)熱量的PSO-SVM模型。其中,在PSO-SVM模型中懲罰因子C和核參數(shù)γ的優(yōu)化取值范圍為C∈[0.1,100],γ∈[0.01,1 000],選擇交叉驗(yàn)證的均方誤差作為適應(yīng)度函數(shù)值,設(shè)置進(jìn)化代數(shù)為200,種群規(guī)模為20,采用5折交叉驗(yàn)證。
收集的煤質(zhì)工業(yè)分析指標(biāo)有水分(Mad)、灰分(Ad)、揮發(fā)分(Vdaf)及發(fā)熱量(Qgr,d),共67組數(shù)據(jù),以水分(Mad)、灰分(Ad)和揮發(fā)分(Vdaf)作為模型的輸入量,煤質(zhì)發(fā)熱量(Qgr,d)作為目標(biāo)輸出量。圖2給出了各工業(yè)分析成分對發(fā)熱量的散點(diǎn)圖,從圖2可以看出,各工業(yè)分析成分與發(fā)熱量之間呈現(xiàn)離散分布,沒有明顯的線性關(guān)系。同時(shí),從圖3中的相關(guān)性圖也定量顯示出了個(gè)變量之間的相關(guān)性大小。工業(yè)分析中的灰分Ad與發(fā)熱量之間具有較大負(fù)相關(guān),相關(guān)系數(shù)為-0.95。

圖2 工業(yè)分析與發(fā)熱量散點(diǎn)關(guān)系

圖3 各變量之間相關(guān)性分析
將所收集的67組數(shù)據(jù)為2部分,即訓(xùn)練樣本和測試樣本,訓(xùn)練樣本共40組(見表1),用于訓(xùn)練建模,測試樣本共27組(見表2),用于對模型進(jìn)行測試檢驗(yàn)。

表1 訓(xùn)練樣本部分?jǐn)?shù)據(jù)

表2 測試樣本部分?jǐn)?shù)據(jù)
為了量化分析所建立模型的性能,分別采用平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、均方誤差(MSE)和決定系數(shù)(R2)4種指標(biāo)對模型預(yù)測性能進(jìn)行評估。
(6)
(7)
(8)
(9)

在Matlab R2012a環(huán)境下,調(diào)用LIBSVM工具箱[20]編寫PSO-SVM算法程序。對輸入輸出數(shù)據(jù)進(jìn)行Mapminmax歸一化處理以消除量級(jí)差距導(dǎo)致的誤差。根據(jù)PSO-SVM算法設(shè)計(jì),經(jīng)過PSO優(yōu)化選擇,尋優(yōu)結(jié)果為C=22.466,γ=0.01,優(yōu)化過程中適應(yīng)度值變化如圖4所示。

圖4 PSO-SVM迭代曲線
為了進(jìn)一步研究模型的預(yù)測結(jié)果,在保證訓(xùn)練和測試樣本不變的前提下,分別采用標(biāo)準(zhǔn)SVM和多元線性回歸(MLR)對煤質(zhì)發(fā)熱量進(jìn)行預(yù)測。其中,SVM中的參數(shù)除采用回歸機(jī)(‘-s 3’)外,其他值均采用LIBSVM工具箱中的默認(rèn)值;多元線性回歸通過在Matlab R2012a環(huán)境下的regress回歸函數(shù)實(shí)現(xiàn)。
通過計(jì)算,得到的MLR模型為
(10)
其中,回歸估計(jì)中各參數(shù)的置信區(qū)間分別為[35.719 4,38.536 4],[-0.898 4,-0.422 9],[-0.417 7,-0.373 2],[-0.063 4,0.000 8],相關(guān)系數(shù)r2,p=0<0.05,可知回歸模型成立。
按照PSO-SVM模型設(shè)計(jì)與參數(shù)設(shè)置,以及MLR模型參數(shù)賦值,計(jì)算運(yùn)行得到的煤質(zhì)發(fā)熱量的預(yù)測結(jié)果如圖5所示。

圖5 煤質(zhì)發(fā)熱量預(yù)測結(jié)果對比
從圖5中可以看出,無論是訓(xùn)練樣本還是測試樣本的預(yù)測結(jié)果都分布在零誤差線y=x周圍,說明預(yù)測結(jié)果與真實(shí)值吻合較好,所建立的模型均能獲得較好的預(yù)測結(jié)果。尤其是經(jīng)過PSO參數(shù)優(yōu)化之后的SVM模型,預(yù)測結(jié)果基本與真實(shí)值相一致。
進(jìn)一步,為了更清楚的分析不同模型的預(yù)測性能,量化各模型在訓(xùn)練和測試階段預(yù)測誤差和泛化性能,將PSO-SVM、SVM和多元線性回歸模型預(yù)測結(jié)果進(jìn)行對比,計(jì)算結(jié)果見表3。

表3 不同模型的預(yù)測性能對比
從圖5和表3中可知,3種模型的預(yù)測效果均較好,訓(xùn)練樣本預(yù)測結(jié)果的MAE,MAPE和RMSE:MLR模型 1)基于SVM和PSO理論建立PSO-SVM煤質(zhì)發(fā)熱量預(yù)測模型,該方法利用PSO對SVM的懲罰因子C和核參數(shù)γ進(jìn)行尋優(yōu),建立了具有較優(yōu)參數(shù)的PSO-SVM模型。 2)所建立的PSO-SVM模型、SVM模型和MLR模型均可以迅速準(zhǔn)確的預(yù)測煤質(zhì)發(fā)熱量,測試樣本預(yù)測結(jié)果的平均絕對百分誤差分別為2.433%,2.956%,3.135%,說明所建立模型具有較好的預(yù)測效果。 3)經(jīng)過PSO優(yōu)化建立的PSO-SVM模型預(yù)測精度得到了顯著提高,具有更好的泛化性和外推能力,相較于MLR線性模型具備更精準(zhǔn)的預(yù)測能力,更適合煤質(zhì)發(fā)熱量的預(yù)測。4 結(jié) 論