國電電力山東新能源開發有限公司 苑宏利 呂明明 張小東 魯東大學數學與統計科學學院 汪健冬 楊秋蓮 付恩強 劉廣臣 華風數據(深圳)有限公司 黃文廣 柯 超 陳 文
目前風電行業隨著風電機組運行年限增加,大量風電機組安全隱患不斷增加、造成運維的成本不斷升高,使得風電場的經濟效益嚴重下降。為保證風電機組健康安全運行和降低風場運維成本,運用機器學習結合大數據分析的大型風電機組運行狀態評估及故障診斷技術已成為風電行業的重點研究。為了增強風機發電的持續穩定、降低風電機組由于長時間停機導致的利益損失,作為關鍵部位的主軸承研究意義重大。
關于主軸承故障診斷,基于LightGMB算法、深度信念網絡、回歸分析等算法已有眾多論文發表,對軸承進行狀態監測和故障診斷必須提取出反映軸承故障的特征信息,然而這些特征信息常淹沒于其他部件的噪聲干擾之中,為此國內陳長征等[1]用盲源分離算法、黃南天等[2]采用非平衡小樣本數據的風機軸承故障深度對抗診斷,王桂蘭等[3]采用機器學習算法LightGMB,賈依達爾·熱孜別克等[4]提出了PCA-GAElman結合算法的模型來對齒輪箱軸承溫度進行預測,陳雪峰等[5]通過研究復合材料葉片、齒輪箱、發電機三大部件來對風電機組進行故障診斷與監測;烏彤等[6]對風力發電機軸承故障的探究,總結了多個軸承故障的類型與原因,并從時域、頻域、時頻三個角度對故障進行診斷;馬立鵬等[7]對風機變槳軸承與輪轂連接螺栓進行疲勞分析;魏巍等[8]采用小波分析對風機軸承退化狀態進行研究。而指標體系的選取,數據的來源等關鍵因素是建模的關鍵,我們綜合以上眾人的經驗,對該部件進行更深度的研究。
風機實際運行中主軸承部件與主軸承葉輪側溫度(CI_MainBearingRotorSideTemp)、主軸承齒輪箱側溫度(CI_MainBearingGbSideTemp)關系密切,因此本文主要研究以上兩個對象對風電機組的故障進行監測。主要包括三個部分。首先,運用4種算法pearson相關系數、隨機森林、CatBoost算法、XGBoost算法對15個經驗特征變量與2個研究對象的相關性排序進行特征篩選,賦予每個模型等比例權重,計分排序;然后,利用篩選出的特征集運用多種算法建模進行主軸承故障監測,對比結果表明XGBoost算法模型最優;最后,運用殘差進行故障預警,利用風機故障停機時效性,在風機停機前提前預知故障狀態,同時利用特征重要性排序作為故障來源診斷與定位的參考。
本文基于日照莒縣風場的一號風機進行建模研究,從SCADA數據庫中提取了2018~2019年以10秒鐘為時間間隔的數據共約310萬條。征求風電專家意見,從控制狀態篩選出并網狀態下的數據作為輸入數據,刪去含有缺失值的數據行、刪除其他控制狀態下的數據行;列處理:刪除日期時間列,刪除控制狀態列,最終把數據處理成以一分鐘為時間間隔。
變量篩選、確立特征函數關系是模型的基礎。確定特征函數關系,據專家經驗,主軸承葉輪側溫度、主軸承齒輪箱側溫度與主軸承的關系較為密切,對此建立雙變量與其它特征函數關系。特征變量集簡潔有效、高靈敏度的特點是簡化模型結構、提升模型精度、訓練高效機器學習模型的關鍵。因此尋找多特征變量之間的關系,排除相關性較小甚至無關變量對模型體系的影響是建模的關鍵,也是故障原因診斷和定位的重要參考。
特征變量篩選采用四種算法模型進行變量重要性排序,即Pearson相關系數、隨機森林模型、XGBoost算法模型、CatBoost算法模型,對可能影響主軸承的15個輸入變量的重要性進行排序,并分別平均賦予權重進行綜合排序,排序結果以及其與主軸承葉輪側溫度(℃)、主軸承齒輪箱側溫度(℃)分別如下。
CI_WindSpeed1:15、15,CI_GearboxInputShaftTemp:11、11,CI_GearboxOutputShaftTemp:9、4,CI_GeaboxInletOilTemp:5、4,CI_GenBearingTemperature:6、1,CI_NacelleCabTemp:8、6,CI_PcsActivePower:13、13,CI_IprRealPowe:12、12,CI_PitchHubTempS1:3、2,CI_PitchHubTempS2:1、2,CI_PitchHubTempS3:2、7,CI_GenWindingTemperatureU1:10、8,CI_PcsMeasuredGenSpeed:14、14,CI_NacelleAirTemp:7、9,CI_OutsideAirTemp:4、10。
XGBoost(Exterme Gradient Boosting)算法[9]是以集成思想為基礎,以梯度提升算法(Gradient Boost)為框架,是一個具有可拓展性的樹提升算法系統,并非簡單的將多個CART樹相加,而是利用加法模型和不斷遞進的算法實現學習的優化路徑。目前XGBoost已在競賽、醫學、金融等多個領域具有不可替代的作用,此算法在損失函數中引入正則項等方法防止模型的過擬合,適用性較于其他算法模型也表現優異,可更快更有效的處理大量數據。較與它相似的GBDT算法更加充分的利用了導數信息,使其能夠更快速地達到最優。本文提出一種基于XGBoost算法模型用于主軸承故障監測與故障原因診斷,流程如圖1。
圖1中對原始數據初步清洗后,篩選變量、提取特征函數關系,將風機正常狀態下的特征數據基于XGBoost算法建立回歸分析進行訓練,從而對主軸承故障監測建模,最終將模型嵌入風機監測系統中持續輸入系統后臺的實時監測數據,如何進行故障監測、判斷故障狀態體現于輸入數據中故障數據在模型中的異常趨勢會表現出與先前正常數據訓練的風機正常狀態下模型的趨勢圖產生分離,從而運用風機故障從故障先兆到故障停機的時效性,在兩趨勢分離之初進行態勢分析,當趨勢圖到達高限值,預測風機即將進入故障狀態,從而完成主軸承故障狀態的監測。
當風機從主軸承部件的模型結果判斷為故障狀態。接下來的目標是進行故障原因的診斷與定位,對此結合技術人員與模型建立的特征重要性排序結果,對主軸承可疑相關部件實施檢查和維護,從而實現風機主軸承防控。
綜合考慮到模型訓練結果的準確性、時效性,設定樹的深度、樹的棵數、葉子節點權重、學習率等參數,采用機器學習常用方法網格搜索(grid search)進行參數調優,獲取局部最優解。為避免隨機劃分數據集產生的偶然性,均采用多折交叉驗證方法來降低隨機事件發生概率。隨著參數個數增長,參數組合更是呈現指數增長,在保證模型準確率的前提下使模型達到最優解,還需有效降低時間成本,本文XGBoost模型中主要設定以下參數:樹的最大深度(max_depth)可以控制過擬合;學習速率(learning_rate)控制每一步迭代的步長;樹的個數(n_estimators)取值適當大時更好,提高魯棒性;最小葉子節點樣本權重和(min_child_weight)可避免學習局部特殊樣本。其調優結果分別為50、6、200、0.05。
為評價XGBoost模型的準確率及穩健性,本文計算溫度實際均值、預測均值,MSE(Mean Squared Error)、MAE(Mean Absolute Error)、MAPE(Mean Absolute Percent Error)、R2(R Squared)六項評價指標。其中R2稱為擬合優度,R2的值越接近1說明模型預測值對實際觀測值的擬合程度越好。通過上述六個評價指標對整個模型訓練的好壞進行總體的評判。計算公式如下:
為了展示XGBoost算法模型在預測主軸承部件重要相關溫度的效果,建立多個其他模型用于對比,仍采用相同的80%數據用于訓練模型、20%數據用于檢驗模型,綜合各項指標將各個算法模型進行對比分析,實驗表明XGBoost在該風機部件的預測能力優異,相比于其它算法模型預測準確率高、穩健性強、能保證較好的時效性,綜合來看選取XGBoost算法是正確的。表1是以主軸承齒輪箱側溫度為待預測值的各項評價指標對比表。

