林 濤,趙成林,劉航鵬,趙參參
(河北工業大學人工智能與數據科學學院,天津 300130)
風電機組發電機結構復雜,在運行中會受風速、機械等復雜因素的影響,導致其內部承受的壓力較大,故障率高,不便于維修[1]。由發電機及其相關設備造成的停機時間占風電機組總故障停機時間的23.2%,這已經成為影響發電機組經濟性的重要因素[2]。
對即將發生的故障進行預警,采用預見性維護模式進行風電機組發電機維護是一種高效的、節約成本的方式。目前的風機部件狀態建模主要采用2種方法:基于物理模型的方法與基于數據驅動的方法。與基于物理模型的方法相比,基于數據驅動的方法限制較少,不用深入了解故障過程。通過數據采集技術,風場的運營維護人員可以得到大量的風機運行數據,這為基于數據驅動的風機狀態分析提供了基礎[3]。
在基于數據驅動的各種狀態監測方法中,通過采用監視控制與數據采集SCADA(Supervisory Control And Data Acquisition)系統中的風機運行數據來訓練預測模型,進而對風機部件進行實時狀態監測已被證明是一種高效的方式。Wang等[4]使用k近鄰、嶺回歸、支持向量機、淺層神經網絡、深度神經網絡作為預測模型,采用SCADA數據對風機齒輪箱進行故障診斷,經過比較各模型的殘差,證明了深度神經網絡的診斷精度最高,說明了深度神經網絡在處理風電數據上的優越性。然而,上述模型雖然達到了診斷的目的,但模型的構建過程繁瑣,并且只利用單一的變量殘差來評估部件的健康程度,不能達到全面評估的效果。
棧式自編碼器SAE(Stacked Auto-Encoder)作為一種實現簡單的深度神經網絡,可在多維數據中提取隱含特征。Zhao等[5]使用棧式自編碼器對風機SCADA數據進行分析,通過多維數據提取風機運行特征,根據重構誤差及各變量殘差的走勢推斷出風電機組的潛在故障位置,診斷結果更加全面。上述方法驗證了棧式自編碼器處理風電數據的可能性,但只是通過設定閾值來識別故障,不能得到故障的發生概率,并且閾值的設定直接影響了診斷效果,風場運維人員無法很好地把握。
為了使風場運維人員能夠直觀全面地監測風電機組發電機的運行狀態,針對以上風機健康評估研究的經驗與存在的問題,本文采用SCADA數據進行風電機組發電機健康評估,對傳統棧式自編碼器進行改進,將其作為風電機組發電機的狀態監測器,從模型的殘差分布中提取了3種統計指標,并將3種指標進行概率化處理及融合,得到風機發電機的健康度。與傳統的棧式自編碼器相比,改進的模型能學習到風電數據更深層的特征,較早地發現故障趨勢;與采用閾值的故障指示方法對比,本文提出的評估指標使用概率信息進行故障指示,對于故障趨勢的識別更加靈敏直觀。
本文的健康評估模型框架分為離線模型構建和在線健康評估2部分。首先對風機運行數據進行清洗處理,得到有效的訓練數據與測試數據。然后對棧式自編碼模型進行訓練、測試,得到健康評估基準模型與基準指標。最后將訓練好的基準模型作為發電機在線狀態監測器,并利用滑動時間窗對得到的在線重構誤差進行評估,得到每個時間段內風電機組發電機的健康度。本文的健康評估模型框架如圖1所示。

