董 健,柳亦兵,滕 偉,馬志勇
(1.國電聯(lián)合動力技術有限公司,北京100039;2.華北電力大學 電站能量傳遞轉化與系統(tǒng)教育部重點實驗室,北京 102206)
風力發(fā)電機組作為使用可再生能源、發(fā)展清潔電力的重要途徑,已在全世界范圍內廣泛應用[1],[2]。隨著國內風電的不斷發(fā)展,風電機組的裝機容量、裝機臺數(shù)不斷攀升,但是我國風資源主要分布于三北等高緯度、高海拔地區(qū),風電機組工作的環(huán)境溫度較低,而這些風電機組在工作中面臨霜雪、冰凍的考驗,極易發(fā)生風電機組葉片結冰現(xiàn)象,致使風電機組面臨風能捕捉效率降低、葉片斷裂、冰凌掉落影響人身安全等問題[3]~[5]。如何準確識別風電機組的葉片結冰狀態(tài),及時消除葉片結冰成為了當前風電行業(yè)中的研究難點與研究熱點。
針對如何識別風電機組是否處于葉片結冰故障狀態(tài),現(xiàn)有研究主要集中在使用硬件識別和算法識別兩個方向。在硬件識別方向,須要在風電機組中安裝硬件設備對葉片進行檢測,以有效識別葉片是否處于結冰故障狀態(tài)。如安裝紅外傳感器識別溫度是否超過設定閾值、通過超聲檢測儀辨別葉片狀態(tài)、利用其它傳感技術判斷葉片是否發(fā)生結冰等[6]~[8]。這些研究須要借助外接設備實現(xiàn),安裝復雜且增加成本,因此,部分學者在算法識別方向進行了研究。主要通過各種機器學習算法對風電機組SCADA數(shù)據(jù)進行分類,區(qū)別風電機組的正常狀態(tài)和葉片結冰故障狀態(tài),通常使用的算法有神經(jīng)網(wǎng)絡、邏輯回歸和隨機森林等[2],[3],[9]。 本文探討使用更多算法解決風電機組葉片結冰問題,并與現(xiàn)有研究進行比較分析,具有十分重要的現(xiàn)實意義。
本文基于SCADA監(jiān)測數(shù)據(jù),對時間序列進行重采樣,然后對數(shù)據(jù)進行歸一化處理。在此基礎上,對傳統(tǒng)BP神經(jīng)網(wǎng)絡進行簡要分析,并結合Adaboost算法,構建基于BP_Adaboost算法的強分類器。最后,選擇6臺風電機組的SCADA數(shù)據(jù),驗證所提BP_Adaboost算法的可行性。
在使用神經(jīng)網(wǎng)絡解決風電機組葉片結冰故障檢測問題時,每個神經(jīng)元獲得輸入數(shù)據(jù)序列{x1,x2,…,xn},通過函數(shù)f(x)進行計算并產(chǎn)生輸出數(shù)據(jù)序列yn。根據(jù)神經(jīng)元的輸入數(shù)據(jù)序列{x1,x2,…,xn}和數(shù)據(jù)對應的權重序列{ω1,ω2,…,ωn},計算當前神經(jīng)元的數(shù)據(jù)輸出序列。

假設神經(jīng)元激活判斷閾值為θ,當神經(jīng)元獲得數(shù)據(jù)序列{x1,x2,…,xn}和數(shù)據(jù)對應的權重序列{ω1,ω2,…,ωn}的加權大于激活判斷閾值θ時,表示神經(jīng)元被激活。反之,神經(jīng)元處于未激活狀態(tài)。以f表示神經(jīng)元的激活函數(shù),以α表示神經(jīng)元的計算輸出,則:

