王一妹, 劉 輝, 宋 鵬, 胡澤春, 鄧曉洋, 吳林林
(1.國網冀北電力有限公司 電力科學研究院, 北京 100045; 2.風光儲并網運行技術國家電網公司重點實驗室,北京 100045; 3.清華大學 電機系, 北京 100084)
隨著風電場建設的大型化, 風電場內海量數據的收集及處理問題日益突出[1]。 作為風電場單機信息管理的重要依據, 風電機組運行的數據采集與監視控制系統(SCADA)在風電場優化控制和發電功率預測等工程領域有著廣泛應用。 SCADA數據的質量在很大程度上決定了風電場優化控制及功率預測的準確性, 進而影響風電場的經濟效益[2]。 因此,研究能夠有效提升SCADA 數據質量的風電機組運行數據清洗方法, 對于提高風電場運行維護的準確性和經濟性具有重要意義[3]。
學者及工程人員針對風電機組的風速-功率(P-V)運行數據清洗開展了大量研究。Yan Jie[4]基于風電機組控制策略判斷散點分布的上臨界曲線剔除異常數據, 但判斷過程須借助機組運行的槳距角信息。 Shen Xiaojun[5]利用變點分組法與四分位法結合的方式清洗異常數據, 但清洗過程存在數據點大量誤刪的情況。 婁建樓[6]采用最優組內方差法清洗風電機組的P-V 運行數據,但原始數據存在明顯的正常與異常點分布,個例特性較強,應用的魯棒性較差。 胡陽[7]利用置信等效邊界法處理異常運行數據,但Copula 函數的差異性選取會導致計算邊界對真實邊界的覆蓋偏差, 從而造成數據漏刪或誤刪。
針對現有的風電機組運行數據清洗方法存在的需要額外信息輔助判斷、數據誤刪量大、清洗后散點分布不光滑、魯棒性差等問題,本文結合常見的異常數據類型, 提出了基于多階段遞進識別的風電機組運行數據清洗方法。 基于取自SCADA的風電機組P-V 數據,將異常運行數據劃分為4類, 并針對不同類型的異常數據分別探索解決方案。 利用DBSCAN 聚類法、核密度估計法、截斷法和斜率控制法分別建立異常數據識別模型, 用以識別離散分布的異常點、限功率點、0 功率的故障點以及1 功率的低風速點, 通過異常點剔除實現數據清洗,在保留數據完整性的基礎上,提高了風電機組風速-功率運行數據的準確性。
基于SCADA 中的風電機組實測P-V 數據,繪制機組標準化的實測P-V 散點圖(圖1)。由圖1可知, 風電機組常見的異常運行數據大致可分為4 類,由下至上依次為①0 功率值堆積點、②恒功率限電點、 ③發電功率離群異常點和④1 功率值低風速點。

圖1 風電機組實測P-V 散點圖Fig.1 Measured P-V scatter for wind turbine
0 功率值堆積點常由風電機組故障、 計劃外停電檢修及通訊設備故障等原因產生; 恒功率限電堆積點多是因風電場跟蹤調度計劃的要求,而將場內的某些或全部機組控制在給定功率運行而產生;離群異常點常由極端天氣、信號傳播噪聲等較為隨機的因素導致;1 功率值低風速點多由通訊錯誤或傳感器故障等非運行因素導致。 在實際運行中,①,③,④類異常數據的出現頻率較高,②類異常數據則只針對限電機組。 在數據清洗過程中,4 類數據的處理順序為③-①-④-②。
本節針對③,①,④,②類異常數據的識別方法,依次進行原理解析。
密度聚類方法假設能夠通過樣本分布的緊密程度確定聚類結構[8],并且將具有足夠密度的區域劃分為簇。 DBSCAN 是一種應用廣泛的密度聚類方法[9],利用鄰域參數(Eps,MinPts)刻畫樣本分布的緊密程度,Eps 和MinPts 分別為半徑和最小樣本數目。基于鄰域參數,DBSCAN 算法將數據點分為核心點、邊界點和噪音點,噪音點就是數據清洗時須要識別的離群異常點。在已知鄰域參數時,DBSCAN 算法的一般步驟如下:
(1)將數據集D 中的所有對象均標記為未處理狀態;
(2)對數據集D 中的每個對象p 進行判斷,如果p 已經被歸入某個簇或被標記為噪聲, 則結束判斷,否則,繼續執行步驟(3);
(3)檢查對象p 的Eps 鄰域NEps(p),如果NEps(p)包含的對象數小于MinPts,則標記對象p為邊界點或噪聲點, 否則, 則標記對象p 為核心點,建立新簇C,并將p 鄰域內的所有點加入C;
(4)對于NEps(p)中尚未被處理的對象q,檢查 其Eps 鄰 域NEps(q),若NEps(q)包 含 至 少MinPts 個對象,則將NEps(q)中未歸入任何一個簇的對象加入C。