Figure 1 Structure of health assessment圖1 健康評估模型框架圖
棧式自編碼器是基于多層自編碼器的組合網絡,通過最小化輸入與輸出的重構誤差,可以使網絡逐層學習輸入數據間的分布規則,當數據出現異常,網絡內部平衡會被打破,導致重構誤差增大。作為自編碼器的變種,去噪自編碼器通過以一定概率使輸入為零來進行訓練,可以避免自編碼器的特征學習只是輸出對輸入的簡單復刻,使學習的特征更具有代表性,其最大的優勢是學習到的特征不受輸入的限制,從而得到比輸入維度更大的隱含層特征[6]。而稀疏自編碼器通過將隱含層稀疏化,使自編碼神經網絡即使在隱含層神經元數量較多的情況下仍然可以學習輸入數據中的一些規律[7]。
考慮到風機SCADA數據具有維度高、數據分布模式復雜的特征,本文改進的SAE模型將以上2種自編碼器結合,先利用去噪自編碼器學習1個比輸入更大的隱含特征,再通過稀疏自編碼器保證改進的SAE在多神經元下的特征學習效率。圖2為本文改進的SAE模型結構圖。

Figure 2 Structure of the improved SAE圖2 改進的SAE結構圖
圖2中x=[x1,x2,…,xn]表示模型輸入矩陣,y=[y1,y2,…,yn]表示模型輸出矩陣,h1,h2,h3表示隱含層矢量。自編碼器的編碼過程如式(1)所示:
h1=f(w1x+b1)
(1)
其中w1與b1分別為輸入層與隱含層之間的權值與偏置,f為sigmoid函數。
自編碼器的解碼過程如式(2)所示:
y=f(w4h3+b4)
(2)
其中,w4與b4分別為隱含層與輸出層之間的權值與偏置。為了避免網絡出現過擬合,本文在總體代價函數中加入正則化項,如式(3)所示:
(3)

(4)
其中,hj(xi)為第j個神經元在第i個輸入數據下的激活度。利用相對熵對節點的活躍度進行限制,則整個隱含層的稀疏限制如式(5)所示:
(5)
其中,ρ為稀疏性參數,通常是1個接近于0的值,本文中ρ=0.1。通過加入稀疏限制,可得到稀疏自編碼器的總體代價函數如式(6)所示:
(6)
其中,β為稀疏化的調節因子。
將式(3)的結果作為改進的SAE編碼過程的重構誤差,并通過以一定概率使輸入為零,構建去噪自編碼器。將式(6)的結果作為隱含層之間的重構誤差,從而構造稀疏自編碼器。對模型進行無監督預訓練與微調訓練后,得到風電機組發電機健康評估的基準模型。
當發電機出現故障趨勢時,通過改進的SAE狀態監測器得到的重構誤差分布與基準重構誤差的分布會出現明顯差異,為了對分布差異進行量化,先使用平均值、方差、分位數對離線訓練得到的重構誤差進行評估,得到風機在正常運行情況下的基準指標;再通過劃分時間窗,計算固定時間段內在線重構誤差的統計指標;最后將該統計指標與得到的基準指標進行差異性比對,得到分布差異指標。
平均值差異和方差差異是量化2個分布差異的基本指標,也是構建健康度指標的前提。z分數作為一種常用的統計方法,以標準差為單位計算樣本與總體平均值的距離,不受原始測量單位的影響。為了比較離線訓練的基準重構誤差與在線重構誤差的均值偏差,根據z分數原理設計平均值差異ME如式(7)所示:
ME=(uon-uoff)/σoff
(7)
其中,ME為2個誤差的平均值差異,uon為在線重構誤差均值,uoff為基準重構誤差均值,σoff為基準重構誤差的標準差。
F統計量廣泛應用于方差分析,為了比較2個誤差的方差差異,設計1個F統計量VM如式(8)所示:
(8)

