李森娟,張 萍,岳大為,王秋富
(河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300130)
風(fēng)電機組通常地處氣候惡劣的海上、丘陵等地區(qū),受到地理位置、天氣、時間等多種因素的限制,其定期維護和故障檢修的成本較高,約占整個風(fēng)電行業(yè)生產(chǎn)總值的10%~15%,而海上風(fēng)電機組更是達到了20%~35%[1-3]。為了使風(fēng)能成為更經(jīng)濟的能源來源,需要最大限度地提高風(fēng)電場的經(jīng)濟效益,對于風(fēng)電場來說降低運行和維護成本是至關(guān)重要的。風(fēng)電場SCADA系統(tǒng)實現(xiàn)對運行設(shè)備的監(jiān)視、數(shù)據(jù)采集以及報警等功能,了解機組的運行狀態(tài),及時發(fā)現(xiàn)故障并提前對相關(guān)故障進行處理,從而提高運營效率,降低運維成本[4-5]。
利用振動信號對風(fēng)電機組進行故障預(yù)測時主要針對風(fēng)電機組中的發(fā)電機、齒輪箱、塔筒等機械傳動與支撐部件,通過振動特征量的時頻域分析方法可以獲取相關(guān)部件的劣化程度[6]。同樣考慮到風(fēng)電機組在運行過程中受到風(fēng)速、溫度、機械等不確定性因素的影響,風(fēng)電機組的振動特征容易受到各種噪聲的干擾,近年來,利用SCADA數(shù)據(jù)進行風(fēng)電機組的故障預(yù)測研究越來越多。文獻[7]對SCADA數(shù)據(jù)預(yù)處理(4分位法剔除異常數(shù)據(jù)等),對齒輪箱特征因素進行相關(guān)性分析,利用統(tǒng)計過程控制原理(Statistical Process Control,SPC)分析殘差,最終對齒輪箱的異常狀態(tài)進行預(yù)測。但是,此模型在風(fēng)電機組齒輪箱正常工作狀態(tài)下才具有較高的預(yù)測精度,而且沒有推廣到整機的狀態(tài)評估。文獻[8]采用基于互信息的動態(tài)特征矩陣描述風(fēng)電機組的動態(tài)特性,通過加權(quán)k近鄰?fù)瑫r考慮動態(tài)特征矩陣中的特征貢獻率與累計互信息的影響,利用動態(tài)閾值計算降低運行狀態(tài)突變造成的誤報。但是所提方法只是對變槳系統(tǒng)能夠準(zhǔn)確進行故障信息的檢測。文獻[9]根據(jù)風(fēng)力發(fā)電機正常運行時采集的SCADA數(shù)據(jù),利用非線性狀態(tài)估計技術(shù)(Nonlinear State Eatimation Technique,NSET)建立了齒輪箱振動、發(fā)電機振動和主軸承振動三種振動模型,幫助檢測早期故障。文獻[10]基于模糊粗糙集理論建立變槳系統(tǒng)特征參數(shù)約簡的數(shù)學(xué)模型,再利用實際運行數(shù)據(jù)訓(xùn)練經(jīng)粒子群優(yōu)化的支持向量機,從而獲得高精度診斷模型,對變槳角度故障進行診斷實驗。在這些故障診斷和預(yù)測模型研究中,僅以風(fēng)電機組主要部件作為研究對象,并沒有對整機進行分析。綜上所述,本文選取關(guān)鍵特征參數(shù)建立故障診斷模型,進而對風(fēng)電機組進行故障預(yù)測具有重要意義。
SVM是一類線性分類器,通過構(gòu)造分隔超平面,將樣本數(shù)據(jù)分為兩個類別[11]。對于線性不可分的樣本數(shù)據(jù),SVM通過將原始數(shù)據(jù)映射到更高的維度,從而使其線性可分。假設(shè)樣本數(shù)據(jù)表示如下
(x1,y1),(x2,y2),…,(xi,yi)
xi∈Rn,yi∈{-1,1}
i=1,2,…,l
(1)
式中:xi和yi分別為樣本空間向量和類別標(biāo)志;R為訓(xùn)練樣本總數(shù);n為樣本空間維數(shù)。分類超平面為w·x+b=0,如圖1所示,其中R1和R2分別為x的第一維和第二維的取值;w為最優(yōu)超平面的法向量;b為偏置。
以線性可分的情況為例進行分析,將最優(yōu)超平面的求解問題轉(zhuǎn)化為約束優(yōu)化問題,見式(2)
(2)
對式(2)進行求解,把構(gòu)建最優(yōu)超平面的問題轉(zhuǎn)化為對偶二次規(guī)劃問題,結(jié)果見式(3)。
s.t.0≤ai≤C
ai≥0;i=1,2,…
(3)
圖1 最佳超平面
最終的最優(yōu)分類面函數(shù)表示為
(4)
模型的參數(shù)選擇是影響模型應(yīng)用效果的重要因素,為了避免模型過擬合從而提高模型對于測試集數(shù)據(jù)的預(yù)測精度,也就是模型的泛化能力,因此,常用K折交叉驗證(K-fold Cross Validation)方法評價模型的泛化能力。K折交叉驗證方法將數(shù)據(jù)集等比例劃分成K份,以其中K-1份數(shù)據(jù)訓(xùn)練,剩余一份數(shù)據(jù)驗證得到精度指標(biāo),如此訓(xùn)練K次并取各次指標(biāo)的平均值作為交叉驗證模型的指標(biāo)[12]。
網(wǎng)格搜索也叫窮舉搜索,即遍歷整個訓(xùn)練數(shù)據(jù)集。該方法通過遍歷給定的參數(shù)組合對所需訓(xùn)練的模型進行優(yōu)化[13-14]。使用網(wǎng)格搜索算法尋找模型最佳參數(shù)可以防止模型過擬合或欠擬合。網(wǎng)格搜索算法在實際應(yīng)用的過程中一般需要配合分類算法進行使用,目的是對分類算法的參數(shù)進行尋優(yōu)。
風(fēng)電場SCADA系統(tǒng)能對風(fēng)電機組功能進行現(xiàn)場或遠程控制,并通過收集數(shù)據(jù),對風(fēng)電機組的運行情況進行分析和報告。文中的數(shù)據(jù)來自一臺3MW的直驅(qū)式風(fēng)電機組,從風(fēng)電機組SCADA系統(tǒng)采集到三個獨立的數(shù)據(jù)集:“運行”數(shù)據(jù)、“狀態(tài)”數(shù)據(jù)和“警告”數(shù)據(jù),包含從2014年5月至2015年4月,共11個月的數(shù)據(jù),每隔十分鐘采集一次。
1)運行數(shù)據(jù):風(fēng)電機組控制系統(tǒng)監(jiān)控許多瞬時參數(shù)、功率特性、電氣設(shè)備中的各種電流和電壓、以及發(fā)電機軸承和轉(zhuǎn)子等部件的溫度。采集這些數(shù)據(jù)10分鐘的平均值、最小值和最大值,將其存儲在具有相應(yīng)時間戳的SCADA系統(tǒng)中,部分數(shù)據(jù)如表1所示。該數(shù)據(jù)用于訓(xùn)練分類器,并根據(jù)過濾器進行標(biāo)記,初始運行數(shù)據(jù)包含大約45000個數(shù)據(jù)點。
表1 10min運行數(shù)據(jù)
2)狀態(tài)數(shù)據(jù):風(fēng)電機組有許多正常運行狀態(tài)。當(dāng)風(fēng)電機組處于異?;蚬收线\行時,也有大量的狀態(tài)。這些都是由狀態(tài)信息記錄,包含在“狀態(tài)”數(shù)據(jù)中。狀態(tài)數(shù)據(jù)被分成兩個不同的組:Wind Energy Conversion(WEC)狀態(tài)數(shù)據(jù)和Remote Terminal Unit(RTU)狀態(tài)數(shù)據(jù)。WEC狀態(tài)數(shù)據(jù)對應(yīng)于與風(fēng)電機組本身直接相關(guān)的狀態(tài)信息,而RTU狀態(tài)數(shù)據(jù)對應(yīng)于與電網(wǎng)連接點處的功率控制數(shù)據(jù),即有功和無功功率設(shè)定點。每次WEC或RTU狀態(tài)改變時,都會生成一個新的帶時間戳的狀態(tài)信息。因此,直到產(chǎn)生下一個狀態(tài)信息前,認為風(fēng)電機組在一個狀態(tài)下運行。每個風(fēng)電機組狀態(tài)都有與之相關(guān)的“主狀態(tài)”和“子狀態(tài)”代碼。WEC狀態(tài)信息部分數(shù)據(jù)示例如表2所示。RTU狀態(tài)數(shù)據(jù)幾乎只處理有功或無功功率設(shè)定值。
表2 WEC狀態(tài)數(shù)據(jù)
3)警告數(shù)據(jù):風(fēng)電機組上的“警告”數(shù)據(jù)大多對應(yīng)于風(fēng)電機組的一般信息,通常與風(fēng)電機組運行或安全沒有直接關(guān)系,如表3所示。這些“警告”信息以與狀態(tài)信息相同的方式標(biāo)記時間戳。有時,警告信息對應(yīng)于風(fēng)電機組上潛在的發(fā)展中的故障;如果警告持續(xù)一定的時間,并且沒有被風(fēng)電機組操作員或控制系統(tǒng)清除,就會產(chǎn)生故障并且生成新的狀態(tài)信息。因此,在分析中可以忽略警告消息,因為信息是由狀態(tài)信息捕獲的。
表3 WEC警告數(shù)據(jù)
為了準(zhǔn)確地訓(xùn)練分類器,正確地標(biāo)記數(shù)據(jù)是很重要的。在文中,使用三個類型的分類:故障/無故障:樣本被分類為故障或無故障;故障診斷:樣本被分類為特定故障或無故障;以及故障預(yù)測,也就是在故障發(fā)生前一小時將數(shù)據(jù)分類為特定故障。這是通過將初始運行數(shù)據(jù)分成標(biāo)記的“無故障”、“所有故障”、“特定故障”和“故障預(yù)測”數(shù)據(jù)集來實現(xiàn)的。接下來解釋了標(biāo)記數(shù)據(jù)的過程。
無故障數(shù)據(jù)集:對于三個類型的分類,需要一個通用的“無故障”數(shù)據(jù)集,包括標(biāo)明的無故障操作。為了實現(xiàn)這一點,對完整的10分鐘操作數(shù)據(jù)進行篩選。首先,選擇對應(yīng)于標(biāo)明操作的WEC狀態(tài)代碼,這些代碼是“0 : 0——運行中的風(fēng)電機組”、“2 : 1——風(fēng)速過低”和“3 : 12——風(fēng)速過高”。接下來,過濾掉與功率輸出被削減的RTU狀態(tài)相對應(yīng)的所有操作數(shù)據(jù)。此時,僅留下一個狀態(tài),“0 : 0——RTU正在運行”。最后,過濾掉對應(yīng)于單個特定警告消息的數(shù)據(jù)(主警告代碼“230——功率限制(10h)”)。經(jīng)過以上三個階段的篩選,無故障數(shù)據(jù)包含大約28000個點的10分鐘運行數(shù)據(jù)。
圖2 功率曲線
風(fēng)電機組的功率和風(fēng)速之間理想的關(guān)系如圖2所示,顯示了在輪轂高度風(fēng)速的風(fēng)電機組功率輸出。為了驗證“無故障”數(shù)據(jù)集中僅包括風(fēng)電機組處于正常運行時的數(shù)據(jù),繪制了過濾數(shù)據(jù)的功率曲線,以檢查其是否符合標(biāo)準(zhǔn)形狀,如圖3所示,利用文獻[15]所述的一種濾除功率曲線異常的算法標(biāo)示正常操作的估計界限之外的數(shù)據(jù)點。圖中所有數(shù)據(jù)點顯示了在不進行任何過濾之前從操作數(shù)據(jù)產(chǎn)生的功率曲線,紅色的點是算法標(biāo)記為異常的點,大約有4000個這樣的點。黑色的點顯示了篩選的無故障數(shù)據(jù)集,經(jīng)過三步篩選過程后,仍然有大約400個點,算法將其識別為異常。由于這些數(shù)據(jù)在整個無故障數(shù)據(jù)集中所占的比例不到1%,而且在實際中,風(fēng)電機組數(shù)據(jù)總是包含噪聲,因此決定將這些數(shù)據(jù)包含在無故障數(shù)據(jù)中。
圖3 標(biāo)記的功率曲線
所有故障數(shù)據(jù)集:為了對故障/無故障數(shù)據(jù)進行分類,還需要生成一組標(biāo)記的故障數(shù)據(jù)。為此,列出了經(jīng)常發(fā)生的故障,對于這些故障,選擇了帶有與故障對應(yīng)的代碼的狀態(tài)信息。接下來,使用風(fēng)電機組狀態(tài)開始之前600秒和結(jié)束之后600秒的時間戳來對應(yīng)相關(guān)的10分鐘運行數(shù)據(jù)。表4總結(jié)了包括的故障,其中,故障頻率指的是每個故障的具體實例,而不是與其相關(guān)聯(lián)的運行數(shù)據(jù)的數(shù)據(jù)點的數(shù)量。電纜故障指的是風(fēng)電機組的供電電纜故障,勵磁故障指的是發(fā)電機勵磁系統(tǒng)的故障,電源故障指的是風(fēng)電機組的供電電源故障,冷卻故障指的是風(fēng)電機組的空氣循環(huán)和內(nèi)部溫度循環(huán)故障,發(fā)電機故障指的是發(fā)電機溫度過高。
特定故障數(shù)據(jù)集:對于特定故障與所有故障使用相同的方法,但這次對表4中的每個故障代碼使用單一狀態(tài)代碼。同樣,每個故障狀態(tài)開始之前600秒和結(jié)束之后600秒的時間戳用于對應(yīng)相應(yīng)的10分鐘運行數(shù)據(jù)。
故障預(yù)測數(shù)據(jù)集:為了預(yù)測特定的故障,故障分類的時間戳被擴展到不同的時間段,分別取自特定故障前的10、20、30、60、120和360分鐘。這意味著導(dǎo)致特定故障的運行數(shù)據(jù)點也包含在該故障類別中。
表4 常見故障
數(shù)據(jù)集被隨機打亂,分成訓(xùn)練集和測試集,其中80%用于訓(xùn)練,其余20%用于測試。因為原始操作數(shù)據(jù)集有60多個要素,所以僅選擇了30個特定要素的子集用于訓(xùn)練。分析數(shù)據(jù)發(fā)現(xiàn)許多原始特征對應(yīng)于風(fēng)電機組上損壞的傳感器,例如,它們包含結(jié)冰或明顯不正確的值。然后,選擇最相關(guān)的剩余特征進行訓(xùn)練。這些特征的一個子集,對應(yīng)于風(fēng)電機組中逆變器柜上的12個溫度傳感器,都具有非常相似的讀數(shù)。因此,決定將這些數(shù)據(jù)合并,并使用12個逆變器溫度的平均值和標(biāo)準(zhǔn)差,最終使用29個特征訓(xùn)練支持向量機。因為一些特征,例如功率輸出具有從0到幾千的巨大范圍,而其它特征,例如溫度,范圍僅僅從0到幾十,因此對所有數(shù)據(jù)都進行歸一化處理,如式(5)所示
(5)
其中,xmin為樣本數(shù)據(jù)的最小值,xmax為樣本數(shù)據(jù)的最大值。
對用于訓(xùn)練每個SVM的多個超參數(shù)進行參數(shù)網(wǎng)格搜索,以找到產(chǎn)生最佳結(jié)果的超參數(shù)。然后使用10折交叉驗證對這些超參數(shù)進行驗證。用于交叉驗證的評分標(biāo)準(zhǔn)是召回率的平均值。搜索的超參數(shù)是C:對損失值的懲罰系數(shù),即相對誤差的寬容度;γ:定義了一個單獨的訓(xùn)練例子以及使用的核有多大的影響。四種核函數(shù)分別是簡單線性核、徑向基(高斯)核、多項式核、Sigmoid核。參數(shù)選擇如表5所示。
表5 網(wǎng)格搜索中的超參數(shù)
原始數(shù)據(jù)嚴重失衡——無故障樣本比故障類樣本多一百多個,因此,使用SMOTE算法來減輕數(shù)據(jù)不平衡的影響。
模型的預(yù)測準(zhǔn)確率一直是用來評估模型性能優(yōu)劣的一種量化指標(biāo),而在文章中,風(fēng)電機組的故障數(shù)據(jù)遠遠少于其健康數(shù)據(jù),僅以預(yù)測準(zhǔn)確率作為模型優(yōu)劣的評判標(biāo)準(zhǔn)可能使得評估結(jié)果存在一定偏差。因此,文章使用混淆矩陣作為評判指標(biāo)來衡量模型的預(yù)測效果?;煜仃囀且粋€簡單的方陣,用于展示分類器的預(yù)測結(jié)果——真正、真負、假正、假負的數(shù)量。對于類別數(shù)量不均衡的分類問題來說,文中采用準(zhǔn)確率(Accuracy)、召回率(Recall)和F1 score作為性能指標(biāo)。F1 score為精確率(Precision)和召回率的調(diào)和平均值。
(6)
(7)
(8)
(9)
式中,TP是真正性(即正確預(yù)測的故障樣本)的數(shù)量,F(xiàn)P是假正性,F(xiàn)N是假負性(即錯誤標(biāo)記為無故障的故障樣本),TN是真負性。P代表Precision,R代表Recall。F1 score的取值范圍從0到1,1代表模型的輸出最好,0代表模型的輸出結(jié)果最差。
在表6中可以看到平衡訓(xùn)練集情況下的超參數(shù)搜索的結(jié)果。
表6 網(wǎng)格搜索中的超參數(shù)
當(dāng)在平衡集上訓(xùn)練數(shù)據(jù)時,得到的混淆矩陣如圖4所示,圖中顏色的深淺代表了各個區(qū)域分布數(shù)量的多少。由混淆矩陣得到的結(jié)果可以計算得到表7,對所有故障集預(yù)測在準(zhǔn)確率和召回率方面的性能相當(dāng)高(分別為85%和95%)。高召回率意味著很少有遺漏的故障實例。然而,SVM精確率比較低,因此,F(xiàn)1不是很高。
圖4 混淆矩陣結(jié)果
對于在平衡集上訓(xùn)練的特定故障集的預(yù)測,結(jié)果類似于所有故障集情況,除了在冷卻故障上顯示出非常差的全面性能。預(yù)測發(fā)電機故障顯示出最好的結(jié)果,精確率為87%,遠高于其它任何一項,召回率為100%,準(zhǔn)確率為99%,以及0.93的F1 score。在很大程度上,精確率和召回率之間的權(quán)衡與故障/無故障集是一樣的。然而,在發(fā)電機故障的預(yù)測中看到了非常好的性能。
表7 模型的評估報告
當(dāng)特定故障前的時間段從10分鐘延長到1小時時,在準(zhǔn)確率和召回率方面仍顯示出良好的結(jié)果,結(jié)果見表8。
表8 模型的評估報告
文中考慮算法篩選特征導(dǎo)致解釋性差的特點,從風(fēng)電機組特性出發(fā),最終選擇29個特征,對故障進行三個類型的分類:區(qū)分故障/無故障運行,對特定故障進行分類,以及提前一小時預(yù)測特定故障,通過對SVM模型進行優(yōu)化,得到一個效果更好的模型并選擇合適的評價指標(biāo)對得到的模型進行評估。結(jié)果表明,一小時的預(yù)測結(jié)果在各個數(shù)據(jù)集上顯示出良好的結(jié)果,通過實時傳輸風(fēng)電機組SCADA數(shù)據(jù),能夠?qū)崿F(xiàn)故障的在線監(jiān)測,并及時安排維修人員排故,避免非計劃維修,在一定程度上實現(xiàn)風(fēng)電機組的視情維修。