孫海蓉,曹瑤佳,張雨晴
(1.華北電力大學控制與計算機工程學院,河北 保定 071003;2.華北電力大學河北省發(fā)電過程仿真與優(yōu)化控制技術(shù)創(chuàng)新中心,河北 保定 071003)
隨著風電機組運行時間的增加,機組運行狀態(tài)逐步趨于劣化,風電場運行及維護費用顯著增加[1?2]。風電機組故障診斷對降低風電機組維護檢修頻率,保障風電機組安全、穩(wěn)定運行和提升風電場經(jīng)濟效益具有重要意義[3]。
目前,風電場主要依靠數(shù)據(jù)采集與監(jiān)視控制(Supervisory Control and Date Acquisition,SCADA)系統(tǒng)采集和記錄風電機組的運行數(shù)據(jù),因此基于SCA?DA 數(shù)據(jù)的風電機組故障研究受到了國內(nèi)外學者的廣泛關(guān)注。文獻[4?5]在SCADA 數(shù)據(jù)基礎上引入自適應神經(jīng)模糊推理系統(tǒng),通過預測誤差和專家經(jīng)驗實現(xiàn)風電機組故障狀態(tài)檢測及故障類型分析。文獻[6]針對SCADA 系統(tǒng)中歷史數(shù)據(jù)缺失導致模型存在誤差的問題,基于互信息理論并結(jié)合最大相關(guān)最小冗余的原則挖掘特征之間的聯(lián)系,進行功率數(shù)據(jù)補齊,并通過相關(guān)向量機模型驗證了方法的有效性。文獻[7]采用核密度?均值法及ReliefF 算法進行偏航齒輪箱運行工況特征選取,基于誤差反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡實現(xiàn)了風機偏航齒輪箱的故障類型診斷。文獻[8]使用隨機森林進行特征選擇,采用網(wǎng)格搜索和交叉驗證對極端梯度提升模型進行優(yōu)化,提升風機故障診斷準確率。文獻[9]基于多維縮放方式進行數(shù)據(jù)降維,降維后數(shù)據(jù)作為輸入量,搭建隨機森林模型進行風機軸承故障診斷識別,其識別的平均準確率提升5%。在SCADA 系統(tǒng)數(shù)據(jù)中,故障數(shù)據(jù)只占有少部分比重,即正常運行數(shù)據(jù)數(shù)量遠大于故障數(shù)據(jù)數(shù)量。因此,SCADA 數(shù)據(jù)集是不平衡數(shù)據(jù)集。上述文獻在數(shù)據(jù)優(yōu)化過程中未考慮故障數(shù)據(jù)占比小的特點,直接利用SCADA 數(shù)據(jù)進行后續(xù)研究,忽視了故障數(shù)據(jù)的高度不平衡性對模型參數(shù)造成的影響,進而降低了模型精度。
為進一步提高風電機組故障診斷準確率,提出一種基于WKFCM?SMOTE和隨機森林算法的故障診斷方法。首先依據(jù)隨機森林袋外數(shù)據(jù)進行特征重要性排序,通過基于加權(quán)模糊核C 均值(Weighted Kernel Fuzzy C?means,WKFCM)改進的合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)算法進行基于故障數(shù)據(jù)聚類中心的數(shù)據(jù)集擴充,降低數(shù)據(jù)集的不平衡度,而后搭建隨機森林故障診斷模型,將網(wǎng)格搜索應用于隨機森林模型的參數(shù)優(yōu)化中,提升模型精度,保證風電機組故障診斷的準確性。
SCADA 系統(tǒng)采集和記錄風電機組運行過程中外部環(huán)境和風機主要部件運行狀態(tài)的數(shù)據(jù)信息,包括風速、風向、環(huán)境溫度、功率、發(fā)電機轉(zhuǎn)速、電壓、電流、齒輪箱軸溫度、齒箱油溫和電機軸承溫度等。考慮到實際數(shù)據(jù)記錄過程中存在大量干擾數(shù)據(jù),在模型研究時有必要進行數(shù)據(jù)預處理,提高模型精度[10]。
風電機組運行狀態(tài)如圖1 所示,主要分為:待啟動區(qū)、最大風能捕獲區(qū)、恒功率運行區(qū)和停機[11]。數(shù)據(jù)預處理,剔除待啟動階段數(shù)據(jù)、停機階段數(shù)據(jù)以及有功功率小于0的數(shù)據(jù)。此外,SCADA 系統(tǒng)對傳感器采集數(shù)據(jù)直接記錄,各監(jiān)測量之間存在較大的量綱差別,因此還須進行歸一化處理。
圖1 機組運行階段
SCADA 系統(tǒng)采集記錄的數(shù)據(jù)除與故障有關(guān)特征數(shù)據(jù)外,還包括大量無關(guān)特征數(shù)據(jù)和冗余數(shù)據(jù),依據(jù)專家經(jīng)驗方法進行特征數(shù)據(jù)選擇極易造成有關(guān)數(shù)據(jù)的缺失。使用隨機森林(Random Forest,RF)算法進行數(shù)據(jù)特征的重要性排序,提升數(shù)據(jù)質(zhì)量,可有效避免專家經(jīng)驗下數(shù)據(jù)選擇帶來的局限性。
隨機森林利用Bagging 思想進行隨機抽樣,抽取2/3 的樣本集數(shù)據(jù)作為訓練集,剩余1/3 的樣本數(shù)據(jù)構(gòu)成隨機森林的袋外數(shù)據(jù)[12]。假設隨機森林由n棵決策樹組成,其中每棵決策樹的袋外數(shù)據(jù)誤差值為es(s=1,2,...,n),通過對袋外數(shù)據(jù)加入噪聲干擾,得到新的袋外誤差值e′s,將其與原始誤差值進行比較,進行特征的重要程度判斷,并使用平均精度下降指標IMDA進行特征重要性評價。若加入噪聲干擾后,袋外誤差值有較大幅度增加,則證明該特征重要程度較高。IMDA的計算方法為
圖2 為系統(tǒng)特征中與風電機組運行功率關(guān)聯(lián)度較高的特征,將預處理數(shù)據(jù)按特征重要性進行排序,排序后的數(shù)據(jù)作為輸入,進行基于隨機森林算法的故障診斷。
圖2 相關(guān)特征重要性排序
圖3 為數(shù)據(jù)特征維度與故障診斷準確率曲線。由圖3 可知,隨著非重要特征的剔除,準確率逐漸升高,當特征維度為[7,10],具有較高的準確率。而隨著特征維度的再次降低,準確率逐漸下降。因此,選取模型輸入?yún)?shù)特征維度為7,包含轉(zhuǎn)子轉(zhuǎn)速、風速、發(fā)電機轉(zhuǎn)速、電機軸承B 溫度、葉片角度、齒輪箱軸1溫度和齒輪箱軸2溫度。
圖3 特征數(shù)量-診斷準確率曲線
傳統(tǒng)的模糊C 均值(Fuzzy C?means,F(xiàn)CM)算法是一種無監(jiān)督模糊聚類算法,其主要思想為構(gòu)造一個帶約束的非線性規(guī)劃函數(shù),通過迭代實現(xiàn)聚類中心和隸屬度矩陣的更新,求解目標函數(shù)的最小值,實現(xiàn)數(shù)據(jù)的聚類[13]。FCM 算法通常應用于低維數(shù)據(jù)的聚類分析中。
加權(quán)模糊核C 均值(Weighted Kernel Fuzzy C?means,WKFCM)算法是在FCM 算法的基礎上,引入核函數(shù)思想,并對特征屬性數(shù)據(jù)進行加權(quán),通過構(gòu)造一個加權(quán)矩陣,實現(xiàn)特征屬性對不同特征重要程度的動態(tài)調(diào)整[14?15],提高聚類中心的精確度。
WKFCM算法的目標函數(shù)為
式中:N為數(shù)據(jù)集樣本數(shù);C為聚類數(shù);L為樣本數(shù)據(jù)維度;xj=(xj1,xj2,…xjL)為第j個樣本數(shù)據(jù);vi=(vi1,vi2,…viL)為第i個聚類中心;uij為第j個樣本對第i個聚類中心的隸屬度;wik為第i個聚類中心的第k個特征的權(quán)值;m、β為模糊指數(shù)和權(quán)重指數(shù)。
Φ為低維到高維的非線性映射函數(shù):
式中:K為核函數(shù),本模型采用的核函數(shù)為高斯核函數(shù)為高斯參數(shù),特別地,K(x,x)=1。則目標函數(shù)可化簡為
使用拉格朗日乘數(shù)法對隸屬度矩陣U和權(quán)值W進行求解,可得其迭代公式為:
式中:r、t分別為在i、j、k為定值時對聚類數(shù)C和樣本維度L的遍歷。
設目標函數(shù)收斂閾值為ε,若則算法停止迭代,此時聚類中心V和隸屬度矩陣U均為最優(yōu)值。
SMOTE 算法是一種基于隨機過采樣算法的改進算法,基本思想為人工增加少數(shù)類數(shù)據(jù),從而達到平衡樣本數(shù)據(jù)、改善算法性能的目的[16]。SMOTE 算法基于已有的少數(shù)類數(shù)據(jù),進行少數(shù)類數(shù)據(jù)點及其鄰近數(shù)據(jù)點之間的線性插值,增加少數(shù)類數(shù)據(jù)的數(shù)量,實現(xiàn)少數(shù)類數(shù)據(jù)集的擴充。其插值為
式中:Yi為最近鄰數(shù)據(jù)中第i個數(shù)據(jù)點,Yi=(1,2,…,M),M為最近鄰數(shù)據(jù)中少數(shù)類樣本的個數(shù);r為0~1之間的隨機數(shù);X為少數(shù)類數(shù)據(jù)。
基于WKFCM 改進的SMOTE 算法使用WKFCM算法的聚類中心替代SMOTE 算法中的隨機數(shù)據(jù)點,保證插值數(shù)據(jù)類別的精準度。具體實現(xiàn)步驟如下。
1)WKFCM 算法聚類并計算聚類中心。選擇原始數(shù)據(jù)中的少數(shù)類數(shù)據(jù),WKFCM 算法進行聚類并計算聚類中心。將少數(shù)類數(shù)據(jù)分為C個聚類,聚類中心分別為{c1,c2,…,cC} 。
2)數(shù)據(jù)插值。與原始數(shù)據(jù)點相比,聚類中心能更好地表示數(shù)據(jù)的特性,使用聚類中心進行插值計算可以有效降低數(shù)據(jù)點的偏向性,保證數(shù)據(jù)集的平衡。新的插值Xn′ew為
3)不平衡度判斷。新生成插值數(shù)據(jù)并入少數(shù)類中,判斷數(shù)據(jù)整體是否滿足預設的不平衡度(少數(shù)類數(shù)據(jù)與多數(shù)類數(shù)據(jù)的比值),若不滿足,返回步驟2),繼續(xù)進行數(shù)據(jù)插值。
風電機組運行數(shù)據(jù)中故障數(shù)據(jù)占比較少,模型診斷結(jié)果易向多數(shù)類數(shù)據(jù)即正常運行結(jié)果傾斜。WKFCM?SMOTE 算法,通過基于聚類中心的人工數(shù)據(jù)插值方式,改善隨機樣本點插值造成的數(shù)據(jù)邊界模糊問題,降低數(shù)據(jù)集的不平衡度,有效解決了后續(xù)模型診斷過程中存在的診斷結(jié)果傾斜的問題。再將WKFCM?SMOTE 算法與RF 算法組合,能夠更好地解決故障診斷結(jié)果不精確的問題。
基于WKFCM?SMOTE算法結(jié)合隨機森林算法的故障診斷模型主要有3個階段,即對處理后數(shù)據(jù)進行特征選擇、數(shù)據(jù)聚類分析及插值和基于隨機森林算法的故障診斷。組合模型流程如圖4所示,算法步驟如下:
圖4 WKFCM?SOMTE?RF 組合算法框架
1)數(shù)據(jù)預處理,進行SCADA 數(shù)據(jù)篩選,剔除待啟動階段數(shù)據(jù)、停機階段數(shù)據(jù)及異常運行數(shù)據(jù),進行數(shù)據(jù)的歸一化處理;
2)基于隨機森林的袋外數(shù)據(jù)進行特征重要性排序,實現(xiàn)數(shù)據(jù)的降維處理,降低后續(xù)模型復雜度;
3)WKFCM 算法計算數(shù)據(jù)聚類中心,SMOTE 算法基于聚類中心進行少數(shù)類數(shù)據(jù)插值,并進行數(shù)據(jù)集不均衡度判斷;
4)基于網(wǎng)格搜索算法進行隨機森林模型參數(shù)優(yōu)化,提升隨機森林模型計算結(jié)果的準確率;
5)進行模型驗證,通過模型評價指標驗證模型準確性。
本文數(shù)據(jù)源自華北某風電場SCADA 系統(tǒng)采集記錄的1.5 MW機組2號風機2018年5月15日至5月17 日的運行數(shù)據(jù),已知機組在5 月16 日13:21 發(fā)生故障并進行停機維修。經(jīng)數(shù)據(jù)處理后共有數(shù)據(jù)3 109條,包含機組正常運行狀態(tài)和故障狀態(tài)。
使用網(wǎng)格搜索算法和K折交叉驗證進行模型的參數(shù)尋優(yōu)。K折交叉驗證將數(shù)據(jù)集劃分為K份,輪流取其中的1 份作為測試集,剩余數(shù)據(jù)作為訓練集進行參數(shù)優(yōu)化,重復K次至樣本中每個數(shù)據(jù)均在測試集中出現(xiàn)一次[17],本模型取K值為5。為減少網(wǎng)格搜索算法所用時間,提升參數(shù)準確性,首先進行隨機森林模型參數(shù)取值范圍的粗調(diào),通過逐漸縮小參數(shù)取值范圍、降低搜索步長的方式確定模型參數(shù)。隨機森林參數(shù)取值如表1所示。
表1 隨機森林參數(shù)取值
對于二分類問題而言,判別結(jié)果分為TP、FP、TN、FN共4種情況。二分類的混淆矩陣如表2所示。
表2 二分類混淆矩陣
本文選擇準確率A、精確率P、召回率R、F1值來衡量不同模型算法性能,同時選取接受者操作特性(Receiver Operating Characteristic,ROC)曲線和AAUC完善二分類評價指標。準確率A指分類正確樣本占全部樣本的比例;精確率P指預測為正類樣本中真正的正類所占的比例;召回率R指所有正類中被預測為正類的比例;F1值兼顧精確率和召回率;ROC 曲線以假陽性率為橫坐標、真陽性率為縱坐標,曲線越接近左上角的點,模型效果越好;AAUC指ROC 曲線覆蓋區(qū)域面積。
處理后的數(shù)據(jù),分別進行基于FCM、KFCM 和WKFCM 算法的聚類中心計算。聚類算法評價指標對比如表3所示,各模型評價指標對比與表4所示。
表3 聚類算法準確率
表4 模型評價指標
從表3 中可知,3 種聚類算法均需較長運行時間,其中WKFCM 算法耗時最長,但WKFCM 聚類算法的正確率明顯高于FCM 和KFCM 算法,說明其聚類中心對范圍內(nèi)數(shù)據(jù)具有更好的代表性。
表4 中RF 表示未插值數(shù)據(jù)直接作為模型輸入搭建的故障診斷模型,F(xiàn)CM?SMOTE?RF、KFCM?SMOTE?RF、WKFCM?SMOTE?RF 分別表示FCM?SMOTE、KFCM?SMOTE、WKFCM?SMOTE 數(shù)據(jù)插值與隨機森林算法相結(jié)合的數(shù)據(jù)模型。由表4 可知,插值數(shù)據(jù)模型A值、AAUC值及F1值均明顯高于未插值數(shù)據(jù)模型,其中WKFCM?SMOTE?RF 模型的A值、AAUC值、F1值均為最高,分類準確率A比FCM?SMOTE?RF、KFCM?SMOTE?RF 模型提高了4%~5%,F(xiàn)1值提高了1%,AAUC值達到了0.979,表明基于WKFCM?SMOTE 和隨機森林的風電機組故障診斷模型提高了故障診斷準確率,驗證了其在風電機組故障診斷中的優(yōu)越性。
為驗證模型的有效性,建立基于邏輯回歸(Lo?gistic Regression,LR)算法的風電機組故障診斷模型進行對比試驗,使用相同數(shù)據(jù)集進行模型測試,兩種模型的評價指標對比如表5 所示,ROC 曲線對比如圖5所示。
圖5 對比模型ROC曲線
表5 對比模型評價指標
由表5 和圖5 可知,在風電機組故障診斷中,WKFCM?SMOTE?RF 算法在A、P、R和F1等幾項重要指標值均超過LR 算法,且在ROC 曲線中LR 算法曲線基本處于模型曲線右下方,因此WKFCM?SMOTE?RF 模型比邏輯回歸模型對風電機組故障診斷更加準確。
提出基于WKFCM?SMOTE和隨機森林算法的風電機組故障診斷方法,隨機森林能夠有效進行特征選擇,消除冗余特征的不良影響;WKFCM?SMOTE 算法進行少數(shù)類數(shù)據(jù)的擴充,改善SMOTE 算法模糊數(shù)據(jù)邊界的問題,保證數(shù)據(jù)的準確性,降低數(shù)據(jù)集的不平衡度;建立基于隨機森林的風電機組故障診斷模型,將網(wǎng)格搜索應用于隨機森林模型參數(shù)優(yōu)化中,提升模型精度,滿足風電機組運行安全、穩(wěn)定及高效的要求。試驗結(jié)果表明,基于WKFCM?SMOTE和隨機森林算法的模型具有較高的故障診斷準確率,證明了所提方法在風電機組故障診斷中的有效性。