風電機組發電機的實際運行容易受到風速等環境因素的影響,所以狀態監測得到的重構誤差含有大量噪聲,這些噪聲引起的重構誤差分布的異常變化,會進一步對2個重構誤差間平均值差異與方差差異的評估產生干擾。為了能夠更好地反映整體分布差異的變化,減弱重構誤差噪聲的影響,本文設計異常度AP如式(9)所示:
AP=P(r>δoff)
(9)
其中,AP是異常度,δoff為基準重構誤差的90%分位數,r為在線重構誤差,P(r>δoff)代表在線重構誤差超過基準重構誤差90%分位數的概率。AP值越大證明在線重構誤差中的異常樣本越多,發電機正常運行情況下,AP≈0.1。
利用平均值差異、方差差異、異常度3個指標,可以在考慮異常值影響的情況下,對在線重構誤差與離線基準重構誤差的分布差異進行評估,為提高評估指標的直觀性,將3種指標進行概率化與融合,得到發電機健康的綜合評價指標。
本文通過反正切函數將3個差異指標進行概率化,tanh函數單調遞增,且函數在大于某值后,其變化率變慢,此特點恰好可表示當重構誤差中有足夠的異常點時,風機已經處于異常狀態的情況,利于異常狀態的劃分。利用tanh函數對指標進行概率化,如式(10)所示:
PBPARA=tanh(PARA/a)
(10)
其中,PBPARA為得到的概率化指標,PARA代表要概率化的差異指標(ME,VM,AP),a為自定義參數。為了使PARA概率化到0~1,設置a=1.5。對平均值差異、方差差異、異常度進行概率化后,將3種概率化的指標進行融合,得到故障可能性指標為:
Perror=PBME*PBVM*PBAP
(11)
其中,PBME,PBVM,PBAP分別為平均值差異、方差差異和異常度的概率化指標,從3種不同的角度反映了發電機的故障可能性,將其指標融合得到的Perror包含了3種指標的特點,直觀地反映了故障發生的概率。最終得到的健康度如式(12)所示:
HC=1-Perror
(12)
為驗證所提出的健康評估模型的有效性,本文以河北某風場1.5 MW風機作為研究對象,利用21#風機1年的SCADA數據進行實驗分析,對其發電機進行狀態評估。SCADA系統中擁有70多種變量,包含時間、風速、功率、各部件溫度、機艙振動等信息,數據存儲周期為5 min,從系統中選取與發電機部件相關的所有變量,共計12個。由于風速對風電機組發電機的運行會產生顯著影響,而功率是發電機部件的輸出結果,反映發電機的輸出狀態,所以在原先12個變量基礎上加入風速、功率2個變量,組成與發電機運行相關的14個變量,如表1所示。

Table 1 SCADA variables related to generator components表1 與發電機部件相關的SCADA變量
表1中的變量直接反映發電機內部狀態,通過學習14個變量關系進行的健康評估相比通過單一變量進行的健康評估更加全面,能夠更好地監測風電機組發電機的性能劣勢,并且當發電機出現異常狀況,運維人員可以根據組成改進的SAE重構誤差的殘差分量推測故障原因,為接下來的故障預診斷和維修提供參考。由于實際SCADA系統會發生傳感器異常、系統處理錯誤等,得到的風機數據存在數據缺失、異常等問題,必須經過數據處理才能得到有效的運行數據。
本文首先根據SCADA系統的風機狀態碼,篩選出風機處于正常運行狀態的數據,但由于人為干擾與天氣條件,通過狀態碼篩選的正常運行數據中仍存在少量異常點,影響模型的訓練。實際中,當風力發電機處于正常運行狀態時,功率曲線附近的風功率點遵循正態分布規律,即越接近中心,分布越密集。文獻[8]據此原理使用子空間聚類方法對SCADA數據進行處理,并驗證了該方法篩選風機有效運行數據的有效性。由于本文數據來源與文獻[8]一致,所以同樣使用子空間聚類方法對上述14個變量的歷史數據進行數據清洗。得到有效純凈的數據后,再進行線性歸一化處理,如式(13)所示:
(13)
其中,z′是歸一化后的標準數據,z為歸一化前的原始數據,zmin和zmax分別為原始數據集中的最小值與最大值。經過數據清洗與歸一化處理后,得到280 000條純凈運行數據,將其用于模型的訓練與測試。
將純凈運行數據中的24 000條數據作為訓練集,輸入改進的SAE模型進行訓練,通過反復調試,確定改進的SAE的網絡結構為14-100-100-100-14。為確定健康評估基準,使用余下的4 000條有效運行數據對模型進行測試,得到測試集的部分重構誤差,如圖3所示。