每個神經(jīng)元對信息的處理僅限于自己獲得的輸入,因此非線性轉移輸出非常有限,而多個神經(jīng)元按照特定的權重和閾值組合能夠完成強大的輸出。但是,BP神經(jīng)網(wǎng)絡更擅長解決擬合問題,在對風電機組葉片結冰進行故障分類時,作用能力非常有限。雖然單一的BP神經(jīng)網(wǎng)絡在對風電機組葉片結冰進行故障分類時作用有限,但由于Adaboost算法的訓練錯誤率上界會隨著迭代次數(shù)的增加而逐漸下降,同時Adaboost算法不會出現(xiàn)過擬合的問題,因此,采用BP_Adaboost算法預測葉片是否處于結冰狀態(tài)精準度較高。通過Adaboost算法將多個BP神經(jīng)網(wǎng)絡進行組合構成強分類器,就能夠獲得遠勝于單一BP神經(jīng)網(wǎng)絡的分類效果。在使用BP_Adaboost算法構建強分類器對風電機組葉片結冰故障進行檢測時,根據(jù)輸入的風電機組監(jiān)測數(shù)據(jù)樣本的數(shù)據(jù)分布、樣本總體分類與訓練集樣本分類的準確率,確定風電機組監(jiān)測數(shù)據(jù)樣本的權值。確定權值后的風電機組監(jiān)測數(shù)據(jù)樣本根據(jù)BP_Adaboost算法結構進行傳遞,由下一層分類器對風電機組監(jiān)測數(shù)據(jù)樣本繼續(xù)進行訓練。訓練完成后,將所有的單一分類器融合完成算法。
在使用BP_Adaboost算法對風電機組葉片結冰故障進行檢測時,首先從風電機組監(jiān)測數(shù)據(jù)樣本中隨機選擇m組風電機組監(jiān)測樣本作為模型訓練數(shù)據(jù),并初始化每組模型訓練數(shù)據(jù)的分布權值[Dt(i)],Dt(i)=1/m。根據(jù)風電機組監(jiān)測數(shù)據(jù)樣本輸入與風電機組葉片結冰故障輸出維數(shù)確定單一神經(jīng)網(wǎng)絡的結構,初始化單一BP神經(jīng)網(wǎng)絡的權值和閾值。假設Adaboost算法的分類器由t個神經(jīng)網(wǎng)絡組成,將風電機組監(jiān)測數(shù)據(jù)樣本代入輸入層,風電機組葉片結冰故障分類的結果代入輸出層,則第t個神經(jīng)網(wǎng)絡的分類結果為

式中:et為預測誤差;g(t)為風電機組葉片結冰故障預測分類結果;y為風電機組葉片結冰故障期望分類結果。
得到結冰故障檢測的et后,通過誤差計算預測序列t的權重at。

在求得序列t的at后,通過測得的權重對下一輪要做預測的風電機組葉片結冰訓練樣本進行調整,則t+1序列樣本分布權值為

式中:Bt為歸一化因子,目的是在權重比例不變的情況下使分布權值的和為1。
T輪訓練后,得到T組神經(jīng)網(wǎng)絡的分類器函數(shù)f(gt,at)。通過對單一神經(jīng)網(wǎng)絡的風電機組葉片結冰故障檢測分類器函數(shù)進行判斷決策,組合得到強分類器函數(shù)h(x)。

式中:sgn()函數(shù)為階躍函數(shù),是將分類器函數(shù)的加權結果轉換為一個整型數(shù)值輸出。
h(x)實現(xiàn)了對于風電機組監(jiān)測數(shù)據(jù)樣本向量x的輸入,轉化為一個整型數(shù)值輸出,指示風電機組葉片結冰故障檢測的分類結果。其中,如果風電機組監(jiān)測數(shù)據(jù)樣本向量的輸入被算法識別為“正常狀態(tài)”,則sgn()計算的數(shù)值為1;如果風電機組監(jiān)測數(shù)據(jù)樣本向量sgn()的輸入被算法識別為“結冰故障狀態(tài)”,則sgn()計算的數(shù)值為-1。
使用BP_Adaboost算法對風電機組葉片結冰故障檢測的算法流程如圖1所示。

