李亞玲 李濤



摘? 要: 風電場運營管理需要對測風塔覆冰、信息傳輸故障、人為棄風等異常數據進行有效識別清洗,以訓練風速與功率預報模型。針對利用聚類K-means算法識別這些異常數據時,無法依靠經驗值事先確定 K-Means算法的聚類個數的問題進行改進。改進算法要求首先給出一個聚類個數k值的范圍,然后依據數據簇類間相異度函數進行初步計算,從中獲得一個最小值作為最優k值,以此來降低聚類個數確定的難度。該改進k-means算法通過某風電場的實測數據進行了驗證。
關鍵詞: K-means; 異常數據; 識別清洗; 聚類; 簇個數
中圖分類號:TP311? ? ? ? ? 文獻標識碼:A? ? 文章編號:1006-8228(2020)02-06-03
Application of improved K-means algorithm in recognition of wind power abnormal data
Li Yaling1,2, Li Tao1
(1.Meteorological Bureau of Sichuan Province, Chengdu, Sichuan 610072, China;
2.Laboratory of Meteorological Information Sharing and Data Mining)
Abstract: In order to train the wind speed and power forecast model,the wind farm operation management needs to effectively recognize and clean the abnormal data such as the icing of wind tower, information transmission failure, artificial wind abandonment and so on. Aiming at the problem that in recognition of wind power abnormal data by K-means algorithm, the clustering number of K-means algorithm cannot be determined by empirical value, the improved K-means algorithm can first determine an optimized clustering number range for k, and then select a more optimal k value according to the preliminary calculation of the dissimilarity function between data clusters, thus reducing the difficulty of determining k value. The improved K-means algorithm is verified by the measured data of a wind farm.
Key words: K-means; abnormal data; recognition and clean; clustering; number of clusters
0 引言
風能是重要的清潔能源之一,發展風力發電對于調整能源結構、生態環境建設等有著舉足輕重的作用。中國風電裝機容量統計報告顯示[1]:截止2018年年底,全中國風電累計并網裝機容量達1.84億萬kW,連續九年位居全球第一。隨著風電場規模的不斷擴大,風電場及風電機組的歷史運行數據的剖析對風電場運行、電力調度等都有著十分重要的意義。
本文著重研究風電機組以及風電場中測風塔的同步風速和風電功率的歷史數據中異常數據的辨識。影響風速和功率數據質量因素很多[2]:電磁干擾、信息處理錯誤、人為棄風等均會造成大量的異常數據。這些異常數據在對于風速與功率預測模型訓練中,嚴重破壞了風速的功率所應該有的分布規律與對應關系[3-4]。因此如何將風速與功率的歷史數據進行清洗,進行異常數據辨識越來越受到關注。數據挖掘能從大量的數據中自動發現規律,它是一門新興的綜合性交叉學科。它幫助風電企業將將數據挖掘中的模型應用在風電場及風電運行機組中幫助企業管理發現知識來達到辨識風電異常數據的目的。根據風速與功率的數據特點,我們選取了聚類挖掘中的K-means算法。
1 相關技術簡單介紹
1.1 K-means算法簡介
對于一組需要聚類的數據元,通常來講,基于劃分的聚類需要用戶事先確定想要聚類的個數K,通過反復重定位技術進行迭代,嘗試通過對象在組間的移動來進行改進劃分,將數據分為[c1,c2,c3,c4,…,ck]其中[k?n]。對于這些劃分的結果,要求每個對象必須歸屬于一個劃分的集合;每個劃分也必須有一個對象。一個好的劃分能達到同類之間的相似度較高,而不同類的對象之間的相異度比較高。
K-means算法是基于劃分的一種經典聚類算法,它的核心思想是用兩個數據元之間的距離來確定是否是一個簇,我們認為,這個數據元與質心距離越小,他們就相似度就越大,相異度就越小,這兩個數據元就屬于一個簇[5]。它主要是通過在確定初始要將對象分為簇的個數的k,然后將n個對象分為k個簇,以獲得最好的一個劃分。聚類完成后,所有的數據都只屬于一個簇,且只聚類到離自己距離最小的簇[6]。
1.2 K-means算法流程描述
經典K-means算法的主要是輸入想要劃分的數據集C1,C2,C3,C4……Cn,以及需要劃分的簇的個數K,經過算法的計算,得到一個將這N個數據劃分為M1,M2……Mk的數據簇。目前經典的K-means算法流程圖如圖1所示。
1.3 K-means算法優缺點分析
K-means算法是采用了迭代式的收縮算法,如果所有數據都不再歸到新的簇,則迭代結束。該算法滿足了數據挖掘對聚類算法的伸縮性比較好,也即是說方便處理大數據集,對于小的數據集,算法時效性好、對資源的要求也較低,如果類之間的距離差異較大,算法聚類的結果就十分理想。
但是它也有明顯的缺點,K-Means算法要求用戶提前確定聚類簇的個數K,聚類的效果依賴于用戶給定的參數。但是K值在實際運用場景中,由于數據樣本的分布不太規則,甚至無法確定數據分布的形態,人們通常無法確定精確的K值。本文針對聚類K-Means算法中K的確定進行改進。
2 改進的K-means算法
2.1 確定最優聚類個數的算法改進思想
經典K-Means算法對于簇的個數K的確定,是用戶根據自己的判斷來確定的,在實際風電運營管理中,由于測風塔覆冰,傳感器異常,由于管理要求棄風等原因均可能形成風電異常數據簇,這樣,聚類簇數k的值無法事先精準確定,但可以根據風電運行管理分析,來確定最佳的聚類個數位于某一個范圍。改進算法只需要計算類間相似度,選取內間相似度最小的K來作為最優的聚類簇數,從而使K的確定更加準確,獲得Kopt。
用Wkm來表示數據簇內所有數據元的相似性,用與Intra(k)來表示數據簇內的所有數據元的相似度,kmax,kmin表示k的最大值、最小值。用Inter(k)來表示兩個簇之間的相似度,X代表一個有n個需要聚類的數據集合,Vi代表簇的最開始的聚類中心。因此,根據定義可以得到:
Wkm(k) = Intra(k) +(1- Inter (k) / Inter(kmax))? ⑴
其中:
[Intra(k)=1ki=1kδ(vi)δ(X)]
式⑴中,[δ(X)]表示x中所有數據的相似度,[δ(vi)]表示以vi為中心點的相似度;
[Inter(k)=1ki=1kV(i)]
[V(i)]表示第i個質心與其他簇質心之間的相似度。又據
[d(i,j)≤d(i,h)+d(h,j)]
我們取Wkm(k)達到最小值的K作為最優解 Kopt,且[kmin? kopt ? kmax ]。
2.2 改進的確定最優聚類個數K的算法流程圖
改進的確定最優聚類個數K的算法流程圖如圖2所示。
[↓][↓][↓][↓][↓][↓][↓][↓] [計算Wkm(k)的最小值,得到最Kopt][YES][NO][開始][確定Kmax,Kmin的值,且,i-0][K=Kmin+i][用K-Means算法得到初始聚類中心][得到簇內與簇間的相似度得到函數Wkm(k)][i=i+1][K[>]Kmax+1][結束]
2.3 改進的確定最優聚類個數算法流程描述
如圖2所示,改進的確定最優聚類個數算法流程如下:
⑴ 確定k的最大、最小值Kmax,Kmin;
⑵ 從Kmin為k的初值用K-Means的算法找到初始聚類中心,計算Wkm (k)的值;
⑶ 判斷k值得是否大于kmax,如小于Kmin=kmin+1轉⑵;
⑷ 取min(Wkm (k))得到Kopt。
3 改進K-means算法在風電異常數據中算法驗證
為了驗證改進的確定最優聚類個數K的算法的可行性,課題組編制了2.1給出的算法的程序,算法中以2017年10月某電機組以及風電場中測風塔的同步風速和風電功率的歷史數據中,選取了通訊故障、人為棄風、風機脫網、正常數據共4組數據來檢驗。設最小聚類個數為2,最大聚類個數為10,實驗結果如表1所示。
從表1數據可以看出,最佳k值為4,與所選取的四種數據相符,結果令人滿意。
4 結束語
風電場運營管理需要對測風塔覆冰、信息傳輸故障、人為棄風等異常數據進行有效識別清洗,以訓練風速與功率預報模型。本文對利用K-MEANS算法進行聚類異常數據識別中,無法事先精準確定聚類簇數k值的問題提出改進的三個步驟,首先改進算法要求確定最佳的聚類個數范圍,然后對簇進行相似度函數計算,最后取最小的K作為最優的聚類個數,從而縮小了事先確定K的難度。最后選取某風電場的4組數據進行驗證,結果達到預期,但相關算法仍需在風電歷史實際數據中進一步應用。
參考文獻(References):
[1] 水電水利規劃設計院,《中國可再生能源發展報告(2018)》發布[Z].中國水利水電出版社,2019.
[2] 蘇杰,李志俊.基于數據挖掘的風電異常數據辨識[J],黑龍江科技信息,2016.17:144
[3] 楊姝凡,測風塔的測風精度對風電產能的影響研究[D].新疆大學,2017.5
[4] 徐力衛,風電場測風數據分析中有關問題的探討[J].寧夏電力,2008.6:59-60
[5] Jiawei Han, Micheline Kamber著,范明,孟小峰譯.數據挖掘概念與技術[M].機械工業出版社,2007.
[6] 李東琦.聚類算法的研究[D].成都西南交通大學,2007.5