薛美盛,王 旭,冀若陽
(中國科學(xué)技術(shù)大學(xué) 自動(dòng)化系,合肥 230026)
隨著我國經(jīng)濟(jì)的高速發(fā)展,電力需求不斷增多,且我國大部分的電能來自燃煤火力發(fā)電.燃煤火電廠在利用燃煤發(fā)電的過程中,會(huì)產(chǎn)生各種廢氣、廢水、灰渣,其中廢氣中帶有的SO2是大氣的主要污染物之一[1].國家對于排煙的指標(biāo)要求越來越高,因此實(shí)現(xiàn)脫硫系統(tǒng)的高效穩(wěn)定運(yùn)行顯得至關(guān)重要[2].
目前,各熱電廠主要采用的煙氣檢測裝備是煙氣連續(xù)排放檢測系統(tǒng)(CEMS).因?yàn)闊煔獾臋z測系統(tǒng)工作情況復(fù)雜,采樣的探頭、傳感器和很多的光學(xué)器件會(huì)隨著時(shí)間的積累出現(xiàn)不同程度的腐蝕老化[3].不僅如此,安裝CEMS系統(tǒng)的費(fèi)用昂貴,且需要花費(fèi)大量的人力去維護(hù),因此建立煙氣二氧化硫的預(yù)測模型,得到較為精準(zhǔn)的二氧化硫輸出預(yù)測值很有研究意義,對鍋爐控制系統(tǒng)運(yùn)行參數(shù)的調(diào)節(jié)也有參考指導(dǎo)的價(jià)值.
支持向量機(jī)(Suport Vector Machine,SVM)是一種以統(tǒng)計(jì)學(xué)理論為基礎(chǔ)的新機(jī)器學(xué)習(xí)方法[4],在解決小樣本、高維度和非線性等問題有特有的優(yōu)勢[5].另外,該算法通過轉(zhuǎn)化為一個(gè)二次規(guī)劃問題,可以得到全局最優(yōu)解,解決了神經(jīng)網(wǎng)絡(luò)訓(xùn)練存在的局部極小值問題[6],因此基于支持向量機(jī)的系統(tǒng)建模方法非常具有發(fā)展前景.本文基于支持向量機(jī)回歸方法,針對循環(huán)流化床鍋爐(CFB)控制系統(tǒng)中煙氣二氧化硫?qū)ο蟮姆蔷€性問題,建立一種多輸入單輸出的二氧化硫濃度預(yù)測模型,仿真結(jié)果表明,基于支持向量機(jī)的煙氣二氧化硫預(yù)測模型具有很好的預(yù)測效果.
為了把SVM推廣到回歸估計(jì)算法中去,我們引入一種損失函數(shù)(ε不敏感函數(shù))來實(shí)現(xiàn)[7],如式(1).
對于線性回歸,假設(shè)所有的訓(xùn)練數(shù)據(jù)都可以用線性函數(shù)在精度ε精度精度之外情況,引入ξi≥0和ξi*≥0,則回歸問題轉(zhuǎn)化成最小化結(jié)構(gòu)風(fēng)險(xiǎn)(SRM)函數(shù)的問題[8],如式(2).
式中懲罰因子C>0,對經(jīng)驗(yàn)風(fēng)險(xiǎn)與置信范圍這兩部分進(jìn)行折中,指的是對超出誤差的樣本的懲罰程度.其約束條件可用式(3)表示.
構(gòu)造拉格朗日函數(shù),通過求偏導(dǎo)轉(zhuǎn)化為求解對偶二次規(guī)劃問題,最終得到回歸函數(shù),如式(4).
另外,對于非線性問題,可以通過映射將原始低維樣本轉(zhuǎn)化為某個(gè)高維空間的線性問題.由于在上面的求解對偶問題中,只涉及到訓(xùn)練樣本之間的內(nèi)積運(yùn)算(xi·xj),因此我們用核函數(shù)K(xi,xj)替代原來的內(nèi)積運(yùn)算來實(shí)現(xiàn)高維空間上的非線性函數(shù)擬合[9].本文采用的核函數(shù)是徑向基核函數(shù)(RBF):.
石灰石和燃煤分別放在石灰石倉和燃煤倉內(nèi),由各自的傳送帶送入爐膛內(nèi),通過床料加熱著火,在一次風(fēng)的作用下呈流化狀態(tài)燃燒.燃燒產(chǎn)生的煙氣經(jīng)過旋風(fēng)分離器分離,利用余溫加熱過熱器、空氣預(yù)熱器等,最后通過除塵器除塵后由煙道排除.其工作原理如圖1所示.
圖1 循環(huán)流化床鍋爐燃燒工作原理圖
石灰石和煤燃燒生成的SO2在爐膛內(nèi)反應(yīng)生成硫化鹽,從而達(dá)到脫硫的目的.根據(jù)循環(huán)流化床鍋爐燃燒的工作原理和添加石灰石的脫硫方法,可知石灰石量、給煤量影響著煙氣二氧化硫的濃度.一次風(fēng)、二次風(fēng)影響著鍋爐燃料的燃燒狀態(tài)及爐內(nèi)氧含量,所有對二氧化硫的濃度也有很大影響.床溫不僅影響著煤燃燒的速度還影響石灰石脫硫的效率,因此也是影響二氧化硫濃度的重要因素.
選取某動(dòng)力站1#爐CFB鍋爐的穩(wěn)定運(yùn)行數(shù)據(jù),根據(jù)該循環(huán)流化床鍋爐燃燒特性和相關(guān)系數(shù)法計(jì)算,煙氣二氧化硫預(yù)測模型的輸入變量選擇為:給煤量、石灰石給料傳送帶轉(zhuǎn)速、一次風(fēng)A導(dǎo)葉、一次風(fēng)B導(dǎo)葉、二次風(fēng)A液偶、二次風(fēng)B液偶、床溫等7個(gè)參數(shù).
選取2015.03.22一天的穩(wěn)定運(yùn)行數(shù)據(jù)進(jìn)行仿真實(shí)驗(yàn).建模前,對訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)進(jìn)行歸一化預(yù)處理,采用式(5)進(jìn)行歸一化.
式中,x為原始數(shù)據(jù),x'為歸一化之后的數(shù)據(jù),μ為原始樣本數(shù)據(jù)均值,σ為原始樣本數(shù)據(jù)標(biāo)準(zhǔn)差.
在MATLAB仿真平臺(tái)上進(jìn)行仿真研究,操作系統(tǒng)為Windows 7,本文采用通用的支持向量機(jī)工具箱,其作者是Steve Gunn,將工具箱添加到“Matlab search path”中,通過調(diào)用工具包的功能函數(shù)來實(shí)現(xiàn)預(yù)測模型的訓(xùn)練和測試.調(diào)用svr函數(shù)來訓(xùn)練模型,見式(6)
其中X_1和Y_1分別為輸入輸出數(shù)據(jù)集,ker表示核函數(shù)的選擇;C為懲罰因子的參數(shù)設(shè)置,loss為損失函數(shù)的選擇設(shè)置,e為設(shè)置的不敏感系數(shù)值.函數(shù)返回值nsv為支持向量個(gè)數(shù),beta和bias為返回的模型拉格朗日乘子解.
采用svroutpu函數(shù)計(jì)算模型的輸出,如式(7),tstY_1為返回的模型輸出值.
采用高斯徑向基函數(shù)RBF作為尋優(yōu)核函數(shù),經(jīng)過多年的應(yīng)用實(shí)踐看出,RBF核函數(shù)是一個(gè)較為的普適函數(shù)[10],可以通過參數(shù)的選取,使其適用于任意分布的樣本.這樣SVR可調(diào)的模型參數(shù)有懲罰系數(shù)C、核函數(shù)參數(shù)g和不敏感系數(shù)ε[11].其中C的大小表示對誤差的懲罰程度,若是C越小,懲罰程度越小.g的變化會(huì)引起映射核函數(shù)的變化,導(dǎo)致樣本空間分布的復(fù)雜程度改變[12].ε反映輸入變量所含噪聲對模型的影響程度,影響著模型的擬合精度.網(wǎng)格搜索法進(jìn)行參數(shù)尋優(yōu)的基本原理是使log2ε、log2C、log2g在一定范圍內(nèi)變化,使用交叉驗(yàn)證來評估參數(shù)對模型性能的影響,以此來選擇出最佳的參數(shù)值.一般log2ε、log2C、log2g的取值范圍分別為[-10,2],[-5,15],[-15,5].但網(wǎng)格搜索方法的缺點(diǎn)是計(jì)算量大,搜索時(shí)間長.
為減少參數(shù)尋優(yōu)的計(jì)算量,需要確定一個(gè)更為緊湊的參數(shù)搜索范圍.為此,首先分析單個(gè)參數(shù)變化與模型均方根誤差和支持向量個(gè)數(shù)之間的關(guān)系,在此基礎(chǔ)上確定參數(shù)精選搜索范圍.最后在參數(shù)精選范圍內(nèi),利用網(wǎng)格搜索法確定模型的參數(shù).具體步驟如下:
(1)確定 log2ε、log2C、log2g的粗選搜索范圍,為[-10,2],[-5,15],[-15,5];
(2)測試ε時(shí),C、g設(shè)為默認(rèn)值.使log2ε在[-10,2]范圍內(nèi)變化,將訓(xùn)練樣本用于交叉驗(yàn)證,然后得到模型對應(yīng)的均方誤差和支持向量所占百分比;
(3)畫出log2ε與均方誤差以及支持向量所占百分比之間的關(guān)系曲線;
(4)根據(jù)曲線的形狀,得到log2ε的精選搜索范圍;
(5)采用同樣的步驟對其它兩個(gè)參數(shù)進(jìn)行實(shí)驗(yàn),得到3個(gè)參數(shù)的精選搜索范圍,參數(shù)ε通常對于模型的訓(xùn)練影響較小,一般取一個(gè)合理值即可;
(6)在精選搜索范圍內(nèi),使用網(wǎng)格搜索確定參數(shù)C,g的最優(yōu)設(shè)定值.
圖2、圖3分別為單變量參數(shù)ε變化對模型均方根誤差、支持向量占比的影響,這里參數(shù)g=3,C=2設(shè)為默認(rèn)值.當(dāng)log2ε≤-4時(shí),ε對模型的均方誤差和支持向量占比影響較小;從log2ε≥-1時(shí)模型誤差開始增大,而當(dāng)log2ε≥1時(shí),支持向量個(gè)數(shù)小于總訓(xùn)練樣本的20%,此時(shí)出現(xiàn)了欠擬合,模型過于簡單,均方誤差有增大的趨勢.由此可以看出,log2ε的最優(yōu)值位于[-4,1].其中不敏感系數(shù)ε作為一個(gè)控制精度的參數(shù),通常情況對模型的訓(xùn)練學(xué)習(xí)影響較小,一般取一個(gè)合理值即可,這里取ε=0.5.
圖2 參數(shù)ε對模型均方根誤差的影響
圖3 參數(shù)ε對模型支持向量占比的影響
圖4 參數(shù)C對模型均方根誤差的影響
圖4、圖5分別為參數(shù)C對模型均方根誤差、支持向量占比的影響,另兩個(gè)參數(shù)設(shè)為默認(rèn)值ε=0.5,g=3.開始模型的誤差隨著log2C的增大而減小,支持向量占比也不斷降低;但在log2C≥5后,模型在訓(xùn)練樣本上的誤差和支持向量個(gè)數(shù)都基本不變.而C越大,對模型誤差的懲罰程度越大,模型的泛化能力較低.因此,可以確定最優(yōu)log2C的值位于[-3,5].
圖6、圖7分別為參數(shù)g對模型均方根誤差、支持向量占比的影響,另兩個(gè)參數(shù)設(shè)為默認(rèn)值ε=0.5,C=2.首先隨著log2g不斷增大,模型誤差先減小后增大,支持向量的個(gè)數(shù)也是先減少,然后增加,在log2g=-1附近模型的誤差達(dá)到最小值.由此可以確定參數(shù)log2g的搜索范圍為[-4,4].
圖5 參數(shù)C對模型支持向量占比的影響
圖6 參數(shù)g對模型均方根誤差的影響
以上基于單變量的參數(shù)搜索方法得到了參數(shù)精選范圍,log2C在區(qū)間[-3,5]之間,log2g在區(qū)間[-4,4]之間,參數(shù)ε=0.5.在精選的搜索范圍內(nèi),利用基于交叉驗(yàn)證的網(wǎng)格搜索方法確定參數(shù)最優(yōu)值.如圖8、圖9所示的是在精選范圍內(nèi)進(jìn)行參數(shù)網(wǎng)格尋優(yōu)的3D視圖和等高線圖,為保證模型更高的泛化能力,在最小的模型誤差參數(shù)組中選擇較小的懲罰因子C,由此得到最佳的參數(shù)組合C=4,g=0.5,ε=0.5.
圖7 參數(shù)g對模型支持向量占比的影響
圖8 網(wǎng)格搜索結(jié)果3D圖
圖9 網(wǎng)格搜索結(jié)果等高線圖
由于循環(huán)流化床鍋爐燃燒工況隨著時(shí)間和條件的變化在不斷改變,利用離線數(shù)據(jù)建立的固定模型不能真實(shí)地反映當(dāng)前的實(shí)時(shí)工況,因此建立一個(gè)滑動(dòng)更新的二氧化硫預(yù)測模型來驗(yàn)證二氧化硫濃度的預(yù)測效果.這里,選取2015.03.22這一天的某段穩(wěn)定運(yùn)行數(shù)據(jù),采樣時(shí)間為10s.建立一個(gè)隨時(shí)間滑動(dòng)的建模數(shù)據(jù)區(qū)間,區(qū)間長度為100步并保持不變.模型更新時(shí)間T為30步,即每間隔30步,滑動(dòng)一次建模數(shù)據(jù)區(qū)間,更新模型.設(shè)置參數(shù)C=4,g=0.5,ε=0.5.訓(xùn)練模型,得到如圖 10所示的二氧化硫濃度預(yù)測值與實(shí)際值對比的效果圖.
圖10 二氧化硫濃度模型預(yù)測輸出
由圖10可見,基于SVM的二氧化硫模型預(yù)測輸出曲線很好擬合實(shí)際值曲線,77.54%的樣本預(yù)測輸出相對誤差小于4.39%,90.58%的樣本預(yù)測輸出相對誤差小于6.88%.
表1為基于SVM的二氧化硫模型預(yù)測精度,可見預(yù)測精度較高.其相關(guān)系數(shù)為0.84,相關(guān)性很強(qiáng),平均誤差為1.96 mg/m3,均方根誤差為2.85 mg/m3.
表1 二氧化硫濃度模型預(yù)測精度
CFB鍋爐運(yùn)行工況復(fù)雜,煙氣的二氧化硫?qū)ο缶哂泻軓?qiáng)的非線性,傳統(tǒng)的建模方法很難獲得較為精確的模型,為解決此問題,本文建立了一種基于支持向量機(jī)煙氣二氧化硫排放量預(yù)測模型.同時(shí),為了減少支持向量機(jī)回歸模型參數(shù)尋優(yōu)的計(jì)算量,本文采用單變量參數(shù)搜索結(jié)合網(wǎng)格尋優(yōu)的方法來確定模型參數(shù).通過將模型預(yù)測值與實(shí)際測量值對比,實(shí)驗(yàn)結(jié)果表明基于SVM二氧化硫濃度預(yù)測模型有很好的預(yù)測效果.
1鄭海明,楊志.燃煤電廠二氧化硫排放質(zhì)量濃度的軟測量技術(shù).動(dòng)力工程學(xué)報(bào),2013,33(2):130-134.
2吳曉蔚.火電廠執(zhí)行大氣污染物排放新標(biāo)準(zhǔn)的達(dá)標(biāo)研究.環(huán)境監(jiān)測管理與技術(shù),2015,27(6):57-60.
3劉林杰.基于過程監(jiān)控的煙氣排放軟測量預(yù)測研究[碩士學(xué)位論文].北京:華北電力大學(xué),2015.
4王松,王東風(fēng),董宇.基于支持向量機(jī)的CFB鍋爐煙氣含氧量建模和預(yù)測.電力科學(xué)與工程,2013,29(6):57-60,72.
5王定成,方延健,高理富,等.支持向量機(jī)回歸在線建模及應(yīng)用.決策與控制,2003,18(1):89-91,95.
6Kaneko H,Funatsu K.Application of online support vector regression for soft sensors.AICHE Journal,2014,60(2):600-612.[doi:10.1002/aic.14299]
7李先知.污水處理過程遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與支持向量機(jī)技術(shù)應(yīng)用研究[碩士學(xué)位論文].合肥:中國科學(xué)技術(shù)大學(xué),2016.
8Chang CC,Lin CJ.LIBSVM:A library for support vector machines.ACM Transactions on Intelligent Systems and Technology,2011,2(3):Article No.27.
9Basak D,Pal S,Patranabis DC.Support vector regression.Neural Information Processing-Letters and Reviews,2007,11(10):203-224.
10榮海娜,張葛祥,金煒東.系統(tǒng)辨識中支持向量機(jī)核函數(shù)及其參數(shù)的研究.系統(tǒng)仿真學(xué)報(bào),2006,18(11):3204-3208,3226.[doi:10.3969/j.issn.1004-731X.2006.11.050]
11管曉晨.基于支持向量機(jī)的循環(huán)流化床鍋爐燃燒系統(tǒng)建模與控制[碩士學(xué)位論文].南京:東南大學(xué),2015.
12薄翠梅,張湜,王執(zhí)銓,等.基于滑動(dòng)時(shí)間窗的支持向量機(jī)軟測量建模研究.自動(dòng)化儀表,2006,27(1):45-48.