胡翔,殷鋒,袁平
(1.四川大學計算機學院,成都610065;2.西南民族大學計算機科學與技術學院,成都610041;3.重慶第二師范學院數(shù)學與信息工程學院,重慶400067)
伴隨著全球化石燃料短缺問題愈發(fā)嚴重,能源的開發(fā)重心逐漸轉(zhuǎn)向可再生能源。風能如今作為被廣泛開發(fā)與利用的清潔能源之一,在電網(wǎng)系統(tǒng)總?cè)萘恐姓加泻艽蟊壤齕1]。然而,由于風力發(fā)電處于復雜且惡劣的環(huán)境,風力渦輪機經(jīng)常發(fā)生故障,從而導致非計劃停機時間,這給風電場運營商帶來高運行維護成本,因此研究先進的風力渦輪機故障檢測方法是非常必要的,它可以盡早檢測到那些可能存在的故障,最終幫助風電場的運營商及時采取適當?shù)拇胧?,避免造成繼發(fā)性損害甚至災難性事故,從而實現(xiàn)更好的維護計劃。
目前,研究風力渦輪機故障檢測的方法可以分為兩類,一種是基于數(shù)學模型的方法,另一種是基于數(shù)據(jù)驅(qū)動的方法。基于數(shù)學模型的方法主要是基于風力發(fā)電機系統(tǒng)中的物理機制和嚴格的數(shù)學模型進行系統(tǒng)建模,但它們很難實踐且不易更改?;跀?shù)據(jù)驅(qū)動的方法不需要嚴格的數(shù)學建模,并且可以從風電渦輪機測量的高維傳感數(shù)據(jù)中提取有用的特征或表示,然后通過進一步的分類決策來識別不同的故障類型。通過提升風機故障檢測精確度,可以幫助風電場維護人員提前獲知風機運行狀態(tài),及時準確地診斷風機的故障,以提高維護速度并最大限度地提高風力發(fā)電效率。Shin等人[2]利用支持向量機來實現(xiàn)端到端的風機故障診斷,并添加了兩個外部數(shù)據(jù)作為輸入。Yan 等人[3]提出首先利用PCA 從高維故障數(shù)據(jù)中提取出低維特征,消除特征之間的相關性,并作為支持向量機的輸入,最后輸出故障或正常。這些研究方法都基于建立好的數(shù)據(jù)標簽的數(shù)據(jù)集的情況,且需要另外的特征提取工作。
針對以上問題,本文提出一種基于LSTM 的風機故障檢測框架,首先利用DBSCAN 聚類算法對原始數(shù)據(jù)進行異常聚類,再作為LSTM 網(wǎng)絡模型的輸入,且不依賴前期的特征選擇,并捕捉隱藏在時間序列數(shù)據(jù)的長期依賴關系,最后輸出異常和正常的二分類結(jié)果。
LSTM(Long Short Term Memory networks)是RNN(Recurrent Neural Network)網(wǎng)絡的一種變體,由Hochreiter 和Schmidhuber[4]開發(fā),解決RNN 中的梯度消失問題。LSTM 利用門控機制可以學習長輸入序列,從而可以處理復雜序列信息的問題,其網(wǎng)絡結(jié)構(gòu)如圖1所示。

圖1 LSTM網(wǎng)絡結(jié)構(gòu)圖
LSTM 中的每個節(jié)點的狀態(tài)如公式(1)-(6)。其中,xt表示當前輸入,ht-1代表上一次迭代的隱藏狀態(tài),W 和b 表示權(quán)重和偏差,σ指的是sigmoid 函數(shù),ft表示忘記門的輸出,it表示輸入門的輸出,代表中間臨時狀態(tài),Ct-1代表上一層的單元狀態(tài),Ct表示下一層的單元狀態(tài),Ot表示輸出門的輸出,ht表示下一層的隱藏狀態(tài)層。

