胡翔,殷鋒,袁平
(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065;2.西南民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,成都610041;3.重慶第二師范學(xué)院數(shù)學(xué)與信息工程學(xué)院,重慶400067)
伴隨著全球化石燃料短缺問題愈發(fā)嚴(yán)重,能源的開發(fā)重心逐漸轉(zhuǎn)向可再生能源。風(fēng)能如今作為被廣泛開發(fā)與利用的清潔能源之一,在電網(wǎng)系統(tǒng)總?cè)萘恐姓加泻艽蟊壤齕1]。然而,由于風(fēng)力發(fā)電處于復(fù)雜且惡劣的環(huán)境,風(fēng)力渦輪機(jī)經(jīng)常發(fā)生故障,從而導(dǎo)致非計(jì)劃停機(jī)時(shí)間,這給風(fēng)電場(chǎng)運(yùn)營(yíng)商帶來高運(yùn)行維護(hù)成本,因此研究先進(jìn)的風(fēng)力渦輪機(jī)故障檢測(cè)方法是非常必要的,它可以盡早檢測(cè)到那些可能存在的故障,最終幫助風(fēng)電場(chǎng)的運(yùn)營(yíng)商及時(shí)采取適當(dāng)?shù)拇胧?,避免造成繼發(fā)性損害甚至災(zāi)難性事故,從而實(shí)現(xiàn)更好的維護(hù)計(jì)劃。
目前,研究風(fēng)力渦輪機(jī)故障檢測(cè)的方法可以分為兩類,一種是基于數(shù)學(xué)模型的方法,另一種是基于數(shù)據(jù)驅(qū)動(dòng)的方法?;跀?shù)學(xué)模型的方法主要是基于風(fēng)力發(fā)電機(jī)系統(tǒng)中的物理機(jī)制和嚴(yán)格的數(shù)學(xué)模型進(jìn)行系統(tǒng)建模,但它們很難實(shí)踐且不易更改?;跀?shù)據(jù)驅(qū)動(dòng)的方法不需要嚴(yán)格的數(shù)學(xué)建模,并且可以從風(fēng)電渦輪機(jī)測(cè)量的高維傳感數(shù)據(jù)中提取有用的特征或表示,然后通過進(jìn)一步的分類決策來識(shí)別不同的故障類型。通過提升風(fēng)機(jī)故障檢測(cè)精確度,可以幫助風(fēng)電場(chǎng)維護(hù)人員提前獲知風(fēng)機(jī)運(yùn)行狀態(tài),及時(shí)準(zhǔn)確地診斷風(fēng)機(jī)的故障,以提高維護(hù)速度并最大限度地提高風(fēng)力發(fā)電效率。Shin等人[2]利用支持向量機(jī)來實(shí)現(xiàn)端到端的風(fēng)機(jī)故障診斷,并添加了兩個(gè)外部數(shù)據(jù)作為輸入。Yan 等人[3]提出首先利用PCA 從高維故障數(shù)據(jù)中提取出低維特征,消除特征之間的相關(guān)性,并作為支持向量機(jī)的輸入,最后輸出故障或正常。這些研究方法都基于建立好的數(shù)據(jù)標(biāo)簽的數(shù)據(jù)集的情況,且需要另外的特征提取工作。
針對(duì)以上問題,本文提出一種基于LSTM 的風(fēng)機(jī)故障檢測(cè)框架,首先利用DBSCAN 聚類算法對(duì)原始數(shù)據(jù)進(jìn)行異常聚類,再作為L(zhǎng)STM 網(wǎng)絡(luò)模型的輸入,且不依賴前期的特征選擇,并捕捉隱藏在時(shí)間序列數(shù)據(jù)的長(zhǎng)期依賴關(guān)系,最后輸出異常和正常的二分類結(jié)果。
LSTM(Long Short Term Memory networks)是RNN(Recurrent Neural Network)網(wǎng)絡(luò)的一種變體,由Hochreiter 和Schmidhuber[4]開發(fā),解決RNN 中的梯度消失問題。LSTM 利用門控機(jī)制可以學(xué)習(xí)長(zhǎng)輸入序列,從而可以處理復(fù)雜序列信息的問題,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
LSTM 中的每個(gè)節(jié)點(diǎn)的狀態(tài)如公式(1)-(6)。其中,xt表示當(dāng)前輸入,ht-1代表上一次迭代的隱藏狀態(tài),W 和b 表示權(quán)重和偏差,σ指的是sigmoid 函數(shù),ft表示忘記門的輸出,it表示輸入門的輸出,代表中間臨時(shí)狀態(tài),Ct-1代表上一層的單元狀態(tài),Ct表示下一層的單元狀態(tài),Ot表示輸出門的輸出,ht表示下一層的隱藏狀態(tài)層。
xt和ht-1進(jìn)入忘記門得到ft,決定丟棄上一層的哪些信息;進(jìn)入輸入門得到it,決定更新哪些信息;進(jìn)入輸出門得到Ot,更新單元狀態(tài)。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)[5]是一種基于密度的空間聚類算法,它將具有足夠密度的區(qū)域劃分為簇,且在具有噪聲的空間中找到任意形狀的簇。如圖2 所示,DBSCAN 聚類算法將數(shù)據(jù)分為三類:核心點(diǎn)、邊界點(diǎn)和噪音點(diǎn):
核心點(diǎn)(Core Object),表示當(dāng)數(shù)據(jù)點(diǎn)xi在半徑為Eps 的鄰域內(nèi)存在至少M(fèi)inPts 個(gè)樣本,那么該數(shù)據(jù)點(diǎn)xi稱為核心點(diǎn);
邊界點(diǎn)(Border Object),表示當(dāng)數(shù)據(jù)點(diǎn)xi在半徑為Eps 的鄰域內(nèi)存在少于MinPts 個(gè)樣本,而自身在其他核心點(diǎn)的范圍之內(nèi),則該數(shù)據(jù)點(diǎn)xi稱為邊界點(diǎn);
噪音點(diǎn)(Noise Object),指的是既不是核心點(diǎn)也不是噪音點(diǎn)的數(shù)據(jù)點(diǎn)。
圖2 DBSCAN示意圖
DBSCAN 聚類算法的核心思路是隨機(jī)從某個(gè)數(shù)據(jù)點(diǎn)p 開始,根據(jù)半徑Eps 檢索可達(dá)的點(diǎn),再根據(jù)最小數(shù)據(jù)點(diǎn)個(gè)數(shù)MinPts 來判斷當(dāng)前數(shù)據(jù)點(diǎn)p 是不是核心點(diǎn)。若p 為核心點(diǎn),則創(chuàng)建一個(gè)簇,并開始檢索該簇中其他核心點(diǎn)并加入到當(dāng)前簇中;若不是,則檢索其他數(shù)據(jù)點(diǎn),直至所有點(diǎn)檢索完成。
相比于基于劃分的聚類算法K-means,DBSCAN不需要指定具體的簇的個(gè)數(shù),就能處理不同大小或形狀的簇,且可以有效地識(shí)別噪音。
本文提出的故障檢測(cè)框架如圖3 所示。該框架主要分為離線訓(xùn)練和在線檢測(cè)兩部分。風(fēng)機(jī)SCADA 數(shù)據(jù)是由風(fēng)電場(chǎng)控制系統(tǒng)監(jiān)視的各種參數(shù)組成,包括電氣參數(shù)(例如功率、電流和電壓等)、與天氣相關(guān)的參數(shù)(風(fēng)速和風(fēng)向等)和軸承變速箱溫度等,其中離線訓(xùn)練包括數(shù)據(jù)清洗、數(shù)據(jù)標(biāo)記和LSTM 模型訓(xùn)練??蚣艿妮斎霝轱L(fēng)電場(chǎng)SCADA 運(yùn)行數(shù)據(jù),首先對(duì)風(fēng)機(jī)運(yùn)行數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,將那些存在屬性缺失和嚴(yán)重偏離正常值的樣本過濾;由于SCADA 數(shù)據(jù)存在多維數(shù)據(jù),且這些變量的值的范圍相差過大,因此需要將它們轉(zhuǎn)換為相同范圍,即進(jìn)行歸一化;其次需要對(duì)SCADA 數(shù)據(jù)進(jìn)行標(biāo)簽,本文利用DBSCAN 聚類算法對(duì)數(shù)據(jù)聚類得出正常點(diǎn)和異常點(diǎn),并在此基礎(chǔ)上對(duì)數(shù)據(jù)進(jìn)行標(biāo)記。最后將標(biāo)記后的數(shù)據(jù)輸入到基于LSTM 的神經(jīng)網(wǎng)絡(luò)模型,不需要依賴前期的特征提取,捕獲標(biāo)記數(shù)據(jù)中隱藏的長(zhǎng)期依賴關(guān)系。該框架的在線檢測(cè)部分主要是將風(fēng)電場(chǎng)中的新SCADA 數(shù)據(jù)經(jīng)過數(shù)據(jù)預(yù)處理之后,輸入到訓(xùn)練好的LSTM 模型中,最終得到風(fēng)機(jī)故障的二分類結(jié)果。
該框架很好地利用DBSCAN 聚類算法對(duì)風(fēng)機(jī)運(yùn)行數(shù)據(jù)進(jìn)行異常聚類,同時(shí)對(duì)實(shí)驗(yàn)數(shù)據(jù)標(biāo)記成為正常運(yùn)行和故障兩種狀態(tài),不需要風(fēng)電場(chǎng)的故障日志報(bào)告,這也就彌補(bǔ)了風(fēng)電渦輪機(jī)存在缺失故障報(bào)告的不足。LSTM 已在序列數(shù)據(jù)中的機(jī)器學(xué)習(xí)問題中證明了其有效性,它使用存儲(chǔ)單元將信息從過去的輸出傳遞到當(dāng)前的輸出,通過歷史數(shù)據(jù)的長(zhǎng)期序列中學(xué)習(xí)隱藏的依賴關(guān)系,而在風(fēng)機(jī)故障檢測(cè)領(lǐng)域中,風(fēng)機(jī)運(yùn)行數(shù)據(jù)正好符合時(shí)間序列的類型,且不需要進(jìn)行特征提取,可以實(shí)現(xiàn)端到端的故障檢測(cè)。
圖3 框架流程圖
本文的實(shí)驗(yàn)數(shù)據(jù)來自位于愛爾蘭風(fēng)電場(chǎng)中的渦輪機(jī)[6],其中涵蓋了2014 年1 月至2015 年9 月,包含將近50000 個(gè)分辨率為10 分鐘的數(shù)據(jù)樣本,每個(gè)數(shù)據(jù)樣本具有60 個(gè)屬性。表1 列出了數(shù)據(jù)集的部分樣例,運(yùn)行參數(shù)包括風(fēng)速、轉(zhuǎn)速、功率和產(chǎn)出等。
為了衡量方法的性能,本文選取精度、召回率和F1 分?jǐn)?shù)[7]作為實(shí)驗(yàn)的評(píng)估標(biāo)準(zhǔn),它們之間相關(guān)聯(lián)的是混淆矩陣。
表1 數(shù)據(jù)集的部分樣例
表2 二分類混淆矩陣
二分類混淆矩陣如表2 所示,TP(真陽例)表示將正類樣本預(yù)測(cè)為正類,F(xiàn)P(假陽例)表示將負(fù)類樣本預(yù)測(cè)為正類,F(xiàn)N(假陰例)表示將正類樣本預(yù)測(cè)為負(fù)類,TN(真陰例)表示將負(fù)類樣本預(yù)測(cè)為負(fù)類。由混淆矩陣可以引出以下評(píng)價(jià)指標(biāo):
查準(zhǔn)率,代表模型預(yù)測(cè)正確率,即正確預(yù)測(cè)樣例數(shù)量和總樣例數(shù)的比值,如公式(7)所示:
召回率,表示被預(yù)測(cè)為正例的數(shù)量與真陽例數(shù)量的比值,如公式(8)所示:
F1-score,表示查準(zhǔn)率和召回率的調(diào)和平均值。由于可能存在數(shù)據(jù)集中正負(fù)樣例嚴(yán)重不平衡問題,導(dǎo)致出現(xiàn)precision 過高但recall 過低或者precision 太小但recall 太大的情況,而F1-score 正好綜合考慮兩者,如公式(9)所示:
本文選取SCADA 運(yùn)行數(shù)據(jù)中的功率數(shù)據(jù)和風(fēng)電渦輪機(jī)轉(zhuǎn)速數(shù)據(jù)組合成二維數(shù)據(jù),并使用DBSCAN 聚類算法對(duì)生成的數(shù)據(jù)進(jìn)行聚類,其中的參數(shù)MinPts 設(shè)置為5,參數(shù)eps 設(shè)置為2.1?;趯?shí)驗(yàn)數(shù)據(jù)的聚類結(jié)果,將DBSCAN 聚類出的噪聲點(diǎn)作為異常點(diǎn),并對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行標(biāo)簽。聚類結(jié)果如圖4 所示,正常點(diǎn)和異常點(diǎn)分別用不同半徑大小的圓圈表示。
圖4 DBSCAN聚類結(jié)果圖
神經(jīng)網(wǎng)絡(luò)模型中LSTM 中輸入維度設(shè)置為50,隱藏神經(jīng)元的維度設(shè)置為100。模型的最后一層的激活函數(shù)為Sigmoid 用作二分類。
基于LSTM 的神經(jīng)網(wǎng)絡(luò)模型與SVM 的實(shí)驗(yàn)對(duì)比結(jié)果如表3 所示。本文的模型在F1 分?jǐn)?shù)和Precision略高于基線SVM,這是由于LSTM 能捕獲到SCADA 數(shù)據(jù)的時(shí)間序列相關(guān)性。
表3 實(shí)驗(yàn)對(duì)比結(jié)果
在風(fēng)電渦輪機(jī)故障檢測(cè)領(lǐng)域中,需要進(jìn)行數(shù)據(jù)標(biāo)簽和特征提取。但由于在風(fēng)電場(chǎng)系統(tǒng)中的SCADA 運(yùn)行數(shù)據(jù)并不能直接標(biāo)簽,此時(shí)就需要將正常數(shù)據(jù)點(diǎn)和故障數(shù)據(jù)點(diǎn)標(biāo)記出來。本文提出使用DBSCAN 聚類算法對(duì)原始數(shù)據(jù)聚類,得出正常數(shù)據(jù)點(diǎn)和異常數(shù)據(jù)點(diǎn),最后將實(shí)驗(yàn)數(shù)據(jù)成功標(biāo)簽為“正常”和“故障”。另外,本文使用LSTM 模型對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行訓(xùn)練,無需進(jìn)行特征提取,LSTM 可以利用自身的門控機(jī)制捕獲時(shí)間序列中長(zhǎng)期依賴關(guān)系,實(shí)現(xiàn)端到端的風(fēng)機(jī)故障檢測(cè)。通過實(shí)驗(yàn)結(jié)果可以得出,該框架在準(zhǔn)確率和召回率上有較好的效果。未來將考慮利用好風(fēng)電場(chǎng)的警報(bào)日志和故障日志,共同作用于對(duì)SCADA 數(shù)據(jù)的標(biāo)簽。