圖1 基于BP_Adaboost的風電機組結冰故障檢測流程Fig.1 Detection process of ice-freezing faultofwind turbines based on BP_Adaboost
通過提取風速、轉矩、功率、轉速等26個監(jiān)測數(shù)據(jù),完成敏感特征數(shù)據(jù)庫的構建,將每一個保留的基本屬性作為不同神經(jīng)網(wǎng)絡的輸入信息,共生成26個BP_Adaboost神經(jīng)網(wǎng)絡,將測試數(shù)據(jù)輸入到已訓練完成的神經(jīng)網(wǎng)絡中,最終通過得出的判斷結果驗證BP_Adaboost神經(jīng)網(wǎng)絡的有效性。
本文所選的研究區(qū)域為內蒙古東北部某風電場,風電場緯度為43.3°N,常年盛行西北風。風電場工程用地總面積為11.43 km2,設置3條集電線路,裝有2MW,3MW風電機組合計22臺。
本文開展風電機組葉片結冰檢測研究的數(shù)據(jù)來自該風電場22臺風電機組的監(jiān)測數(shù)據(jù),數(shù)據(jù)時間為10月-次年2月。原始數(shù)據(jù)中有風速、風向、溫度、電壓、電流、有功功率、葉輪轉速等秒級屬性點134個,年平均氣溫為2.6℃,最低氣溫為-22℃。
風電場中SCADA數(shù)據(jù)為秒級傳感數(shù)據(jù),不僅監(jiān)測信號量種類復雜,而且數(shù)據(jù)量非常大,對原始數(shù)據(jù)進行預處理和篩選是一項繁瑣且艱難的工作。通過實驗驗證,將采樣間隔設為10 s時,本文提出的方法可在不影響整體精度的同時,通過采樣間隔對數(shù)據(jù)進行初步處理,不僅縮小了數(shù)據(jù)量級,同時提高了模型的訓練時間。在此基礎上,將處理后的數(shù)據(jù)通過數(shù)據(jù)清洗剔除不均勻、異常的采樣時刻數(shù)據(jù),同時將秒級屬性點進行篩選,保留處理后的數(shù)據(jù)集Datas。
針對風電機組是否處于結冰故障狀態(tài)進行預測,主要是預測風電機組發(fā)生結冰故障的時間段,包括結冰故障開始時間和結冰故障結束時間。本研究中將風電機組結冰故障預測問題轉換為風電機組正常狀態(tài)和風電機組結冰故障狀態(tài)的分類問題,將基于時間序列的Datas按照時間窗t和步長l分割成j個時間序列數(shù)據(jù)子集Datai。

每個Datas均包含有風電機組監(jiān)測數(shù)據(jù)的時間戳集合Timei及該Timei下的屬性數(shù)據(jù)集合Ri。對每個Datai中的數(shù)據(jù)進行識別分類,以1表示風電機組處于葉片結冰故障狀態(tài),以-1表示風電機組未處于葉片結冰故障狀態(tài)。
通過數(shù)據(jù)預處理和特征提取,本文保留了原始屬性數(shù)據(jù)中的風速、發(fā)電機轉速、功率、風向、偏航位置等26項基本屬性,將每一個保留的基本屬性作為不同神經(jīng)網(wǎng)絡的輸入信息,共生成26個BP神經(jīng)網(wǎng)絡,即圖1中n=26。為了避免生成兩個相鄰的時間窗口,將基于時間序列的Datas按照時間窗t=106和步長l=20分割成若干Datai。t為時間序列長度,l為每兩個數(shù)據(jù)集之間的間隔。
將處理后的數(shù)據(jù)標簽化,本研究中選取的6臺風電機組的數(shù)據(jù)集數(shù)據(jù)情況如表1所示。

表1 6臺風電機組數(shù)據(jù)分類概況Table 1 Data classification overview of 6 wind turbines
由表1可知,處理后的數(shù)據(jù)中,處于風電機組葉片結冰故障的數(shù)據(jù)與正常數(shù)據(jù)的比例接近1∶14。如果將該數(shù)據(jù)集作為訓練數(shù)據(jù)直接用于檢測算法進行模型訓練,會使模型過度認知正常數(shù)據(jù)的特性,忽略故障數(shù)據(jù)特性。因此,通過對風電機組葉片結冰故障數(shù)據(jù)進行重采樣和正常數(shù)據(jù)降采樣進而保證數(shù)據(jù)分類的平衡性。風電機組葉片結冰故障數(shù)據(jù)重采樣過程并非直接復制已采集的故障數(shù)據(jù),而是如前文描述,將采樣間隔設為10 s,通過采樣間隔對數(shù)據(jù)進行初步處理,保持采樣間隔不變,改變采樣間隔的起始時間,即可產(chǎn)生完全不同的故障數(shù)據(jù)樣本,進而避免在數(shù)據(jù)重采樣過程中生成過多的重復故障數(shù)據(jù)。風電機組葉片健康數(shù)據(jù)通過隨機刪除正常數(shù)據(jù)樣本實現(xiàn)降采樣過程,同時可以防止分類器達到過擬合的效果。最終使模型訓練集中兩種類別數(shù)據(jù)的比例接近1∶1。
本研究中,為評估BP_Adaboost算法模型對風電機組葉片結冰故障檢測的有效性,定義以下參數(shù):
TP:風電機組處于結冰故障狀態(tài)且被預測為結冰故障狀態(tài)的次數(shù);
FP:風電機組處于正常狀態(tài)但被預測為結冰故障狀態(tài)的次數(shù);
FN:風電機組處于結冰故障狀態(tài)但被預測為正常狀態(tài)的次數(shù);
TN:風電機組處于正常狀態(tài)且被預測為正常狀態(tài)的次數(shù)。
在以上參數(shù)的基礎上,本研究中通過下式計算模型得分。

