李亞玲 李濤
摘? 要: 風(fēng)電場運營管理需要對測風(fēng)塔覆冰、信息傳輸故障、人為棄風(fēng)等異常數(shù)據(jù)進行有效識別清洗,以訓(xùn)練風(fēng)速與功率預(yù)報模型。針對利用聚類K-means算法識別這些異常數(shù)據(jù)時,無法依靠經(jīng)驗值事先確定 K-Means算法的聚類個數(shù)的問題進行改進。改進算法要求首先給出一個聚類個數(shù)k值的范圍,然后依據(jù)數(shù)據(jù)簇類間相異度函數(shù)進行初步計算,從中獲得一個最小值作為最優(yōu)k值,以此來降低聚類個數(shù)確定的難度。該改進k-means算法通過某風(fēng)電場的實測數(shù)據(jù)進行了驗證。
關(guān)鍵詞: K-means; 異常數(shù)據(jù); 識別清洗; 聚類; 簇個數(shù)
中圖分類號:TP311? ? ? ? ? 文獻標(biāo)識碼: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 引言
風(fēng)能是重要的清潔能源之一,發(fā)展風(fēng)力發(fā)電對于調(diào)整能源結(jié)構(gòu)、生態(tài)環(huán)境建設(shè)等有著舉足輕重的作用。中國風(fēng)電裝機容量統(tǒng)計報告顯示[1]:截止2018年年底,全中國風(fēng)電累計并網(wǎng)裝機容量達1.84億萬kW,連續(xù)九年位居全球第一。隨著風(fēng)電場規(guī)模的不斷擴大,風(fēng)電場及風(fēng)電機組的歷史運行數(shù)據(jù)的剖析對風(fēng)電場運行、電力調(diào)度等都有著十分重要的意義。
本文著重研究風(fēng)電機組以及風(fēng)電場中測風(fēng)塔的同步風(fēng)速和風(fēng)電功率的歷史數(shù)據(jù)中異常數(shù)據(jù)的辨識。影響風(fēng)速和功率數(shù)據(jù)質(zhì)量因素很多[2]:電磁干擾、信息處理錯誤、人為棄風(fēng)等均會造成大量的異常數(shù)據(jù)。這些異常數(shù)據(jù)在對于風(fēng)速與功率預(yù)測模型訓(xùn)練中,嚴(yán)重破壞了風(fēng)速的功率所應(yīng)該有的分布規(guī)律與對應(yīng)關(guān)系[3-4]。因此如何將風(fēng)速與功率的歷史數(shù)據(jù)進行清洗,進行異常數(shù)據(jù)辨識越來越受到關(guān)注。數(shù)據(jù)挖掘能從大量的數(shù)據(jù)中自動發(fā)現(xiàn)規(guī)律,它是一門新興的綜合性交叉學(xué)科。它幫助風(fēng)電企業(yè)將將數(shù)據(jù)挖掘中的模型應(yīng)用在風(fēng)電場及風(fēng)電運行機組中幫助企業(yè)管理發(fā)現(xiàn)知識來達到辨識風(fēng)電異常數(shù)據(jù)的目的。根據(jù)風(fēng)速與功率的數(shù)據(jù)特點,我們選取了聚類挖掘中的K-means算法。
1 相關(guān)技術(shù)簡單介紹
1.1 K-means算法簡介
對于一組需要聚類的數(shù)據(jù)元,通常來講,基于劃分的聚類需要用戶事先確定想要聚類的個數(shù)K,通過反復(fù)重定位技術(shù)進行迭代,嘗試通過對象在組間的移動來進行改進劃分,將數(shù)據(jù)分為[c1,c2,c3,c4,…,ck]其中[k?n]。對于這些劃分的結(jié)果,要求每個對象必須歸屬于一個劃分的集合;每個劃分也必須有一個對象。一個好的劃分能達到同類之間的相似度較高,而不同類的對象之間的相異度比較高。
K-means算法是基于劃分的一種經(jīng)典聚類算法,它的核心思想是用兩個數(shù)據(jù)元之間的距離來確定是否是一個簇,我們認(rèn)為,這個數(shù)據(jù)元與質(zhì)心距離越小,他們就相似度就越大,相異度就越小,這兩個數(shù)據(jù)元就屬于一個簇[5]。它主要是通過在確定初始要將對象分為簇的個數(shù)的k,然后將n個對象分為k個簇,以獲得最好的一個劃分。聚類完成后,所有的數(shù)據(jù)都只屬于一個簇,且只聚類到離自己距離最小的簇[6]。
1.2 K-means算法流程描述
經(jīng)典K-means算法的主要是輸入想要劃分的數(shù)據(jù)集C1,C2,C3,C4……Cn,以及需要劃分的簇的個數(shù)K,經(jīng)過算法的計算,得到一個將這N個數(shù)據(jù)劃分為M1,M2……Mk的數(shù)據(jù)簇。目前經(jīng)典的K-means算法流程圖如圖1所示。
1.3 K-means算法優(yōu)缺點分析
K-means算法是采用了迭代式的收縮算法,如果所有數(shù)據(jù)都不再歸到新的簇,則迭代結(jié)束。該算法滿足了數(shù)據(jù)挖掘?qū)垲愃惴ǖ纳炜s性比較好,也即是說方便處理大數(shù)據(jù)集,對于小的數(shù)據(jù)集,算法時效性好、對資源的要求也較低,如果類之間的距離差異較大,算法聚類的結(jié)果就十分理想。
但是它也有明顯的缺點,K-Means算法要求用戶提前確定聚類簇的個數(shù)K,聚類的效果依賴于用戶給定的參數(shù)。但是K值在實際運用場景中,由于數(shù)據(jù)樣本的分布不太規(guī)則,甚至無法確定數(shù)據(jù)分布的形態(tài),人們通常無法確定精確的K值。本文針對聚類K-Means算法中K的確定進行改進。
2 改進的K-means算法
2.1 確定最優(yōu)聚類個數(shù)的算法改進思想
經(jīng)典K-Means算法對于簇的個數(shù)K的確定,是用戶根據(jù)自己的判斷來確定的,在實際風(fēng)電運營管理中,由于測風(fēng)塔覆冰,傳感器異常,由于管理要求棄風(fēng)等原因均可能形成風(fēng)電異常數(shù)據(jù)簇,這樣,聚類簇數(shù)k的值無法事先精準(zhǔn)確定,但可以根據(jù)風(fēng)電運行管理分析,來確定最佳的聚類個數(shù)位于某一個范圍。改進算法只需要計算類間相似度,選取內(nèi)間相似度最小的K來作為最優(yōu)的聚類簇數(shù),從而使K的確定更加準(zhǔn)確,獲得Kopt。
用Wkm來表示數(shù)據(jù)簇內(nèi)所有數(shù)據(jù)元的相似性,用與Intra(k)來表示數(shù)據(jù)簇內(nèi)的所有數(shù)據(jù)元的相似度,kmax,kmin表示k的最大值、最小值。用Inter(k)來表示兩個簇之間的相似度,X代表一個有n個需要聚類的數(shù)據(jù)集合,Vi代表簇的最開始的聚類中心。因此,根據(jù)定義可以得到:
Wkm(k) = Intra(k) +(1- Inter (k) / Inter(kmax))? ⑴
其中:
[Intra(k)=1ki=1kδ(vi)δ(X)]
式⑴中,[δ(X)]表示x中所有數(shù)據(jù)的相似度,[δ(vi)]表示以vi為中心點的相似度;
[Inter(k)=1ki=1kV(i)]
[V(i)]表示第i個質(zhì)心與其他簇質(zhì)心之間的相似度。又據(jù)
[d(i,j)≤d(i,h)+d(h,j)]
我們?nèi)km(k)達到最小值的K作為最優(yōu)解 Kopt,且[kmin? kopt ? kmax ]。
2.2 改進的確定最優(yōu)聚類個數(shù)K的算法流程圖
改進的確定最優(yōu)聚類個數(shù)K的算法流程圖如圖2所示。
[↓][↓][↓][↓][↓][↓][↓][↓] [計算Wkm(k)的最小值,得到最Kopt][YES][NO][開始][確定Kmax,Kmin的值,且,i-0][K=Kmin+i][用K-Means算法得到初始聚類中心][得到簇內(nèi)與簇間的相似度得到函數(shù)Wkm(k)][i=i+1][K[>]Kmax+1][結(jié)束]
2.3 改進的確定最優(yōu)聚類個數(shù)算法流程描述
如圖2所示,改進的確定最優(yōu)聚類個數(shù)算法流程如下:
⑴ 確定k的最大、最小值Kmax,Kmin;
⑵ 從Kmin為k的初值用K-Means的算法找到初始聚類中心,計算Wkm (k)的值;
⑶ 判斷k值得是否大于kmax,如小于Kmin=kmin+1轉(zhuǎn)⑵;
⑷ 取min(Wkm (k))得到Kopt。
3 改進K-means算法在風(fēng)電異常數(shù)據(jù)中算法驗證
為了驗證改進的確定最優(yōu)聚類個數(shù)K的算法的可行性,課題組編制了2.1給出的算法的程序,算法中以2017年10月某電機組以及風(fēng)電場中測風(fēng)塔的同步風(fēng)速和風(fēng)電功率的歷史數(shù)據(jù)中,選取了通訊故障、人為棄風(fēng)、風(fēng)機脫網(wǎng)、正常數(shù)據(jù)共4組數(shù)據(jù)來檢驗。設(shè)最小聚類個數(shù)為2,最大聚類個數(shù)為10,實驗結(jié)果如表1所示。
從表1數(shù)據(jù)可以看出,最佳k值為4,與所選取的四種數(shù)據(jù)相符,結(jié)果令人滿意。
4 結(jié)束語
風(fēng)電場運營管理需要對測風(fēng)塔覆冰、信息傳輸故障、人為棄風(fēng)等異常數(shù)據(jù)進行有效識別清洗,以訓(xùn)練風(fēng)速與功率預(yù)報模型。本文對利用K-MEANS算法進行聚類異常數(shù)據(jù)識別中,無法事先精準(zhǔn)確定聚類簇數(shù)k值的問題提出改進的三個步驟,首先改進算法要求確定最佳的聚類個數(shù)范圍,然后對簇進行相似度函數(shù)計算,最后取最小的K作為最優(yōu)的聚類個數(shù),從而縮小了事先確定K的難度。最后選取某風(fēng)電場的4組數(shù)據(jù)進行驗證,結(jié)果達到預(yù)期,但相關(guān)算法仍需在風(fēng)電歷史實際數(shù)據(jù)中進一步應(yīng)用。
參考文獻(References):
[1] 水電水利規(guī)劃設(shè)計院,《中國可再生能源發(fā)展報告(2018)》發(fā)布[Z].中國水利水電出版社,2019.
[2] 蘇杰,李志俊.基于數(shù)據(jù)挖掘的風(fēng)電異常數(shù)據(jù)辨識[J],黑龍江科技信息,2016.17:144
[3] 楊姝凡,測風(fēng)塔的測風(fēng)精度對風(fēng)電產(chǎn)能的影響研究[D].新疆大學(xué),2017.5
[4] 徐力衛(wèi),風(fēng)電場測風(fēng)數(shù)據(jù)分析中有關(guān)問題的探討[J].寧夏電力,2008.6:59-60
[5] Jiawei Han, Micheline Kamber著,范明,孟小峰譯.數(shù)據(jù)挖掘概念與技術(shù)[M].機械工業(yè)出版社,2007.
[6] 李東琦.聚類算法的研究[D].成都西南交通大學(xué),2007.5