Figure 3 Diagram of reconstruction error of partial test samples圖3 部分測試樣本的重構誤差圖
由圖3可知,雖然經過了數據處理,但2個模型得到的重構誤差還是存在不可避免的噪聲,如果采用閾值的方法對重構誤差進行評估,很可能產生誤報警現象,若通過本文提出的統計指標對在線重構誤差進行分布差異性評估,便可依靠異常度指標消除噪聲的影響。進一步對比2個模型發現,傳統SAE得到的重構誤差大部分位于0.15以下,而改進SAE的重構誤差大部分位于0.05以下,對2個模型的重構誤差進行統計指標分析,如表2所示。

Table 2 Statistical indicator of reconstruction error表2 重構誤差的統計指標
通過表2可知,改進SAE模型的重構誤差的平均值、標準差、90%分位數都小于傳統SAE的,這說明改進的模型能夠更充分地學習風電高維數據之間的關聯特征。為驗證模型改進與指標評估在實際異常檢測上的有效性,將測試得到的重構誤差作為基準重構誤差,通過具體故障實例進行測試。
該機組于2018年12月19日20:30推送發電機后軸承溫度報警信息且報警前風機一直處于運行狀態。選取報警前后從12月10日16:30到12月21日2:30共250小時的數據,將其輸入訓練好的改進的SAE狀態監測器與傳統的SAE狀態監測器,得到實時重構誤差曲線,并通過滑動時間窗計算重構誤差的統計指標及健康度。
根據圖4可知,傳統SAE的重構誤差在12月18日之后有明顯升高趨勢,而由于改進SAE的重構誤差偏小,對異常數據也相對敏感,所以重構誤差在12月17日已經有上升趨勢,在12月19日SCADA系統才推送發電機報警信息,此時對應重構誤差為0.4。若采用靜態閾值的方法,只有將閾值設置為0.4以下才可在系統報警前檢測出故障趨勢,但是在線重構誤差存在噪聲,閾值設定較困難。

Figure 4 Online reconstruction error of generator 圖4 發電機的在線重構誤差
從圖5中可以看出,改進SAE得到的健康度指標在12月14日雖然被重構誤差的噪聲影響,但都維持在60%以上。在12月16日20:00改進SAE的發電機健康度低于60%,并且隨著時間推移,健康度下降,則可認為風機發電機存在故障,當健康度下降到8%,SCADA系統才推送發電機后軸承過熱報警。

Figure 5 Online health assessment of generator圖5 發電機的在線健康度
相比于改進SAE,傳統SAE的健康度在機組停機后才不斷下降,這主要是因為傳統SAE得到的重構誤差較大,對于數據之間的異常不能很好地識別。由此可看出,本文的健康評估模型能夠準確地監測發電機部件的運行狀態,相比于現有SCADA系統能較早地識別發電機劣化趨勢。本文所提出的健康度為量化指標,風場的運維人員可根據健康度走勢靈活安排預防性維護任務,提高風場運營效率。
本文對傳統SAE模型進行改進并應用于風電機組發電機的健康評估,首先對SCADA數據進行處理得到純凈的風機運行數據。然后對改進的SAE模型進行訓練與測試,得到基準重構誤差并計算出發電機正常運行的基準指標。最后計算滑動時間窗中在線重構誤差的指標,與基準指標進行差異性比對,通過3種差異性指標的概率化處理與融合得到發電機的健康度。利用實際風場的數據進行驗證,結果表明,本文提出的風電機組發電機健康評估模型可準確地跟蹤發電機運行狀況的變化,并能以概率化的指標反映發電機在故障早期的劣化趨勢。與傳統SAE相比,改進SAE能夠學習到風電高維數據中更多的隱含特征,對數據之間的異常更加敏感。與SCADA系統的故障報警相比,本文的健康評估模型更加靈敏直觀,能夠在故障發生前檢測出故障趨勢。