陳 琪,續(xù)欣瑩+,謝 珺,付文華
(1.太原理工大學(xué) 電氣與動力工程學(xué)院,山西 太原 030024;2.太原理工大學(xué) 信息與計算機學(xué)院,山西 晉中 030600)
近些年來,隨著統(tǒng)計學(xué)及神經(jīng)網(wǎng)絡(luò)的發(fā)展,支持向量機(support vector machine,SVM)和神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)被廣泛應(yīng)用于鍋爐NOx排放建模預(yù)測[1-3]。余廷芳等[4]分別使用徑向基(RBF)神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)(BPNN)對NOx進(jìn)行建模;宋清昆等[5]利用SVM對鍋爐NOx排放特性進(jìn)行建模并采用改進(jìn)的果蠅算法對模型參數(shù)進(jìn)行優(yōu)化;張文廣等[6]使用最小二乘支持向量機(least squares support vector machine,LS-SVM)對鍋爐NOx排放進(jìn)行建模,采用果蠅算法對LS-SVM模型的超參數(shù)進(jìn)行尋優(yōu)。然而由于ANN容易陷于過擬合,SVM受限于二次規(guī)劃,大部分采用它們研究建模的多是人為選擇后的小樣本。而這一方面會使得模型對于遠(yuǎn)離建模工況點的目標(biāo)預(yù)測泛化能力降低,另一方面會使得模型本身因為人為剔除的因素丟失一些有用的信息。當(dāng)這些算法采用大規(guī)模數(shù)據(jù)進(jìn)行建模時,則往往會陷入過擬合或者耗費大量的時間。在大規(guī)模樣本數(shù)據(jù)建模方面,國內(nèi)外許多學(xué)者也進(jìn)行了研究[7-9]。雖然周昊等[8]、徐晨晨等[9]一些學(xué)者很好地解決了電站鍋爐大規(guī)模數(shù)據(jù)建模的問題,但是他們建模時選取的樣本數(shù)據(jù)都是在確定采樣時間后進(jìn)行直接選取,并未考慮到電站實際運行中工況樣本不均衡分布的特性。為了解決電站鍋爐大規(guī)模數(shù)據(jù)建模問題,并考慮到鍋爐工況樣本分布的不均衡性,本文根據(jù)電站鍋爐歷史運行數(shù)據(jù)的負(fù)荷分布對其進(jìn)行高斯混合聚類,然后根據(jù)GMM中各個分量的混合系數(shù)進(jìn)行數(shù)據(jù)均衡化處理,采用K-ELM對處理后的數(shù)據(jù)建立NOx排放模型,實驗結(jié)果驗證了所提方法能夠快速地建立NOx排放模型,有效地減少了建模時間,并且具有良好的泛化能力。
極限學(xué)習(xí)機[10](extreme learning machine,ELM)是黃廣斌等提出的一種單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFNs)算法,該算法具有學(xué)習(xí)速度快、結(jié)構(gòu)簡單,同時人為干預(yù)少和泛化能力強等優(yōu)點。被廣泛應(yīng)用于分類及回歸等應(yīng)用領(lǐng)域。黃廣斌等[10]在支持向量機學(xué)習(xí)原理的基礎(chǔ)上對極限學(xué)習(xí)機進(jìn)行了改進(jìn),提出了核極限學(xué)習(xí)機(Kernel ELM, K-ELM)。K-ELM不僅具有ELM的諸多優(yōu)點,而且由于其無需設(shè)置隱含層節(jié)點數(shù),更利于模型的建立。
極限學(xué)習(xí)機的SLFNs模型可描述為
f(x)=h(x)β=Ηβ
(1)
式中:x為樣本輸入,f(x) 為神經(jīng)網(wǎng)絡(luò)的輸出,h(x)、Η表示隱含層特征映射矩陣,β表示輸出權(quán)重矩陣。
根據(jù)文獻(xiàn)[10],核極限學(xué)習(xí)機對應(yīng)的模型為
(2)
式中:C為正則化因子,T為樣本對應(yīng)的輸出。K-ELM的核矩陣定義如下所示
ΩELM=ΗΗT:ΩELMi,j=h(xi)h(xj)=K(xi,xj)
(3)
本文中使用徑向基函數(shù)(RBF)作為SLFNs模型的核函數(shù),即
(4)
在使用K-ELM進(jìn)行建模時,正則化因子C與核函數(shù)參數(shù)γ需要進(jìn)行設(shè)定,參數(shù)的設(shè)定影響到K-ELM模型的性能。
高斯混合模型(Gaussian mixed model,GMM)是多個高斯分布函數(shù)的線性組合,理論上隨著模型中高斯分布函數(shù)的增多,它可以精確地擬合任意復(fù)雜類型的分布,通常用于解決同一集合下的數(shù)據(jù)包含多個不同分布的情況。因此常常被用來解決聚類問題。
設(shè)有隨機變量X,則混合高斯模型可以用下式表示
(5)
(6)
式中:D為數(shù)據(jù)維數(shù),μ為其均值向量,Σ為其協(xié)方差矩陣。
期望最大化算法(expectation-maximum,EM)是一種迭代優(yōu)化策略,經(jīng)常被用來求解聚類問題。其每一次迭代都分為兩步,其中一步為期望步(E步),另一步為極大步(M步)。
記θ={φ1,…,φK,μ1,…,μK,Σ1,…,ΣK} 為高斯混合分布的參數(shù)集合。給定服從高斯混合分布的獨立同分布樣本集X={x1,x2,…,xm}。 令zi∈{1,2,…,K} 表示生成xi的高斯混合分量,其取值未知。顯然zi的先驗分布P(zi=k) 對應(yīng)于φk(k=1,2,…,K)。 根據(jù)貝葉斯定理,zi的后驗分布對應(yīng)于
(7)
(8)
當(dāng)高斯混合分布已知時,高斯混合聚類將樣本集X劃分為k個簇,C={C1,C2,…,Ck},每個樣本xi的簇標(biāo)記λi根據(jù)如下公式進(jìn)行確定
(9)
高斯混合模型的聚類求解可以根據(jù)EM算法被整合為以下兩步:①根據(jù)zi對應(yīng)的φk概率選擇第k個高斯模型;②利用第k個模型生成其對應(yīng)的樣本Ck。
具體步驟如算法1所示:
Algorithm 1: EM for Gaussian Mixture Model
Input: 樣本集X={x1,x2,…,xn}; 高斯混合分量個數(shù)K.
Process:
(2)repeat
(3)Estep: fori=1,…,nk=1,…,K
根據(jù)式(7)計算由各混合分量生成的后驗概率,即γik=pΜ(zi=k|xi)
(4)Mstep: fork=1,…,K
新混合系數(shù):φ′k=nk/n;
(6)untilconvergence.
(7)Ci=?(1≤i≤K)
(8) fori=1,…,n
根據(jù)式(9)確定xi的簇標(biāo)記λi;
將xi劃分到相應(yīng)的簇:Cλi=Cλi∪{xi}
Output: 簇劃分C={C1,C2,…,Ck}.
本文的研究基于某電廠600 MW機組的歷史運行數(shù)據(jù),該鍋爐為亞臨界壓力、自然循環(huán)、前后墻對沖燃燒、單爐膛平衡通風(fēng)、一次中間再熱、固態(tài)排渣、尾部雙煙道、緊身封閉、全鋼架構(gòu)的Π型汽包爐。
從該電廠的DCS系統(tǒng)中選取鍋爐負(fù)荷跨度較大的一天的歷史運行數(shù)據(jù),采樣周期為10 s,共8640組數(shù)據(jù)。由于各個測點的采樣時間不統(tǒng)一并且有異常點的存在,剔除數(shù)據(jù)中的一部分異常點,并利用線性插值法對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。使得最終處理后的數(shù)據(jù)樣本為各測點每10 s就采集一次的數(shù)據(jù)。根據(jù)鍋爐燃燒機理選用鍋爐負(fù)荷(1項),一次風(fēng)風(fēng)速(6項),二次風(fēng)風(fēng)速(14項),二次風(fēng)壓 (2項),二次風(fēng)壓偏差(1項),二次風(fēng)量(10項),磨煤機給粉量(6項),煙氣含氧量(5項),排煙溫度(1項),燃盡風(fēng)擋板開度參數(shù)(8項),共計54維參數(shù)作為模型的輸入量(當(dāng)天燃燒用煤為同種煤質(zhì),故不考慮煤質(zhì)影響)。NOx排放值作為模型的輸出量。模型輸入量及輸出量的取值范圍見表1。
表1 實驗樣本數(shù)據(jù)分布
根據(jù)表1中的各參數(shù)取值范圍將數(shù)據(jù)歸一化到[-1,1]。歸一化公式如下所示
(10)
式中:x*為歸一化后的樣本,x為原始樣本,xmax、xmin分別為原始樣本參數(shù)對應(yīng)的最大值與最小值。
第一部分我們使用K-ELM對鍋爐數(shù)據(jù)進(jìn)行建模,并采用交叉驗證法和網(wǎng)格優(yōu)化算法對模型參數(shù)進(jìn)行尋優(yōu),這部分采用全部8640組工況數(shù)據(jù)進(jìn)行建模分析,隨機選取80%的工況數(shù)據(jù)作為訓(xùn)練樣本,20%作為測試樣本;第二部分,我們隨機劃分不同大小的樣本數(shù)據(jù),然后考察K-ELM、SVM、LS-SVM及BPNN算法在模型訓(xùn)練時間、預(yù)測精度等方面的性能,建模相應(yīng)實驗數(shù)據(jù)的訓(xùn)練樣本和測試樣本劃分比例同第一部分。第三部分,我們根據(jù)鍋爐實際運行狀況使用GMM對鍋爐原始樣本數(shù)據(jù)進(jìn)行聚類,并根據(jù)聚類結(jié)果對建模樣本進(jìn)行均衡化處理,建立GMM-K-ELM模型,然后與不同方式選取樣本數(shù)據(jù)進(jìn)行建模的K-ELM模型相比較。
為了驗證模型的預(yù)測能力,本文采用均方根誤差(root mean squared errors,RMSE),平均相對誤差(mean relative error,MRE)和決定系數(shù)R2來評價模型的預(yù)測能力,具體公式如下所示
(11)
(12)
(13)
采用全部8640組工況數(shù)據(jù)進(jìn)行K-ELM建模,隨機選取其中80%的樣本數(shù)據(jù)作為訓(xùn)練樣本,剩余20%作為測試樣本。K-ELM模型的學(xué)習(xí)能力和泛化能力取決于K-ELM的正則化因子C和核函數(shù)參數(shù)γ。使用網(wǎng)格優(yōu)化算法對 K-ELM 中的正則化因子C與核函數(shù)參數(shù)γ進(jìn)行尋優(yōu)。為了防止訓(xùn)練模型過擬合,采用10階交叉驗證,首先將訓(xùn)練樣本分成大致相等的10組,然后利用其中的9組數(shù)據(jù)訓(xùn)練模型,對剩下的1組樣本進(jìn)行測試,并循環(huán)進(jìn)行10次,使得每組數(shù)據(jù)均進(jìn)行過一次測試,把10次測試的總測試均方根誤差的平均作為評價模型參數(shù)的指標(biāo)。選定C、γ的變化范圍為log2C=[-12,12],log2γ=[-12,12],區(qū)間步長為1,將總測試均方根誤差的平均值RMSE歸一化到[0,1]中,尋優(yōu)結(jié)果如圖1(a)所示。由于參數(shù)變化范圍較大,我們根據(jù)圖1(a)縮小C、γ的范圍,確定log2C、log2γ的搜索范圍分別為[6,12]、[-4,4],區(qū)間步長為0.2,再次尋優(yōu)結(jié)果如圖1(b)所示。
圖1 K-ELM參數(shù)網(wǎng)格尋優(yōu)結(jié)果
根據(jù)尋優(yōu)結(jié)果,選定K-ELM模型中的參數(shù)組 (C,γ) 為(222.18,12.1257)。然后建立NOx排放的K-ELM模型,并對測試樣本進(jìn)行預(yù)測,預(yù)測結(jié)果如圖2所示??梢钥吹終-ELM模型的預(yù)測值與測量值非常吻合。模型對測試樣本的R2=0.9701,MRE=0.0291,RMSE=0.0619,模型的泛化性較好,可以準(zhǔn)確地對NOx排放值進(jìn)行預(yù)測。
圖2 預(yù)測值和測量值對比
為了比較K-ELM和其它常用算法,本文同時采用了SVM、LS-SVM以及BPNN算法對實驗數(shù)據(jù)進(jìn)行建模。同時為了比較數(shù)據(jù)集大小變化的情況下各個算法之間的特性,首先在8640組數(shù)據(jù)中分別隨機選取其10%,30%,50%,70%,100%的數(shù)據(jù)量作為新的數(shù)據(jù)集;對于不同大小的數(shù)據(jù)集,隨機選取其80%作為訓(xùn)練樣本,剩余20%作為測試樣本。K-ELM、SVM、LS-SVM算法均采用相同的RBF函數(shù),同樣選用網(wǎng)格尋優(yōu)法對其它兩種算法的參數(shù)進(jìn)行兩次尋優(yōu),兩次網(wǎng)格尋優(yōu)過程中參數(shù)變化的步長均與K-ELM相同。所有算法的參數(shù)設(shè)置見表2。
表2 各算法參數(shù)設(shè)置
各個算法之間的對比指標(biāo)包括:MRE、RMSE、R2以及建模時間Time,實驗結(jié)果如圖3所示??梢钥吹?,在不同數(shù)據(jù)集下,K-ELM在MRE、RMSE、R2上皆優(yōu)于其它3種算法,其預(yù)測精度最高,且其建模時間最短。同時隨著實驗數(shù)據(jù)的增加,4種算法的預(yù)測精度均有所提升,當(dāng)數(shù)據(jù)量大于70%時,各個算法的MRE、RMSE減小緩慢,其決定系數(shù)R2提升也趨于平緩,但是由于數(shù)據(jù)量的增加,各個算法的建模時間顯著增加。
圖3 各算法性能比較
為了適應(yīng)電網(wǎng)用電需求,電廠需要不斷調(diào)整各機組的發(fā)電量,如圖4所示為該電廠2014年11月1日的某機組的鍋爐負(fù)荷運行變化,可以看到鍋爐負(fù)荷在早8點前、晚8點后以及中午的一個小時,基本在350 MW附近波動,其它時間的負(fù)荷變化基本反映了不同時間段電網(wǎng)的調(diào)電需求??梢钥吹礁鱾€負(fù)荷區(qū)間的樣本數(shù)呈現(xiàn)出較大的不均衡性,如果將所有數(shù)據(jù)都用來建模,那么所得到的樣本集可能會出現(xiàn)一個問題,某些負(fù)荷段的樣本數(shù)據(jù)多,而另一些負(fù)荷段的數(shù)據(jù)樣本少。某一負(fù)荷段的樣本數(shù)據(jù)過多則會造成所含信息冗余,使得建模時間增大,計算復(fù)雜度提升。而簡單的對數(shù)據(jù)進(jìn)行隨機選取或等間隔選取,并不能解決樣本數(shù)據(jù)的不均衡性,且不利于對數(shù)據(jù)進(jìn)行充分的使用。
圖4 2014年11月1日鍋爐負(fù)荷變化
本文提出了一種基于K-ELM和GMM的NOx排放建模方法,算法步驟如下所示:
步驟1 根據(jù)鍋爐負(fù)荷取值范圍(xmin,xmax),以每區(qū)間10 MW為標(biāo)準(zhǔn)劃分區(qū)間,將其等分為Km=round((xmax-xmin)/10) 個區(qū)間 (Km≥2); 并將高斯混合模型設(shè)計為k個高斯混合分量 (k=Km);
步驟3 根據(jù)算法1進(jìn)行聚類,得到聚類結(jié)果C={C1,C2,…,Ck},如果距離最近的高斯混合分量均值差的絕對值小于5,則k←k-1,并返回步驟(2);
步驟4 根據(jù)聚類結(jié)果對鍋爐樣本數(shù)據(jù)進(jìn)行均衡化處理?;旌舷禂?shù)大于1/Km且方差小于10的聚類樣本數(shù)據(jù)進(jìn)行重新采樣(隨機采樣),采樣公式如下所示
其中,round() 為四舍五入取整函數(shù),N為聚類中所含樣本個數(shù),Km為初始聚類類別數(shù)(即初始區(qū)間劃分?jǐn)?shù)),φk為聚類所對應(yīng)的混合系數(shù)。
步驟5 使用均衡化處理過后的數(shù)據(jù)進(jìn)行NOx排放的K-ELM建模。
根據(jù)以上方法對鍋爐樣本數(shù)據(jù)進(jìn)行聚類,聚類結(jié)果見表3,可以看到只需要對序號為1、3、5的樣本進(jìn)行重新采樣。重新采樣后總的樣本數(shù)據(jù)為2568組,約占總數(shù)據(jù)量的29.72%。
表3 鍋爐樣本數(shù)據(jù)聚類結(jié)果
使用經(jīng)過GMM聚類重新采樣后的數(shù)據(jù)進(jìn)行K-ELM建模,為了說明GMM-K-ELM的性能優(yōu)勢,我們采用4組實驗方案:方案一:GMM-K-ELM建模;方案二:隨機選取30%的數(shù)據(jù)建立K-ELM模型;方案三:等間隔抽取全部數(shù)據(jù)的1/3建立K-ELM模型;方案四:使用全部8640組數(shù)據(jù)建立K-ELM模型。各組方案均進(jìn)行50次實驗,所有方案之間的對比指標(biāo)包括:MRE、RMSE、R2,實驗結(jié)果如圖5所示。
圖5 各方案實驗結(jié)果
從圖5中可以看到方案一的MRE、MRSE、R2均優(yōu)于方案二和方案三,說明其預(yù)測精度好于方案二和方案三;同時方案一的R2穩(wěn)定在0.9653以上,MRE、RMSE與方案四非常接近,說明其預(yù)測精度較好,但是其數(shù)據(jù)量只占方案四的29.72%,其建模時間僅為方案四的7.95%。由此我們認(rèn)為使用GMM-K-ELM進(jìn)行大規(guī)模鍋爐數(shù)據(jù)建模是可行的。與使用全部數(shù)據(jù)直接進(jìn)行K-ELM建模相比,它們預(yù)測精度相近,但其模型訓(xùn)練時間更短,在模型數(shù)據(jù)規(guī)模成比例增加時,其優(yōu)勢更加明顯。
本文比較了多種算法在大規(guī)模鍋爐運行數(shù)據(jù)建模時的特性,結(jié)果表明K-ELM算法的預(yù)測精度高,建模時間短,總體優(yōu)于其它算法。進(jìn)一步地,基于電站鍋爐運行的實際情況,提出一種基于K-ELM和GMM的氮氧化物排放建模方法,采用高斯混合聚類方法對建模數(shù)據(jù)進(jìn)行均衡化處理,并使用K-ELM對其進(jìn)行建模,在使用同等數(shù)據(jù)量進(jìn)行建模時,進(jìn)一步地提高了模型的泛化能力。多種對比實驗結(jié)果顯示,本文所提出的GMM-K-ELM建模方法,應(yīng)用于真實的電站大規(guī)模鍋爐運行數(shù)據(jù)建模中,能夠快速地建立燃燒模型,有效地降低了計算復(fù)雜度,并且具有良好的泛化性能。