摘 要:煙氣輪機機組是利用余熱發(fā)電的原理回收高溫熱能再生電能,但是由于多方面的原因,煙氣輪機機組時常發(fā)生故障,對生產的經濟性和安全性造成巨大損失。為了保障設備正常運行,對設備進行實時監(jiān)測,及時判斷故障發(fā)生的可疑點,減少故障發(fā)生的頻率,同時保護環(huán)境,采用對原始信號的3層小波分解,提取信號的特征向量,再采用CSVC和V參數(shù)支持向量機二種方法進行分類實驗,得到V參數(shù)的支持向量機分類效果最佳。
關鍵詞:煙氣輪機; 支持向量機; 故障診斷; 分類
中圖分類號:
TN9834; TP277
文獻標識碼:A
文章編號:1004373X(2012)05
0043
05
Application of V parameter of SVM for fault diagnosis in gas turbine
WANG Shufang
(Information Technology College, Beijing Institute of Petrochemical Technology, Beijing 102600, China)
Abstract:
The gas turbine unit usually uses the principle of hightemperature heat recovery renewable energy, but due to various reasons, the failure of gas turbine unit causes huge losses for economical efficiency and security of production. To ensure normal operation, a realtime monitoring was performed, the suspicious points were determined to reduce the frequency of failure and protect the environment. The signal feature vector was extracted through decomposing three layers wavelet of the original signal, a classified experiment was performed with CSVC and V parameters, the best V parameters of support vector machine classification was obtained.
Keywords: gas turbine; support vector machine; fault diagnosis; classification
收稿日期:20110928
0 引 言
煉油廠中的煙氣輪機機組是利用原油催化裂化裝置在生產過程中產生的高溫余熱驅動煙氣輪機的空氣壓縮機做功或給發(fā)電機機組提供輸入能量,發(fā)電機組進而輸出電能。這種方法是目前國內外催化裂化工藝環(huán)節(jié)回收能量最有效的方法。以燕山石化公司煉油廠YL18000A型煙氣輪機直接發(fā)電機組為例,該機組平均每天再生發(fā)電10 368 kWh,按當?shù)仉妰r每千瓦時0.50元計算,每年節(jié)約人民幣5 184萬元。煙氣輪機機組的投入運行不僅節(jié)約了大量的能源,為石化企業(yè)帶來了巨大的經濟效益,而且通過回收利用催化裂化裝置產生的煙氣,在保護環(huán)境方面也發(fā)揮了很好的作用。但是由于機械設備質量、工藝過程參數(shù)配置、電氣電子設備控制方法等各方面的原因,煙氣輪機機組振動故障率一致比較高,因此做好煙機機組的狀態(tài)監(jiān)測和故障診斷,采取相應控制措施,保證機組安全、穩(wěn)定、長期運行具有十分重要的現(xiàn)實意義。
目前,國外有些公司正在從事煙氣輪機發(fā)電系統(tǒng)的故障診斷研究,但其成果引進價格昂貴,更重要的是其產品難以與現(xiàn)有設備配套,引進就要對現(xiàn)有設備進行配套改造,投資很大。國內也有一些科研院所在做這方面的初步研究。課題研究的具體方法是對從煉油廠采集的煙氣輪機故障發(fā)生時段的數(shù)據(jù)信息進行篩選,對故障信號用小波包分析方法提取故障發(fā)生時刻的特征信息,最后將特征樣本通過支持向量機訓練器進行訓練,并獲得支持向量與分類模型,用于對測試樣本進行分類和函數(shù)回歸,通過對相關已知信號數(shù)據(jù)的分析得到煙起輪機的瞬時運行狀態(tài)。
在此,首先使用Matlab平臺的小波分析工具對信號進行奇異點分析,完成信號特征提取工作。然后在此基礎上進行故障診斷研究,使用的分類及回歸程序是基于林智仁老師的一個支持向量機工具的Java實現(xiàn)的,該支持向量機工具支持CSVC支持向量機、V參數(shù)的支持向量機,在控制臺環(huán)境下,實現(xiàn)對樣本進行二分類、多分類、支持向量回歸等功能,圖形化的實驗結果及分析能直觀地反映診斷的效果。
1 信號的采集
煙氣輪機在工作過程中,由于發(fā)電機葉片引起的軸振動、煙氣輪機設備的溫度、入口溫度、出口溫度和煙機內的壓力等多個參數(shù)都是體現(xiàn)故障的指標。實踐證明,故障發(fā)生時煙機機組設備包括發(fā)電機的橫向、縱向、軸向振動值,還有煙機溫度、壓力都會發(fā)生較大變動。而振動值的變化最能體現(xiàn)故障發(fā)生的特征,故采用振動值數(shù)據(jù)經過小波處理之后提取的特征向量作為樣本訓練支持向量機。作為故障診斷的依據(jù),信號數(shù)據(jù)采集點情況如圖1所示。圖1中煙氣輪機工作狀態(tài)下的實時監(jiān)測點分布圖包括兩個與煙機相連的發(fā)電機的各個檢測點振動、溫度、壓力差參數(shù)值。
圖2是從煉油廠控制中心工作站采集到的一張數(shù)據(jù)波形圖(樣本)。
圖2 煙氣輪機振動量及過程量波形
圖中橫軸代表時間量,可以具體到秒,縱軸代表的是振動量和過程量,即不同測試點的具體振動值,單位是μm。圖2中過程量一共4條曲線,其中不同顏色的曲線代表不同測試點的過程量參數(shù),藍色曲線代表煙機設備在Yt7701A測試點通過振動檢測儀獲取的振動數(shù)據(jù)信息。從圖2中可以看出,在煙氣輪機設備上具體監(jiān)測位置和旋轉軸上的振動數(shù)據(jù);以此類推,粉色曲線代表Yt7701A的振動波形;綠色曲線代表Yt7702A的振動波形;灰色曲線代表Yt7702B的振動波形,每個測試點有三個方向的監(jiān)測振動數(shù)據(jù),A代表水平方向的振動,B代表垂直方向,而軸向的即是過程量波形顯示的數(shù)據(jù),在煙機實體圖中以Zt表示。圖2顯示的波形是在Zt7701A檢測點獲取的振動數(shù)據(jù)信息。通過實時監(jiān)測,可以對煙機的工作狀態(tài)進行直觀的判斷,圖2選取的是燕山石化煉油廠2004年11月24日—2005年11月29日一年的振動數(shù)據(jù)。可以直觀地看出,這一年中在不同時期,煙機中不同位置的振動變化,其中波形發(fā)生劇烈變化的地方就可能是故障發(fā)生點,從煉油廠的歷史記錄中可以查詢到這一年中的幾次故障數(shù)據(jù)、故障相關圖片信息。
1.1 信號特征的提取
對故障信號的預分析方法是在Matlab平臺載入原始信號,截取故障部分信號,利用小波包將頻帶進行多層劃分,對多分辨分析沒有細分的高頻部分進一步分解,并能夠根據(jù)被分析信號的特征,自適應地選擇相應頻帶,使之與信號頻譜相匹配,從而提高時頻分辨率。
1.2 故障信號層次分解與重構
采用Daubechies小波包對信號依次進行了3,4,6,10層分解,對信號的高頻部分做更加細致的刻畫,現(xiàn)以6層分解情況為例進行說明。利用Matlab平臺的小波工具箱的信號單尺度一維離散小波分解函數(shù)wpdec對信號進行6層分解,生成小波分解二叉樹,然后使用Matlab小波工具箱中的wrpcoef對第6層分解的細節(jié)系數(shù)進行重構,可以獲得各個頻帶子信號的重構系數(shù)向量。圖3是某個小波分解故障信號的具體情況,圖4是重構后的各層細節(jié)信號。
其中,圖3(a)是分解的完整二叉樹結構,6層分解一共能夠獲取26 =64個頻段的節(jié)點信息,樹的葉節(jié)點分別為(6,0),(6,1),(6,2)等,以此類推到(6,63);圖3(b)是節(jié)點(6,1)的波形圖,通過觀察不同的節(jié)點信息,可發(fā)現(xiàn)分解層數(shù)越高,不同頻段的波形信息差別越明顯。
1.3 特征向量
特征向量的選擇在智能化故障診斷中是一個非常重要的環(huán)節(jié),因為特征是體現(xiàn)故障的直接標準。選擇節(jié)點系數(shù)平方和歸一化之后的信息作為該頻段的能量指標,因為故障信號與正常信號在同一頻段的能量是不同的,所以可以將此作為機器學習的訓練樣本。
分別計算分解后信號第6層頻段的系數(shù)節(jié)點系數(shù)平方和,如果xij(i=0,1,…,7;j=0,1,…,n)代表各頻段重構信號的系數(shù)信息,則∑nj=1|xij|2即體現(xiàn)各層分解系數(shù)序列的能量,然后對能量信息做歸一化處理(用各個系數(shù)能量除以總能量),并寫入數(shù)據(jù)文件中。研究中對于小波基及分解層次進行了多次試驗,對比計算量及分解效果,確定對原始信號的基于DB2小波的三層分解取得故障信號特征,作為支持向量機訓練器的輸入樣本進行訓練作為實驗方案。
圖5是實驗中對原始信號進行基于小波包三層分解的系數(shù)計算出的特征向量,三層分解并重構信號在各層的系數(shù)之后,以平方和相加的方式計算第三層的所有系數(shù)的能量值,并進行歸一化處理,最后輸出到文本格式的文件中,以每個頻段的能量指標作為特征能夠體現(xiàn)故障的特點,作為支持向量機訓練器的輸入樣本,能夠達到故障診斷實驗的目的。
2 支持向量機簡介
支持向量機方法在解決小樣本、非線性等模式識別問題中表現(xiàn)出的優(yōu)勢能很好地應用到機器學習領域,并能推廣到函數(shù)擬合等其他機器學習問題中[1]。
2.1 基于支持向量機的二分類方法
煙氣輪機的故障狀態(tài)與正常狀態(tài)的區(qū)分可以用支持向量機二分類方法實現(xiàn)。首先對原始故障數(shù)據(jù)的預處理,再分別選取正常狀態(tài)與故障狀態(tài)的特征向量作為支持向量機的訓練數(shù)據(jù),通過訓練器進行訓練,進而實現(xiàn)分類工作。支持向量機從線性可分的最優(yōu)分類面發(fā)展而來,基本思想可用圖6的二維情況說明。圖中,實心點和空心點代表兩類樣本,H為分類線,H1和H2分別為過各類中離分類線最近的樣本,且平行于分類線的直線,它們之間的距離叫作分類間隔。能將兩類正確分開,而且使分類間隔最大的分類線為最優(yōu)分類線,其方程為x·w+b=0,對它進行歸一化,使得對于線性可分的樣本集(xi,yi),i=1,…,n, x∈Rd,y∈{+1,-1},滿足:
yi[(w·xi)+b]-1≥0,i=1,…,n
(1)
一種最大間隔分類器是這樣的:固定函數(shù)間隔為1(函數(shù)間隔為1的超平面有時稱為正則超平面),如果w是權重向量,要在正點x+和負點x-上實現(xiàn)函數(shù)間隔為1,可以如下計算函數(shù)間隔:
(2)
(3)
同時,為計算幾何間隔,必須歸一化w。幾何間隔γ是所得分類器的函數(shù)間隔:
γ=1/2(
=1/‖w‖2
(4)
此時分類間隔等于2/‖w‖,使間隔最大等價于使‖w‖2最小。滿足式(5)且使1/2‖w‖2最小的分類面就叫做最優(yōu)分類面,H1,H2上的訓練樣本點就稱為支持向量[24]。
2.2 核函數(shù)
核函數(shù)是SVM方法的關鍵所在。核函數(shù)K的選取需要滿足Mercer條件。選擇不同的核函數(shù)可以產生不同的支持向量機。目前沒有固定的核函數(shù),一般對于不同的問題選擇不同的核函數(shù)。常用核函數(shù)有線性核函數(shù)、多項式核函數(shù)、徑向基函數(shù)(RBF)、 多層感知機核函數(shù)。
2.3 參數(shù)選擇
通常參數(shù)的不同選擇會對支持向量機泛化性性能有較大影響,目前對于泛化性的優(yōu)化集中在支持向量機模型的選擇上。
2.3.1 支持向量機參數(shù)
目前常用的幾種參數(shù)有C參數(shù)的支持向量機CSVC,即C參數(shù)的支持向量機分類算法及V參數(shù)的支持向量機算法。
(1) C參數(shù)
對于支持向量機中的優(yōu)化問題,會有一個C值對應著權值二范數(shù)的最優(yōu)選擇,這個C值也給出最優(yōu)界,從而在給定權值二范數(shù)下找到松弛變量范數(shù)的最小值。目前還沒有一個統(tǒng)一的方法來決定C的最佳取值[5],所以現(xiàn)在廣泛采用的方法是對C在0到正無窮范圍內的不同值進行實驗,對C先賦一個固定的初值,通過實驗結果精度不斷調整參數(shù)值,直到達到滿意效果,所以出現(xiàn)了一種V參數(shù)的支持向量機算法。
(2) V參數(shù)
V在一個很小的范圍 [0,1] 內變化,其結果與C在0到無窮之間變化是一致的。V參數(shù)在物理意義上實際是給出了拉格朗日參數(shù)的加和的下界,從目標函數(shù)中除去了線性項,同時V也是間隔誤差的訓練集比例的上界,也是全部支持向量數(shù)目與全部樣例數(shù)目的比例的下界。因此,V是一個更加透明的參數(shù),與特征空間的尺度無關。所以實驗中采用V參數(shù)支持向量機是一種較好的選擇,不僅降低計算復雜度,還不影響精度。
2.3.2 核函數(shù)參數(shù)
Vapnik等人在研究中發(fā)現(xiàn),不同的核函數(shù)對SVM性能的影響不大,反而核函數(shù)的參數(shù)對SVM性能的影響較大,核函數(shù)本質上是提高了學習器的分線性處理能力,因此選擇合適的核函數(shù)參數(shù),對學習機器的性能至關重要。常用的幾種核函數(shù)參數(shù)有:多項式核的參數(shù)d、高斯核的參數(shù)δ、多層感知機核的參數(shù)V,C。
目前關于如何確定SVM參數(shù)的方法具有不確定性,各種方法都有優(yōu)缺點,所以在實際情況下,對不同的參數(shù)對SVM性能的影響進行優(yōu)化是一個值得深入研究的課題[6]。
3 V參數(shù)支持向量機在故障診斷中的應用
3.1 研究方案
研究使用的一種支持向量機分類器用Java代碼基于MyEclipse環(huán)境下開發(fā)。其中核心算法采用了林智仁老師的Libsvm軟件包中的支持向量機算法。研究采用廣泛使用的擇優(yōu)選擇的方法,分別采用CSVM、nuSVM、徑向基和多項式形式作為核函數(shù),并采用了LSSVM的核心算法通過Matlab平臺進行模型訓練及測試分析,同時也對幾種常見核函數(shù)進行運算結果的對比,比較其分類及預測效果。
分類流程圖如圖7所示。
在CSVC與V參數(shù)的分類實驗中對原始信號進行小波包3層分解,選取前各個頻帶的特征向量作為訓練樣本的輸入/輸出選擇一個節(jié)點,兩個分類標識為:-1表示故障發(fā)生點;+1表示正常工作狀態(tài)。在最小二乘支持向量機故障診斷實驗中,采用函數(shù)估計的方法對模型進行預測,并針對不同的支持向量機參數(shù)進行實驗結果對比,比較實驗效果。
3.2 訓練樣本與測試樣本
訓練數(shù)據(jù)集選取煙氣輪機工作正常狀態(tài)與故障狀態(tài)兩組數(shù)據(jù),各22個樣本,總共44個訓練樣本,作為訓練數(shù)據(jù),選取的樣本數(shù)據(jù)分別是煙氣輪機正常工作狀態(tài)與故障狀態(tài)下對原始信號進行小波包分析處理過的特征向量,訓練數(shù)據(jù)集用來訓練支持向量機,進而建立二分類故障分類器,測試數(shù)據(jù)集用于對支持向量機訓練完成后檢驗訓練的結果,即支持向量機泛化能力的好壞。針對煙氣輪機某一個測試點如(Yt7701A)三個方向的振動數(shù)據(jù),包含水平振動、垂直振動和軸向振動,進行數(shù)據(jù)采集工作,每個方向的振動都有可能造成煙氣輪機的故障,樣本選擇多個測試點歷史數(shù)據(jù)中1年內某個月或者幾個月以天為單位的數(shù)據(jù),包括三個方向的振動值。其中,水平方向有222個數(shù)據(jù),垂直方向上有308個數(shù)據(jù),軸向有308個數(shù)據(jù),采集的時刻為零點,負值代表的是規(guī)定的負方向。
測試樣本的選擇是正常工作狀態(tài)下的9組數(shù)據(jù),故障狀態(tài)下的6組數(shù)據(jù),一共15組振動數(shù)據(jù)。利用小波工具箱進行樣本特征提取,將振動信號的能量信息作為特征向量,也作為支持向量機訓練器的訓練樣本。
3.3 SVM故障診斷
將SVM應用到特定的實際問題中需要解決大量的設計問題,如算法的設計、核函數(shù)的設計等等。首先是為給定的應用選擇適當?shù)暮恕Q芯恐惺褂昧司€性核函數(shù)、多項式核函數(shù)、徑向基核函數(shù)(RBF)和Sigmoid核函數(shù)進行實驗對比。其次就是實現(xiàn)哪種SVM,如果數(shù)據(jù)需要分類,就要決定是否使用最大間隔,或者某種軟間隔方法,這里的關鍵因素是數(shù)據(jù)的維數(shù)。一旦核與優(yōu)化條件確定,將進行一系列的實驗,調整參數(shù)不斷變化直到達到滿意的性能。
3.3.1 基于CSVC的故障診斷
標準的CSVC分類的算法形式是:
式中:C就是懲罰因子,C參數(shù)的值設置得越大表示將對錯誤分類的懲罰越大;ξi是引入的松弛變量,它允許一定程度上違反間隔約束。實踐中,C是一個變化范圍很大的數(shù),優(yōu)化性能的評價是通過使用獨立的驗證集或者交叉驗證的方法,對C在一定范圍內變化,‖w‖會有相應的連續(xù)變化。通過實驗發(fā)現(xiàn),對于不同范圍的C值,針對線性核的支持向量機,以及針對高斯徑向基核、多項式核和S核的支持向量機的不同參數(shù)等多次實驗發(fā)現(xiàn),分類效果的精確率都達到98.0%。
3.3.2 V參數(shù)SVM的故障診斷
軟間隔技術CSVC支持向量機有一個問題即參數(shù)C的選擇。首先范圍可以確定,典型的方法是在這個范圍內試驗,直到找到對特定訓練集最好的選擇。同時特征空間也會進一步影響參數(shù)的尺度。因此引入?yún)?shù)V提出如下的優(yōu)化問題[7]:
在這個參數(shù)化的過程中,l是樣本總數(shù),V給出了αi的下界,它從目標函數(shù)中去除了線性項。可以看出,v是間隔誤差的訓練集比例的上界,同時v又是支持向量全部數(shù)目與全部樣例數(shù)比例的下界。因此,v給出了問題的一個更加透明的參數(shù),它與空間的尺度無關,而僅與數(shù)據(jù)的噪聲程度有關。可見V參數(shù)可以控制支持向量的數(shù)量和誤差,所以這里采用V參數(shù)SVM方法處理故障診斷分類過程。
由于每個支持向量機只進行二分類工作,一共只有兩種狀態(tài),一種是正常狀態(tài),設定為+1,另一種是故障狀態(tài),設定為-1。執(zhí)行訓練器主程序svm_train.java,對提取的特征訓練數(shù)據(jù)集進行訓練,選擇支持向量機所需的參數(shù),不同支持向量機參數(shù)有差異,訓練時在一定范圍內對參數(shù)設置進行實驗,以達到最佳實驗效果。研究中采用Libsvm中交叉實驗法選取核函數(shù)的參數(shù),最后將訓練結果保存到訓練生成的格式為.mdl模板文件中。以NuSVM訓練為例,采用NuSVM訓練后的結果保存在Nu_svm.mdl中,結果如圖8所示。
從圖8的訓練結果中可看出,支持向量機類型為nu_svc,而參數(shù)V值設置當前值為0.6,核函數(shù)當前選取的類型為RBF(徑向基核函數(shù)),r值為0.125,采用二分類支持向量機。一共參與訓練的44個樣本數(shù)據(jù)中,有總共28個支持向量。隨后可看出正負支持向量數(shù)目及支持向量的具體節(jié)點值。按照這樣的方式,再進行各個參數(shù)值范圍測試,訓練結束后,已經成功建立支持向量機模型,選取最優(yōu)的支持向量機模型。采用選取好的20個測試樣本進行分類實驗,測試結果如圖9所示。
按照這樣的流程,將多種方法進行多次測試,最終以算術平均值作為結果,對多種方法的比較結果如表1所示。
支持向量機平均訓練時間 /s分類平均準確率 /%
CSVC1.292.0
NuSVM1.395.0
基于多項式核函數(shù)2.285.0
基于RBF核函數(shù)4.298.5
從表1可以看出,采用NuSVM V參數(shù)支持向量機分類器無論是在訓練時間還是在正判率上,都比采用核函數(shù)的分類器有優(yōu)勢,CSVM分類器適用于經過歸一化后的煙氣輪機原始數(shù)據(jù)。
4 結 語
本文借鑒和學習了國內外成熟的相關理論及實驗方法,通過對小樣本支持向量機的二分類應用于煙氣輪機振動故障診斷分類的大量實驗。主要包括對CSVM
(下轉第51頁)