當來流風速高于風電機組的切入風速時,機組的發電功率會隨著風速的增加而增大直至達到滿發(來流風速達到額定風速)。但在實際運行中,由于環境條件的變化以及機組控制策略等的影響, 機組達到滿發功率的風速會略高于或低于設計的額定風速[10]。然而,顯著低于額定風速的1 功率值散點,則是由通訊故障等原因造成的異常點,須予以剔除。

核密度估計(Kernel Density Estimation,KDE)是一種用于估計概率密度函數(Probability Density Function,PDF)的非參數檢驗方法[11]。 KDE 采用平滑的峰值(核)函數來擬合觀察到的數據點,從而模擬真實的概率分布曲線。恒功率的限電堆積點經常覆蓋較寬的風速范圍,KDE 方法假設風電機組P-V 散點的PDF 服從正態分布, 而由于堆積型異常數據的存在, 此PDF 將呈現雙峰或多峰分布。 對不同風速區間內功率散點的PDF曲線進行削峰處理,刪除低峰密度曲線對應的異常點,使其由多峰變為單峰分布,完成限電堆積數據的清洗。
假設樣本X 包含n 個獨立同分布的樣本點x1,x2,…,xn,其概率密度函數為f,KDE 將每個數據點的數據和帶寬作為核函數的參數, 得到n 個核函數參數對, 經線性疊加后獲得核密度的估計函數,經歸一化后獲得核密度的PDF。

以實際風電場為例, 建立風電機組的異常運行數據識別模型, 進而實現風電機組運行數據的清洗。
所選風電場位于中國北方,場內共有33 臺1.5 MW 的風電機組,風輪直徑為82 m,風電場覆蓋面積約為15 km2。風電場內地形較為平坦,機組間的最大高程差為164 m, 風電場內的機組排布如圖2 所示。風電機組的切入、額定和切出風速分別為3,10.5 m/s 和25 m/s, 風電機組標準化的推力系數及功率曲線如圖3 所示。

圖2 風電場內機組布局Fig.2 Wind farm layout

圖3 風電機組推力系數及功率曲線Fig.3 Wind turbine's Ct and power curves
為完整覆蓋可能的異常數據類型, 從風電場內選取4 臺分別含不同異常數據種類(2~3 種)的風電機組,即1#,9#,15#和18#風電機組。4 臺機組包含的異常數據類型分別為①③,①②③,①③④和①②③④,4 臺機組在場內的位置由圖2 中的方框標識。對2018 年5 月-12 月共計8 個月的風電機組SCADA 風速和功率數據進行歸一化處理,數據的時間分辨率為10 min。
基于第2 節中方法建立異常數據識別模型,按照離群異常點、0 功率值堆積點、1 功率值低風速點和恒功率限電點的順序, 依次識別并剔除4類異常數據,獲得清洗后的風電機組運行數據。以0.05 為間隔,將(0,1]區間的標準化功率劃分為20 個等間距區間。
對(0,0.95]區間的散點進行密度聚類,剔除離群點;對功率為0 的散點采用截斷法處理,剔除高風速點;對(0.95,1]區間內的1 功率值堆積點采用斜率控制法處理,剔除低風速點。 針對經前3步驟(3 階段)處理后的數據,若仍有限電堆積點,則利用KDE 模型剔除。
3.2.1 離群點識別
利用DBSCAN 模型分別對4 臺機組(0,0.95]功率區間的P-V 散點進行聚類。 通過聚類合理性試驗,調整最優參數,確定聚類半徑Eps 為0.02,類內最小樣本數MinPts 為45,聚類結果如圖4 所示。 其中,黑色散點表示正常數據點,銀灰色散點為DBSCAN 聚類識別出的離群噪音點。
由圖4 可知,DBSCAN 方法能夠較好地識別(0,0.95]功率區間內的離群異常點,以及18# 機組稀疏分布的恒功率限電點,但對于9#機組稠密分布的恒功率限電點則無法準確識別。

圖4 風電機組P-V 散點圖的離群點識別Fig.4 Outliers recognition for wind turbines' P-V scatters
3.2.2 0/1 功率異常點識別