xt和ht-1進入忘記門得到ft,決定丟棄上一層的哪些信息;進入輸入門得到it,決定更新哪些信息;進入輸出門得到Ot,更新單元狀態(tài)。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)[5]是一種基于密度的空間聚類算法,它將具有足夠密度的區(qū)域劃分為簇,且在具有噪聲的空間中找到任意形狀的簇。如圖2 所示,DBSCAN 聚類算法將數(shù)據(jù)分為三類:核心點、邊界點和噪音點:
核心點(Core Object),表示當數(shù)據(jù)點xi在半徑為Eps 的鄰域內(nèi)存在至少MinPts 個樣本,那么該數(shù)據(jù)點xi稱為核心點;
邊界點(Border Object),表示當數(shù)據(jù)點xi在半徑為Eps 的鄰域內(nèi)存在少于MinPts 個樣本,而自身在其他核心點的范圍之內(nèi),則該數(shù)據(jù)點xi稱為邊界點;
噪音點(Noise Object),指的是既不是核心點也不是噪音點的數(shù)據(jù)點。

圖2 DBSCAN示意圖
DBSCAN 聚類算法的核心思路是隨機從某個數(shù)據(jù)點p 開始,根據(jù)半徑Eps 檢索可達的點,再根據(jù)最小數(shù)據(jù)點個數(shù)MinPts 來判斷當前數(shù)據(jù)點p 是不是核心點。若p 為核心點,則創(chuàng)建一個簇,并開始檢索該簇中其他核心點并加入到當前簇中;若不是,則檢索其他數(shù)據(jù)點,直至所有點檢索完成。
相比于基于劃分的聚類算法K-means,DBSCAN不需要指定具體的簇的個數(shù),就能處理不同大小或形狀的簇,且可以有效地識別噪音。
本文提出的故障檢測框架如圖3 所示。該框架主要分為離線訓練和在線檢測兩部分。風機SCADA 數(shù)據(jù)是由風電場控制系統(tǒng)監(jiān)視的各種參數(shù)組成,包括電氣參數(shù)(例如功率、電流和電壓等)、與天氣相關的參數(shù)(風速和風向等)和軸承變速箱溫度等,其中離線訓練包括數(shù)據(jù)清洗、數(shù)據(jù)標記和LSTM 模型訓練。框架的輸入為風電場SCADA 運行數(shù)據(jù),首先對風機運行數(shù)據(jù)進行數(shù)據(jù)清洗,將那些存在屬性缺失和嚴重偏離正常值的樣本過濾;由于SCADA 數(shù)據(jù)存在多維數(shù)據(jù),且這些變量的值的范圍相差過大,因此需要將它們轉(zhuǎn)換為相同范圍,即進行歸一化;其次需要對SCADA 數(shù)據(jù)進行標簽,本文利用DBSCAN 聚類算法對數(shù)據(jù)聚類得出正常點和異常點,并在此基礎上對數(shù)據(jù)進行標記。最后將標記后的數(shù)據(jù)輸入到基于LSTM 的神經(jīng)網(wǎng)絡模型,不需要依賴前期的特征提取,捕獲標記數(shù)據(jù)中隱藏的長期依賴關系。該框架的在線檢測部分主要是將風電場中的新SCADA 數(shù)據(jù)經(jīng)過數(shù)據(jù)預處理之后,輸入到訓練好的LSTM 模型中,最終得到風機故障的二分類結(jié)果。
該框架很好地利用DBSCAN 聚類算法對風機運行數(shù)據(jù)進行異常聚類,同時對實驗數(shù)據(jù)標記成為正常運行和故障兩種狀態(tài),不需要風電場的故障日志報告,這也就彌補了風電渦輪機存在缺失故障報告的不足。LSTM 已在序列數(shù)據(jù)中的機器學習問題中證明了其有效性,它使用存儲單元將信息從過去的輸出傳遞到當前的輸出,通過歷史數(shù)據(jù)的長期序列中學習隱藏的依賴關系,而在風機故障檢測領域中,風機運行數(shù)據(jù)正好符合時間序列的類型,且不需要進行特征提取,可以實現(xiàn)端到端的故障檢測。