式中:Nnormal為數(shù)據(jù)集中未處于結冰故障狀態(tài)的數(shù)據(jù)樣本量;Nfault為數(shù)據(jù)集中處于結冰故障狀態(tài)的數(shù)據(jù)樣本量;α,β均為模型評估公式權值參數(shù),在本研究中,均取值為0.5。
score參數(shù)主要由兩部分決定,即FN和FP,score的大小不僅可以從整體上證明該模型的有效性,還可以更加直觀地體現(xiàn)出不同分類模型在相同條件下關于風電機組葉片結冰故障分類方面的整體有效性。同時對于風電機組葉片結冰故障檢測問題來說,風電機組處于結冰故障狀態(tài)但被預測為正常狀態(tài)的有效性,或風電機組處于正常狀態(tài)但被預測為結冰故障狀態(tài)的有效性并不能單獨證明分類模型在故障分類方面的整體有效性。因此,F(xiàn)N和FP的獨立有效性并不會掩蓋模型的整體有效性,通過score參數(shù)可以很好地反映出模型的有效性。
將上述6臺風電機組故障數(shù)據(jù)重采樣和健康數(shù)據(jù)降采樣之后的樣本送到基于BP_Adaboost算法組成的強分類器中。表2為基于BP_Adaboost算法組成的強分類器對風電機組葉片結冰故障檢測的精度。

表2 風電機組葉片結冰故障檢測的精度Table 2 Accuracy of ice detection forwind turbine blades
由表2可知,基于BP_Adaboost算法組成的強分類器對風電機組葉片結冰故障的檢測方法,在6臺風電機組下成功率精度均大于97%,總體精度約為98%。
為了更加直觀地對比不同算法在葉片結冰故障檢測問題上的先進性和有效性,本文選擇單一BP神經(jīng)網(wǎng)絡構成的弱分類器與基于BP_Adaboost算法組成的強分類器進行對比。將6臺風電機組的數(shù)據(jù)分別用兩種算法進行計算,求得每一數(shù)據(jù)集中兩種算法的模型計算得分,結果如圖2所示。

圖2 兩種算法的計算得分對比Fig.2 Comparing the scores of two algorithms
由圖2可知:基于BP_Adaboost算法構建的強分類器模型的得分均高于單一BP神經(jīng)網(wǎng)絡構建的弱分類器;基于BP_Adaboost算法構建的強分類器模型的平均得分為75.3,BP神經(jīng)網(wǎng)絡構建的弱分類器的平均得分為67.3分,風電機組葉片結冰故障檢測強分類器算法的得分比弱分類器算法的得分平均高12%左右。實驗對比結果表明,本文基于BP_Adaboost算法構建的風電機組葉片結冰故障檢測模型具有較高的精度,能夠滿足實用的需要。
為了驗證數(shù)據(jù)處理時,采樣間隔對本文提出方法的影響,將不同的采樣間隔應用到數(shù)據(jù)預處理環(huán)節(jié)。表3為不同采樣間隔下的模型score得分情況。

表3 不同采樣間隔下的模型score得分Table 3 Model scores of different sampling intervals
由表3可知:將不同的采樣間隔應用到數(shù)據(jù)預處理環(huán)節(jié)之后,本文提出的基于BP_Adaboost算法的風電機組葉片結冰故障檢測強分類器的score得分隨著采樣間隔的增加而遞減,但在原始數(shù)據(jù)、5 s及10 s采樣間隔情況下,算法的平均得分基本接近,達到75.3左右;當采樣間隔為30 s及60 s時,得分有了明顯下降,分別為72.4和64.1。為了在保證模型精度的前提下,盡可能地縮小數(shù)據(jù)量級,同時提高模型的訓練時間,將采樣間隔設置為10 s較為合適。
為了提高風電機組葉片是否處于結冰狀態(tài)的預測精度,本文在傳統(tǒng)的BP神經(jīng)網(wǎng)絡基礎上,結合Adaboost算法的優(yōu)勢,提出了一種BP_Adaboost算法來預測風電機組葉片是否處于結冰狀態(tài)。通過BP_Adaboost算法對多個BP神經(jīng)網(wǎng)絡進行組合,構建了風電機組葉片結冰故障強分類器檢測模型。經(jīng)過Adaboost算法組合后的強分類器模型的平均得分為75.3分,優(yōu)于基于單一BP神經(jīng)網(wǎng)絡構建的風電機組葉片結冰故障檢測模型。實驗結果表明,本文中基于BP_Adaboost算法構建的風電機組葉片結冰故障檢測模型具有較高的精度,能夠滿足實用的需要。