表1 模型對比表
以上各項評價指標均在模型達到最優參數時記錄,結果表明XGBoost算法的各項指標均優于另外兩種算法,模型擬合優度R2(R Squared)更是接近于1,說明了估計值與對應的實際數據之間擬合程度很高,可靠性強。從計算耗時來看,隨機森林耗時較短,但在風場實際運行中,需準確性更好的模型來降低因風機長時間故障停機造成的經濟損失,做到提前預警故障、提前維修故障。綜上,本文選取XGBoost算法作為研究最終的算法模型(圖2)。
為驗證模型的有效性,選取日照某風場風機實測數據作為對象進行驗證,在主軸承發生故障前,其對應的主軸承齒輪箱側溫度會處于非正常狀態下溫度,即模型預測溫度值與實測溫度值會出現偏差,若兩條溫度曲線偏離持續增加,則需考慮其即將發生故障。該風機于2019年1月3日18時(日期來自風電系統故障記錄表)主軸傳感器發生故障,取其故障前后各一段時間約2500個樣本數據進行分析。
上圖3紅色代表實測溫度值,藍色代表預測溫度值,易知在b點到c點風機主軸承部件出現故障,導致實際溫度曲線與模型預測溫度曲線發生偏離,由故障記錄表顯示,確實在該時間段發生了故障,在樣本點a附近,該部位的溫度也顯示出異常波動;在樣本點c后,風機維修完成,該溫度逐漸趨于穩定,到達正常溫度范圍。
主軸承齒輪箱側溫度殘差圖(圖4),更加清晰發現圖中圈出范圍內預測值與實測值的偏離,表現為殘差曲線則出現大幅度的波動,技術人員便可通過殘差曲線波動信息對故障風機進行早維修、早重啟、早運行,本文便是通過觀測判斷殘差曲線的長時間波動來診斷主軸承故障,提前發現風機異常,進而降低因為風機長時間因故障停機造成的損失,大大提高風場實際利益。實驗結果表現出本文提出的模型實用性良好。