張 燁,黃 偉
(上海電力大學(xué) 自動化工程學(xué)院,上海 200090)
隨著燃煤發(fā)電機組的容量不斷增大,電廠輔助設(shè)備變得越來越重要。磨煤機一旦發(fā)生故障,不僅會影響鍋爐的燃燒而降低整臺機組的生產(chǎn)效率,而且會對其他設(shè)備以及生產(chǎn)工作人員的安全造成威脅。
孫栓柱等人[1]研究了磨煤機早期故障診斷方法,同時指出,在故障早期發(fā)現(xiàn)并診斷出磨煤機的故障,并讓現(xiàn)場工作人員及時采取應(yīng)對措施,具有非常重要的意義。
目前,故障診斷方法主要分為兩大類,分別是基于模型的診斷方法和基于歷史運行數(shù)據(jù)的診斷方法。
其中,基于模型的故障診斷方法需要先分析研究對象的機理,建立其數(shù)學(xué)模型。由于磨煤機工作時的機理過程非常復(fù)雜,很難獲得準確的數(shù)學(xué)模型,故該方法的操作難度比較大。
而基于數(shù)據(jù)驅(qū)動的故障診斷方法主要是通過使用正常數(shù)據(jù)與歷史異常數(shù)據(jù)對算法模型進行訓(xùn)練,模型對各種故障數(shù)據(jù)與正常數(shù)據(jù)自主學(xué)習(xí)分類,從而達到故障診斷的目的。
肖黎等人[2]研究了DBSCAN聚類方法,將歷史數(shù)據(jù)分為正常數(shù)據(jù)與故障數(shù)據(jù),建立了基于隨機森林方法的磨煤機故障預(yù)警模型;該方法雖可以準確地標記磨煤機不同故障的發(fā)展階段,但是在數(shù)據(jù)量不足和低維特征情況下,采用隨機森林模型得到的分類結(jié)果不夠理想。任夢祎等人[3]研究了采用馬氏距離對故障特征進行預(yù)處理的方法,并基于過程記憶矩陣建立了非線性狀態(tài)估計的磨煤機故障診斷模型;該方法雖在一定程度上提高了模型診斷的效率,但是很難用數(shù)學(xué)語言對實際故障進行描述,在工程上實現(xiàn)起來比較難。費樹岷等人[4]對基于概率神經(jīng)網(wǎng)絡(luò)建立磨煤機故障分類器進行了研究,在數(shù)據(jù)處理階段利用粗糙集對診斷參數(shù)的屬性進行了篩選,所建立的模型能夠在一定程度上提高分類的速度與精度;該方法雖取得了一定的效果,但是仍然存在一定的局限性,如神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)與網(wǎng)絡(luò)層數(shù)選取不當(dāng),會導(dǎo)致其陷入局部最優(yōu)問題,而在樣本數(shù)據(jù)不夠充足的情況下,又會出現(xiàn)過擬合現(xiàn)象。
劉定平等人[5]在最小二乘支持向量機的基礎(chǔ)上建立了中速磨煤機的故障診斷模型,并且利用核主元分析方法對模型的訓(xùn)練參數(shù)進行了預(yù)處理,篩選出了和故障關(guān)聯(lián)度最大的樣本特征。將核主元分析方法與最小二乘支持向量機結(jié)合,可以有效地減少訓(xùn)練算法的輸入特征數(shù)量,同時還可以利用支持向量機的非線性映射特點,在小樣本情況下也可以很好地解決傳統(tǒng)算法在學(xué)習(xí)過程中的過擬合問題。該模型能夠在一定程度上滿足診斷精度的要求,但是,由于支持向量機的診斷精度受到參數(shù)影響比較大,參數(shù)選取不當(dāng)時,容易出現(xiàn)誤診斷現(xiàn)象。
針對這一問題,筆者構(gòu)建基于支持向量機的磨煤機故障診斷模型,并采用天牛群算法對模型參數(shù)中的懲罰因子C和核函數(shù)參數(shù)δ進行優(yōu)化,最終建立BSO-SVM分類器,用該分類器診斷磨煤機故障。
支持向量機(SVM)是由VAPICK V N[6]、LI Hua-qing[7]等人在20世紀90年代提出的,以統(tǒng)計學(xué)習(xí)理論為基礎(chǔ)發(fā)展而來的一種新型機器學(xué)習(xí)方法。SVM具有訓(xùn)練時間短、模型精度高、訓(xùn)練樣本少等優(yōu)點。
SVM的原理是將輸入數(shù)據(jù)通過核函數(shù)映射到高維空間進行分類,得到最大的分類間隙,然后映射回原空間,最后會得到分類函數(shù):
(1)
式中:θi―拉格朗日乘子;b―根據(jù)訓(xùn)練樣本確定的閾值;C―懲罰因子;K(x·xi)―核函數(shù)。
核函數(shù)的表達式為:
(2)
式中:δ―核函數(shù)參數(shù)。
SVM算法的具體步驟為:
(1)設(shè)置訓(xùn)練集M={(X1,Y1),(X2,Y2)…(Xn,Yn)},Xi∈Rn,Yi∈{-1,1}。
(2)選取適當(dāng)?shù)暮撕瘮?shù)K(x·xj)和懲罰參數(shù)C,構(gòu)造并求解其最優(yōu)化問題:
(3)
(4)
得到最優(yōu)解θ*=(θ1*,θ2*,…θn*)T。
(3)選擇θ*的一個正分量0<θ* (5) (4)根據(jù)θ*和b*構(gòu)造分類函數(shù): (6) 天牛群算法是在粒子群優(yōu)化(PSO)算法[8]的基礎(chǔ)之上,引入天牛須搜索對其位置更新規(guī)則進行改進的一種算法。 粒子群算法是一種模仿鳥類覓食的群體算法,群體中的個體通過不斷更新自己的位置,然后相互比較得到最終解,個體更新取決于位置和速度。 算法的更新公式為: (7) (8) (9) (10) PSO算法收斂速度快,編程比較簡單,因此被廣泛用于各類參數(shù)優(yōu)化。但是PSO算法的群體會受到單個粒子的影響,從而忽略對粒子本身的判斷,導(dǎo)致全局搜索能力較差,有陷入局部最優(yōu)解的缺陷,這使得其分類精度達不到最理想的狀態(tài)。 為解決這個問題,筆者引入天牛須搜索策略[9,10],利用天牛須搜索對粒子群算法的更新規(guī)則進行了改進,構(gòu)建了BSO-SVM故障分類模型。 天牛須搜索過程如下: (1)隨機生成方向向量,并標準化: (11) 式中:D―空間維度;rands―隨機函數(shù)。 (2)計算左、右須坐標: (12) (13) 式中:Xk―k時刻天牛的位置;dk―k時刻質(zhì)心到須的距離。 (3)計算下一個時刻位置天牛的位置: (14) 式中:δk―k時刻的步長;f―適應(yīng)度函數(shù);sign()―符號函數(shù)。 (4)步長與搜索距離更新: δk+1=γ·δk (15) (16) 式中:γ―人為設(shè)定的衰減系數(shù);C3―人為設(shè)定的變距離系數(shù)。 筆者將天牛須搜索中的位置更新策略引入到粒子群算法的粒子更新規(guī)則中,新的更新規(guī)則為: (17) (18) (19) 式中:Vbi―天牛群算法的速度更新率。 在粒子群算法的基礎(chǔ)上,筆者改變其位置更新規(guī)則,其余規(guī)則與原算法保持一致。在新的規(guī)則下,粒子的位置更新不僅僅依賴歷史最優(yōu)解和當(dāng)前全局最優(yōu)解,還包括了粒子速度更新率。 改進的算法先對左須和右須位置進行比較,再決定群體的更新,嘗試克服局部最優(yōu)解問題。 SVM模型的懲罰因子C和核函數(shù)參數(shù)δ對分類精度有很大的影響[11-13]。筆者利用改進的粒子群算法對SVM參數(shù)進行優(yōu)化,把SVM分類準確率作為適應(yīng)度函數(shù),再將得到的最優(yōu)解賦值給SVM模型,達到對樣本進行分類的目的。 BSO-SVM診斷模型流程圖如圖1所示。 圖1 BSO-SVM診斷模型流程圖 算法的具體實現(xiàn)過程如下: (1)BSO參數(shù)初始化,包括種群的數(shù)量、最大進化次數(shù)、懲罰因子C和核函數(shù)參數(shù)δ的上下界等。隨機產(chǎn)生初始粒子和速度,計算初始粒子的適應(yīng)度值; (2)判斷終止條件是否滿足,不滿足則進入迭代部分,通過計算天牛左須值和右須值,再結(jié)合公式(17)生成速度更新規(guī)則,利用式(7,8,18)對粒子的速度進行更新;利用式(19)對粒子的下一個位置進行更新; (3)計算適應(yīng)度值,更新個體最優(yōu)值以及群體最優(yōu)值。判斷迭代是否結(jié)束,若結(jié)束,將最終得到的參數(shù)進行賦值,并用最優(yōu)解訓(xùn)練SVM模型。 由于工作環(huán)境比較惡劣,磨煤機容易發(fā)生故障。磨煤機的故障主要分為兩種,即設(shè)備故障和工藝故障。(1)設(shè)備故障主要包括磨煤機振動、磨煤機漏粉、主軸承過熱、一次分管堵塞、磨煤機出力不足、磨煤機自燃、靜壓軸承油壓異常;(2)工藝故障主要包括磨煤機滿煤與磨煤機斷煤[14]。這些故障中有些是可測故障,而有些是沒有測點參數(shù)的故障。 筆者將對幾種有測點參數(shù)的故障進行分類,分別是磨煤機斷煤,磨煤機堵煤和磨煤機自燃。 當(dāng)給煤管和一次風(fēng)管發(fā)生堵塞、一次風(fēng)量太小的時候,容易發(fā)生斷煤的情況。由于給煤管堵塞,磨煤機的進煤量會減少,磨煤機里面的煤量過少導(dǎo)致剩余的煤沒有辦法吸收大量的熱能,使得磨煤機出口溫度升高。為了降低出口溫度,在運行的過程中,一般會增大冷風(fēng)門開度,同時減小熱風(fēng)門開度。此時磨煤機斷煤,導(dǎo)致功耗下降。但是給煤機的轉(zhuǎn)速有可能會偏高導(dǎo)致排粉機的功耗上升。 磨煤機斷煤如圖2所示。 圖2 磨煤機斷煤 當(dāng)風(fēng)量和煤量的比例失調(diào)的時候,如風(fēng)量偏小或者煤量偏大,磨煤機里面的煤量會產(chǎn)生剩余,導(dǎo)致煤粉堆積,如果一次風(fēng)沒有辦法及時將煤粉吹出磨煤機,就會產(chǎn)生磨煤機堵煤現(xiàn)象。如果原煤的水分含量較大,無法通過一次風(fēng)使其徹底干燥,這種情況也會造成煤粉堆積,導(dǎo)致磨煤機堵煤。出現(xiàn)堵煤情況時,磨煤機的出口溫度和出口粉流量會下降;磨煤機的電流會在效率下降時輕微上升,但是在堵煤情況比較嚴重的時候開始下降。 磨煤機堵煤如圖3所示。 圖3 磨煤機堵煤 磨煤機的出口溫度升高到一定程度時,會導(dǎo)致磨煤機自燃。由前面的介紹可知,磨煤機發(fā)生斷煤情況的時候會使得磨煤機出口溫度上升;在磨煤機啟停階段,如果沒有將磨煤機吹掃徹底,里面的積粉也可能會自燃;送入磨煤機的煤水分含量過低,煤粉無法吸收一次風(fēng)送來的多余熱量,磨煤機出口溫度升高從而引起煤自燃。磨煤機發(fā)生自燃現(xiàn)象時,一次風(fēng)的流量會降低,同時磨煤機的出入口風(fēng)壓降低。 磨煤機自燃如圖4所示。 圖4 磨煤機自燃 考慮到各個故障特征之間可能存在一定的耦合關(guān)系,而非彼此獨立。筆者利用偏互信息方法[15]對7個故障特征進行篩選,分別為磨煤機電流、一次風(fēng)差壓、熱風(fēng)門開度、冷風(fēng)門開度、煤粉流量、磨煤機出口溫度、排粉機電流,并分別用t1、t2、t3、t4、t5、t6、t7表示。 對于多輸入系統(tǒng),輸入變量為X,Y,輸出變量為Z。當(dāng)變量Y中包含變量X的信息時,需要將Y中X相關(guān)的信息剔除,公式為: (20) (21) 式中:n―樣本個數(shù);d―x維度;h―核函數(shù)寬度;∑―X的協(xié)方差矩陣。 mY(x)計算公式如下: (22) 剔除X相關(guān)信息后的Y和Z記為u和v: u=Y-mY(x) (23) v=Z-mZ(x) (24) 則Y和Z之間的偏互信息計算公式為: PMI(Y,Z)=I(u,v) (25) (26) 輸入與輸出之間的偏互信息越大表示其相關(guān)性越強。PMI算法篩選特征的步驟為: (1)令最佳變量集S為空集; (2)當(dāng)輸入變量不為空集時,計算u值與v值; (3)計算PMI值,將使其最大的變量進行排序; (4)組成最佳變量候選集合C; (5)計算AIC值,當(dāng)其減小時,將對應(yīng)變量放入最佳變量集合S,并返回第(2)步。 AIC值計算公式如下: (27) 式中:q―選擇的變量個數(shù)。 當(dāng)AIC第一個極小值出現(xiàn)時,最佳變量集合篩選結(jié)束。 通過PMI變量選擇,得到最佳變量候選集合為{t6、t1、t2、t4、t5、t7、t3},特征選擇如圖5所示。 圖5 特征選擇 從圖5可以看出,當(dāng)選擇3個變量時,AIC值達到最小。 根據(jù)算法規(guī)則,選擇最佳變量候選集合中的前3個,即{t6、t1、t2}={磨煤機出口溫度,磨煤機電流,一次風(fēng)壓差}。 筆者選擇磨煤機出口溫度、磨煤機電流、一次風(fēng)差壓3個變量作為算法模型的輸入特征,分別用n1、n2、n3來表示3個特征。 實驗數(shù)據(jù)信息如表1所示。 表1 實驗數(shù)據(jù)信息 880個實驗樣本,每一類故障220個樣本,筆者將其中各類故障樣本的前176個樣本作為訓(xùn)練集,后44個樣本作為測試集;以分類器的分類準確率作為遺傳算法(GA)、粒子群算法(PSO)與天牛須算法(BSO)的適應(yīng)度函數(shù)。 屬性矩陣有880行,表示880個樣本;列數(shù)有4列,表示有4個屬性。模型的輸入是n1、n2、n3代表的故障特征,在模型輸出中分別用1、2、3、4對正常狀態(tài)和磨煤機斷煤、磨煤機堵煤、煤自燃4個狀態(tài)屬性進行標記,稱之為故障標簽。 在故障診斷第一階段,筆者使用604組帶有故障標簽的數(shù)據(jù)訓(xùn)練分類器;在第二階段,使用不帶故障標簽的176個樣本對分類器進行檢驗,即假設(shè)故障類型未知的情況下,將176個樣本作為算法模型的輸入,通過模型分類將樣本劃分成4種類型的狀態(tài),分別是正常狀態(tài)和磨煤機斷煤狀態(tài)、磨煤機堵煤狀態(tài)、磨自燃狀態(tài)。 模型參數(shù)設(shè)置如表2所示。 表2 模型參數(shù)設(shè)置 PSO與BSO的初始參數(shù)設(shè)置大致相同,種群數(shù)量為20;種群迭代次數(shù)上限Kmax為200;搜索維度是2;權(quán)重設(shè)置為0.9;PSO的學(xué)習(xí)因子C1=0.5,C2=2;BSO的學(xué)習(xí)因子C1=0.5,C2=2,C3=3;懲罰因子C變化上限為100,下限設(shè)置為0.1;核函數(shù)參數(shù)δ變化上限為1 000,下限為0.01。 為了能夠充分地體現(xiàn)算法的分類效果,考慮到此處建立的是多分類模型,故筆者選擇宏平均后的準確率(Accave)、精確率(Preave)、召回率(Recave)、F1-score(F1ave)4個指標作為模型的評價標準。 各個指標的定義為: (28) (29) (30) (31) 式中:TPi―正例(第i類標簽)的正確分類樣本數(shù);FNi―負例(除去第i類標簽)的錯誤分類樣本數(shù);FPi―正例的錯誤分類樣本數(shù);number―磨煤機樣本總數(shù);n―磨煤機故障分類的類別數(shù)。 為了對模型的分類效果進行對比,筆者使用同一數(shù)據(jù)集,先分別利用遺傳算法(GA)、粒子群算法(PSO)和天牛群算法(BSO)對支持向量機(SVM)的核函數(shù)參數(shù)δ與懲罰因子C進行優(yōu)化,接著又將優(yōu)化參數(shù)依次賦值給SVM,得到了3組組合模型(GA-SVM、PSO-SVM、BSO-SVM),最后用SVM、GA-SVM、PSO-SVM、BSO-SVM算法對磨煤機故障多分類模型進行檢測。 迭代曲線如圖6所示。 圖6 迭代曲線 從圖6中可以看出:GA與PSO提前收斂,陷入局部最優(yōu)解,而BSO雖然進化代數(shù)比前面兩種算法多,但是其最優(yōu)解是三者中最大的;BSO比GA和PSO準確率更高,能夠在一定程度上解決傳統(tǒng)優(yōu)化算法在尋優(yōu)過程中陷入局部最優(yōu)解問題。 參數(shù)優(yōu)化結(jié)果如表3所示。 表3 參數(shù)優(yōu)化結(jié)果 從表3可以看出,BSO算法優(yōu)化結(jié)果為C=47.30,δ=4.13。 各模型分類結(jié)果如圖7所示。 圖7 各模型分類結(jié)果 從BSO-SVM模型的分類結(jié)果來看,圖7上顯示有5個樣本被錯誤分類;其次,PSO-SVM模型和GA-SVM可以完成基本分類。 但是,在第3類和第4類故障中,這兩種模型的識別不是很準確。PSO-SVM模型分類結(jié)果顯示,有6個堵煤故障樣本被誤診斷為煤自燃故障,并且有7個煤自燃故障被誤診斷為斷煤故障;而采用默認初始參數(shù)的SVM模型對故障的分類結(jié)果較差,甚至將故障樣本誤診斷為正常樣本。 模型評價指標如表4所示。 表4 模型評價指標 從表4可以看出:SVM模型使用未優(yōu)化的初始值進行故障分類具有一定的隨機性,其分類準確率最低,為78.13%(如果手動調(diào)整懲罰因子和核函數(shù)參數(shù)也可以使分類準確率提高,但是該方法隨機性太強,而且會耗費大量手動設(shè)置的時間);BSO-SVM模型的分類準確率最高,為96.88%。 評價指標折線圖如圖8所示。 圖8 評價指標折線圖 圖8中,相比于SVM模型、GA-SVM模型和PSO-SVM模型,BSO-SVM模型的Recave值分別高出0.36、0.16和0.17,F1ave值分別高出0.30、0.13和0.14。該結(jié)果說明,BSO-SVM模型不僅有較高的準確率,還有較高的穩(wěn)定性。 考慮到在電廠實際運行過程中,傳感器工作的環(huán)境比較惡劣,可能出現(xiàn)測量誤差。為了驗證BSO-SVM模型在有噪聲干擾下的穩(wěn)定性,筆者參考傳感器誤差標準,將噪聲強度控制在5%~10%[16]。分別為176個測試樣本添加噪聲,即: y=y+k·ε·rand() (32) 式中:y—測試樣本;k—控制系數(shù);ε—樣本標準差;rand()—隨機函數(shù)。 筆者通過改變控制系數(shù)來產(chǎn)生不同強度的干擾,并以模型的準確度指標Accave和評價指標F1ave值作為模型穩(wěn)定性測試指標,得到模型擾動測試的對比結(jié)果,如圖9所示。 圖9 模型擾動測試對比 從圖9可以看出:在不同噪聲的干擾下,BSO-SVM模型的變化最小,雖然其準確度和F1ave值在5類強度的噪聲下有所下降,但是仍可以在4個算法模型中保持最高水平。 以上結(jié)果表明,BSO-SVM模型不僅可以提高故障分類的準確度,而且在算法穩(wěn)定性方面也表現(xiàn)優(yōu)秀,能夠為磨煤機的故障診斷提供一定的參考。 采用基于最小二乘支持向量機的磨煤機故障診斷模型進行故障診斷時,支持向量機受到核函數(shù)參數(shù)和懲罰因子的影響較大,為此,筆者通過引入天牛須搜索策略對粒子群算法尋優(yōu)過程進行了改進,解決了粒子群算法容易陷入局部最優(yōu)解的問題,并將天牛群算法與支持向量機模型相結(jié)合,提出了一種基于BSO-SVM的磨煤機故障診斷方法;將該方法應(yīng)用于磨煤機故障診斷,最后將其分別與GA-SVM、PSO-SVM、SVM進行了故障診斷結(jié)果比較。 研究結(jié)果如下: (1)通過仿真結(jié)果可知,相比于其他3種方法,BSO-SVM分類準確率最高,能夠達到96.88%,這表明BSO-SVM模型能有效提高故障診斷精度; (2)天牛群(BSO)模型的全局搜索能力較強,能夠解決粒子群(PSO)算法陷入局部最優(yōu)解問題; (3)BSO-SVM模型的抗干擾能力比較強,在模擬傳感器誤差帶來的噪聲干擾實驗中,在不同噪聲強度環(huán)境下,BSO-SVM模型的評價指標F1ave始終能夠保持最高水平。 由于筆者所使用的數(shù)據(jù)集是篩選出來的平衡數(shù)據(jù)集,而在實際電廠運行時,故障數(shù)據(jù)遠遠少于正常數(shù)據(jù),存在大量的不平衡數(shù)據(jù)。在以后的研究中,筆者將使用不平衡數(shù)據(jù)集對模型進行校驗,分析不平衡數(shù)據(jù)集對模型分類性能的影響。1.2 天牛群算法
1.3 BSO-SVM算法流程
2 磨煤機故障分析
2.1 磨煤機斷煤
2.2 磨煤機堵煤
2.3 磨煤機自燃
2.4 故障特征選擇
3 實驗及結(jié)果分析
3.1 實驗數(shù)據(jù)準備
3.2 模型評價指標
3.3 結(jié)果分析
3.4 模型抗干擾能力測試
4 結(jié)束語