圖5 風電機組P-V 散點圖的0/1 功率異常點識別Fig.5 0/1 power abnormal points recognition for wind turbines' P-V scatters
由圖5 可知, 截斷法和斜率控制法分別可以較好地識別0 功率的高風速堆積點和1 功率的低風速堆積點。 綜合采用上述DBSCAN 密度聚類、截斷法和斜率控制法可以有效清洗無限電狀態的1# 和15# 機組以及有短時少量限電的18# 機組的運行數據, 但是無法全面清洗含有長時間限電功率堆積點的9#機組的運行數據。
3.2.3 恒功率限電點識別
針對9# 機組半清洗后的運行數據建立KDE模型開展限電數據剔除。 以功率為變量對不同區間內的P-V 散點進行密度估計,采用高斯核函數擬合散點PDF,帶寬確定為0.02。 獲得不同標準化功率值對應的散點分布概率密度曲線, 如圖6所示。

圖6 不同標準化功率下的散點密度分布Fig.6 The density distributions of normalized power scatters
由圖6 可知, 散點分布的密度集中區域出現在標準化功率值為0.07,0.28 和1 的位置處。結合圖5(b)含限電的P-V 散點圖可以看出,9# 機組的限電功率位于0.2~0.4,對應的標準化風速處于0.19~0.54。 故以0.05 為寬度,將[0.15,0.55)標準化風速區間內的散點劃分為8 個等分區間。 在各個風速子區間內,沿著功率變化的方向,對區間內的散點分布進行密度估計, 獲得如圖7 所示的各區間散點分布的KDE 曲線。



圖7 不同風速區間內沿功率增加方向的散點密度曲線Fig.7 KDE curves for normalized power under various WS intervals
由圖7 可知:圖7(a)~(d)中以功率為變量的KDE 曲線均呈單峰正態分布;圖7(e)~(h)中以功率為變量的KDE 曲線均呈雙峰分布,左側低峰值的分布曲線則是由限電異常點引入。 根據隨功率變化的密度曲線圖,針對[0.35,0.40),[0.40,0.45),[0.45,0.50)和[0.50,0.55)風速區間內的散點,分別采用P=0.32,0.4,0.5 和0.7 進行截斷, 也就是將區間內低于此功率值的數據點予以剔除, 強制將KDE 曲線變為單峰曲線,實現數據清洗。
經過限電散點剔除后, 獲得將離群異常點、0功率堆積點、1 功率低風速點和恒功率限電點4步驟清洗后的最終數據,9# 機組清洗后的標準化P-V 散點圖如圖8 所示。

圖8 限電的9# 機組清洗后的P-V 散點圖Fig.8 Cleaned normalized P-V scatters for down-regulated 9# wind turbine
算例數據的時間覆蓋范圍是2018 年5 月1日-12 月31 日,時間分辨率為10 min。 各臺機組的理論完整數據量、 原始數據量,1#,15#,18# 機組經3 階段清洗后的數據量,以及含限電的9#機組經4 階段清洗后的數據量統計如表1 所示。

表1 各臺機組數據清洗前后的數據量統計Table 1 Statistics of the amounts of operation data before and after cleaning
由表1 可知: 與完整數據量相比, 各臺機組SCADA 系統記錄的原始數據完整率均在95%以上;4 臺機組清洗后的數據量,均占原始數據量的90%以上,其中,含限電因素的9# 機組的異常數據占比最高,達8.3%。
為充分利用有限信息提高風電機組的單機運行數據質量,本文針對風電機組實測P-V 散點圖中常見的4 類異常數據點, 建立遞進式異常數據識別模型。建模及分析結果表明:DBSCAN 聚類方法能夠有效識別P-V 散點圖中的離群異常點;截斷法和斜率控制法分別可以較好地識別0 功率的高風速堆積點和1 功率的低風速異常點; 核密度估計法對限電的恒功率點識別效果顯著。
經3 階段或4 階段的遞進式數據清洗后,4臺機組的P-V 散點均呈光滑的功率曲線區間帶分布形式,異常數據剔除效果好,證明了本文所提方法的有效性。 各臺機組清洗后的數據量均占原始數據量的90%以上,在提高數據質量的同時較好地保留了數據完整性, 進一步驗證了所提方法的合理性。數據清洗是風電場控制、功率預測等研究的重要先導工作, 本文所提數據清洗方法為風電場的經濟運行提供了良好的技術支持。