圖3 框架流程圖
本文的實驗數(shù)據(jù)來自位于愛爾蘭風電場中的渦輪機[6],其中涵蓋了2014 年1 月至2015 年9 月,包含將近50000 個分辨率為10 分鐘的數(shù)據(jù)樣本,每個數(shù)據(jù)樣本具有60 個屬性。表1 列出了數(shù)據(jù)集的部分樣例,運行參數(shù)包括風速、轉(zhuǎn)速、功率和產(chǎn)出等。
為了衡量方法的性能,本文選取精度、召回率和F1 分數(shù)[7]作為實驗的評估標準,它們之間相關聯(lián)的是混淆矩陣。

表1 數(shù)據(jù)集的部分樣例

表2 二分類混淆矩陣
二分類混淆矩陣如表2 所示,TP(真陽例)表示將正類樣本預測為正類,F(xiàn)P(假陽例)表示將負類樣本預測為正類,F(xiàn)N(假陰例)表示將正類樣本預測為負類,TN(真陰例)表示將負類樣本預測為負類。由混淆矩陣可以引出以下評價指標:
查準率,代表模型預測正確率,即正確預測樣例數(shù)量和總樣例數(shù)的比值,如公式(7)所示:

召回率,表示被預測為正例的數(shù)量與真陽例數(shù)量的比值,如公式(8)所示:

F1-score,表示查準率和召回率的調(diào)和平均值。由于可能存在數(shù)據(jù)集中正負樣例嚴重不平衡問題,導致出現(xiàn)precision 過高但recall 過低或者precision 太小但recall 太大的情況,而F1-score 正好綜合考慮兩者,如公式(9)所示:

本文選取SCADA 運行數(shù)據(jù)中的功率數(shù)據(jù)和風電渦輪機轉(zhuǎn)速數(shù)據(jù)組合成二維數(shù)據(jù),并使用DBSCAN 聚類算法對生成的數(shù)據(jù)進行聚類,其中的參數(shù)MinPts 設置為5,參數(shù)eps 設置為2.1?;趯嶒灁?shù)據(jù)的聚類結(jié)果,將DBSCAN 聚類出的噪聲點作為異常點,并對實驗數(shù)據(jù)進行標簽。聚類結(jié)果如圖4 所示,正常點和異常點分別用不同半徑大小的圓圈表示。

圖4 DBSCAN聚類結(jié)果圖
神經(jīng)網(wǎng)絡模型中LSTM 中輸入維度設置為50,隱藏神經(jīng)元的維度設置為100。模型的最后一層的激活函數(shù)為Sigmoid 用作二分類。
基于LSTM 的神經(jīng)網(wǎng)絡模型與SVM 的實驗對比結(jié)果如表3 所示。本文的模型在F1 分數(shù)和Precision略高于基線SVM,這是由于LSTM 能捕獲到SCADA 數(shù)據(jù)的時間序列相關性。

表3 實驗對比結(jié)果
在風電渦輪機故障檢測領域中,需要進行數(shù)據(jù)標簽和特征提取。但由于在風電場系統(tǒng)中的SCADA 運行數(shù)據(jù)并不能直接標簽,此時就需要將正常數(shù)據(jù)點和故障數(shù)據(jù)點標記出來。本文提出使用DBSCAN 聚類算法對原始數(shù)據(jù)聚類,得出正常數(shù)據(jù)點和異常數(shù)據(jù)點,最后將實驗數(shù)據(jù)成功標簽為“正?!焙汀肮收稀?。另外,本文使用LSTM 模型對實驗數(shù)據(jù)進行訓練,無需進行特征提取,LSTM 可以利用自身的門控機制捕獲時間序列中長期依賴關系,實現(xiàn)端到端的風機故障檢測。通過實驗結(jié)果可以得出,該框架在準確率和召回率上有較好的效果。未來將考慮利用好風電場的警報日志和故障日志,共同作用于對SCADA 數(shù)據(jù)的標簽。