国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)K-means聚類k值選擇算法的配網(wǎng)電壓數(shù)據(jù)異常檢測

2023-01-14 12:10劉明群覃日升
關(guān)鍵詞:計算速度極大值輪廓

劉明群,何 鑫,覃日升,姜 訸,孟 賢

(云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,云南 昆明 650217)

近年來,配電網(wǎng)電壓監(jiān)測系統(tǒng)建設(shè)加強(qiáng)了對配電網(wǎng)電壓、電流等數(shù)據(jù)的管理與計算分析,實現(xiàn)了電網(wǎng)故障預(yù)警、電壓準(zhǔn)實時在線監(jiān)測等功能[1]。然而,由于配電網(wǎng)規(guī)模和配電網(wǎng)監(jiān)測數(shù)據(jù)日益增大,傳統(tǒng)在線監(jiān)測方法已無法滿足監(jiān)測系統(tǒng)對數(shù)據(jù)挖掘的快速性和準(zhǔn)確性要求。因此,為保障配電網(wǎng)安全可靠運(yùn)行,配電網(wǎng)電壓監(jiān)測系統(tǒng)數(shù)據(jù)異常檢測方法研究具有重要意義。

聚類算法通過對配電網(wǎng)電壓數(shù)據(jù)聚類,挖掘數(shù)據(jù)特征、區(qū)分?jǐn)?shù)據(jù)類型、實現(xiàn)實時故障預(yù)警。聚類算法可分為劃分聚類法、層次聚類法和密度聚類法等,其中劃分聚類法計算效率較高,但需事先假定聚類數(shù)值[2],包括K-means、K-medoids和CLARA算法。特別地,K-means算法原理簡單且效率高,非常適合配電網(wǎng)電壓數(shù)據(jù)在線監(jiān)測;K-means算法僅在多項式時間內(nèi)收斂到局部最優(yōu)解[3],但合理地選擇初值將有利于收斂到全局最優(yōu)解。文獻(xiàn)[4]采用K-means++算法選取K-means算法初值,但運(yùn)用K-means算法要事先假定聚類數(shù)。聚類數(shù)可根據(jù)樣本情況判斷[5],然而,在相關(guān)經(jīng)驗不足或數(shù)據(jù)量過大等情況下無法給出最佳聚類數(shù)。對于靜態(tài)數(shù)據(jù)庫而言,聚類數(shù)不會改變,但當(dāng)在線監(jiān)測系統(tǒng)數(shù)據(jù)庫是動態(tài)時,聚類數(shù)會隨著配電網(wǎng)故障等問題的產(chǎn)生而動態(tài)變化,導(dǎo)致K-means算法的聚類效果變差[6],因而需要其他算法輔助選擇聚類數(shù)。

為解決聚類數(shù)選擇問題,目前已有學(xué)者提出多種聚類數(shù)選擇算法。文獻(xiàn)[7]提出輪廓系數(shù)法,算法原理簡單且只需給定聚類數(shù)上限,對最佳聚類數(shù)估計效果很好,但計算速度較慢,不適合在線監(jiān)測配電網(wǎng)電壓;文獻(xiàn)[8]運(yùn)用DBI算法為K-means算法選取聚類數(shù),DBI算法對最佳聚類數(shù)估計效果較好,但計算速度稍慢;文獻(xiàn)[9]運(yùn)用Canopy算法快速自適應(yīng)選取聚類數(shù),但該算法需根據(jù)交叉驗證法或先驗知識設(shè)定松閾值和緊閾值,且緊閾值嚴(yán)重影響聚類數(shù)的選取,因此算法自適應(yīng)能力不夠強(qiáng);文獻(xiàn)[10-11]運(yùn)用elbow method選取聚類數(shù),該方法因簡單直觀且計算速度快而被廣泛應(yīng)用,但常常因“肘部點”不明顯而無法估計最佳聚類數(shù)。上述常用算法存在自適應(yīng)能力不強(qiáng)、計算速度慢和準(zhǔn)確率不夠高等問題,不適合異常數(shù)據(jù)在線檢測。

針對上述常用算法問題,本文提出一種快速選取聚類數(shù)的自適應(yīng)算法。所提算法基于elbow method和輪廓系數(shù)法,首先利用自適應(yīng)變化閾值求解聚類數(shù)下限,接著在聚類數(shù)上、下限內(nèi)計算輪廓系數(shù)。為提高算法速度,提出“一個極大值”規(guī)則,避免計算所有輪廓系數(shù)。該算法充分考慮elbow method的快速性和輪廓系數(shù)法的高準(zhǔn)確率特點,為K-means算法自動選取聚類數(shù),使K-means算法在線監(jiān)測成為可能。最后,為評價所提算法,以2個實際配網(wǎng)電壓數(shù)據(jù)為例,通過仿真對比其他聚類數(shù)選擇算法。結(jié)果表明,相比于所對比算法,所提算法能以最高準(zhǔn)確率和最快計算速度自適應(yīng)選取最佳聚類數(shù)。

1 K-means聚類算法

K-means是一種基于劃分的無監(jiān)督聚類算法,能將數(shù)據(jù)集分成k類,其中k是事先假定的。K-means算法隨機(jī)產(chǎn)生k個聚類中心,根據(jù)最近鄰原則將數(shù)據(jù)點歸類離其最近的聚類中心,形成k個類,并重新計算各類的聚類中心,重復(fù)上述步驟直到聚類中心不再改變位置或達(dá)到規(guī)定的迭代次數(shù)。

K-means算法聚類的目標(biāo)是使各類誤差平方和(sum of the squared errors, SSE)最小,即

(1)

式中Ci為第i個聚類;p為Ci中的樣本點;mi為Ci的聚類中心,即Ci中所有樣本的均值;eSSE為所有樣本的聚類誤差,代表聚類效果的好壞。

根據(jù)拉格朗日定理和最小二乘法原理,確保SSE最小的聚類中心[3]應(yīng)滿足:

(2)

由式(2)可得:

(3)

其中,ni為第i聚類的樣本總量。因此,聚類中心是該聚類數(shù)據(jù)的平均值。K-means算法每一次迭代將聚類中心取為該聚類樣本的平均值,確保SSE在本次迭代內(nèi)達(dá)到最小,交替采用最近鄰原則和以均值計算聚類中心,使SSE不斷下降,直到平衡收斂。

2 基于elbow method和輪廓系數(shù)的聚類數(shù)自適應(yīng)確定

結(jié)合elbow method和輪廓系數(shù),提出改進(jìn)的elbow method和輪廓系數(shù)算法(improved elbow method and silhouette coefficient,IES),用于自適應(yīng)確定聚類數(shù),從而與K-means算法結(jié)合為自適應(yīng)K-means算法。對于假定的聚類數(shù)上限kmax,首先,IES算法基于elbow method的聚類評價指標(biāo)SSE值確定聚類數(shù)下限kmin;然后,在聚類數(shù)搜索范圍[kmin,kmax]內(nèi)基于輪廓系數(shù)搜尋最佳聚類數(shù)k*,并利用提出的“一個極大值”規(guī)則避免計算[kmin,kmax]內(nèi)所有聚類數(shù)對應(yīng)的輪廓系數(shù)。當(dāng)最佳聚類數(shù)確定后,可用K-means算法進(jìn)行聚類。

2.1 改進(jìn)elbow method

IES算法的核心是在一定的定義域內(nèi)利用輪廓系數(shù)尋找最佳聚類數(shù)。使輪廓系數(shù)最大的聚類數(shù)為最佳聚類數(shù)k*。輪廓系數(shù)法一般在定義域[2,kmax]內(nèi)計算每一個聚類數(shù)k對應(yīng)的輪廓系數(shù),但輪廓系數(shù)計算速度慢,不滿足配電網(wǎng)在線監(jiān)測的快速性要求。因此,IES算法利用計算速度更快的SSE確定聚類數(shù)下限kmin,將定義域范圍縮小為[kmin,kmax]。

聚類數(shù)為k時elbow method的誤差平方和記為eSSE(k)。k=i時的相對SSE定義為

(4)

式中eSSE(1)為k=1時eSSE(k)的值,也是其最大值。

由于eSSE(k)、相對SSE單調(diào)遞減且離散不可導(dǎo),無法用極值點和拐點估計最佳聚類數(shù),因此考慮設(shè)置閾值來估計聚類數(shù)下限。同時,由于不同數(shù)據(jù)集的手肘曲線不同,因而所設(shè)置閾值應(yīng)隨之自適應(yīng)變化。

定義取值范圍為(0,1)的常數(shù)Kelbow,稱為手肘系數(shù)。隨著k的增大,相對SSE從eSSE(1)%開始下降,當(dāng)k=kmax時,相對SSE最大下降量為eSSE(1)%-eSSE(kmax)%,而當(dāng)相對SSE下降量達(dá)到最大下降量的Kelbow倍時,對應(yīng)的相對SSE定義為手肘閾值eSSE,elbow%,可計算如下:

eSSE,elbow%=eSSE(1)%-Kelbow(eSSE(1)%-

eSSE(kmax)%)=100%-Kelbow·

(100%-eSSE(kmax)%)

(5)

根據(jù)大量仿真經(jīng)驗,取Kelbow=0.5,則

(6)

利用式(6),將聚類數(shù)下限kmin取為使eSSE(k)%≤eSSE,elbow%成立的最小k值。

在聚類數(shù)上限為kmax以及Kelbow=0.5時,kmax對應(yīng)人為限定的相對SSE最大下降量,所選的kmin使相對SSE下降量達(dá)到最大下降量的一半以上。應(yīng)指出,IES算法解出的kmin≥2。

手肘閾值具有自適應(yīng)性,因為當(dāng)k>k*后eSSE(k)%變化緩慢,即使kmax較大,eSSE(kmax)%仍接近于eSSE(k*)%,而不同數(shù)據(jù)集的eSSE(k*)%不同,因此,由eSSE(kmax)%計算的手肘閾值也隨之自適應(yīng)變化。對不同數(shù)據(jù)集,當(dāng)kmax等于樣本總數(shù)時,均有eSSE(kmax)=eSSE(kmax)%=0[3],由式(6)可知,手肘閾值達(dá)到其最小值eSSE,elbow%=50%,手肘閾值恒為常數(shù)且不隨數(shù)據(jù)集不同而變化,因此kmax可取值較大,但不應(yīng)過大。

不同Kelbow取值影響IES算法計算時間和準(zhǔn)確率(能否解出k*)。若降低Kelbow,手肘閾值將增大,使得解出的kmin變小,有利于IES算法解出k*(若kmin>k*,則IES算法無法解出k*),但kmin變小又會使得輪廓系數(shù)法的定義域[kmin,kmax]范圍變大,不利于縮短輪廓系數(shù)法計算時間。同樣分析Kelbow增大的情況,可知Kelbow不應(yīng)過大或過小。由此也能看出,手肘閾值隨數(shù)據(jù)集不同而自適應(yīng)增大或減小,是在自適應(yīng)兼顧IES算法對不同數(shù)據(jù)集的準(zhǔn)確率和計算速度。實際應(yīng)用中可根據(jù)配網(wǎng)電壓歷史數(shù)據(jù)進(jìn)行測試,適當(dāng)調(diào)整Kelbow取值。改進(jìn)elbow method確定聚類數(shù)下限流程如圖1所示。

圖1 改進(jìn)elbow method確定聚類數(shù)下限流程Figure 1 The flowchart of determinizing the lower limit of clustering number with the improved elbow method

具體步驟如下:

1)讀取人為設(shè)定的kmax和數(shù)據(jù)集;2)對k=1、kmax分別進(jìn)行K-means聚類,對聚類結(jié)果應(yīng)用式(1)計算SSE,即eSSE(1)、eSSE(kmax);3)結(jié)合式(4)、(6)計算eSSE,elbow%,令k=2;4)對當(dāng)前k值進(jìn)行K-means聚類并計算eSSE(k);5)采用式(4)計算eSSE(k)%;6)判斷eSSE(k)%≤eSSE,elbow%是否成立,不成立則令k自增1并返回步驟4),成立則跳出循環(huán)進(jìn)入步驟7);7)記錄此時的k為kmin,該流程結(jié)束。

2.2 “一個極大值”規(guī)則

聚類數(shù)為k時相應(yīng)的輪廓系數(shù)記為S(k)?;谳喞禂?shù)搜尋最佳聚類數(shù),在[kmin,kmax]區(qū)間內(nèi)利用輪廓系數(shù)算法搜尋最佳聚類數(shù)。然而,為確保大于最佳聚類數(shù)k*,聚類數(shù)上限kmax的設(shè)置可能會過大,而輪廓系數(shù)計算速度慢,對[kmin,kmax]區(qū)間內(nèi)每一個聚類數(shù)k計算輪廓系數(shù)將消耗大量時間。

為提高算法速度,IES算法借鑒gap statistic算法中“一個標(biāo)準(zhǔn)錯誤”(1-standard-error)的規(guī)則[12](文獻(xiàn)[13]也在其他算法中使用該規(guī)則),提出“一個極大值”規(guī)則,即令聚類數(shù)k在[kmin,kmax]區(qū)間內(nèi)每次增加1,依次計算輪廓系數(shù)S(k),當(dāng)S(k)首次出現(xiàn)極大值時停止計算S(k)。使用該規(guī)則得到多個輪廓系數(shù),選其中最大值對應(yīng)的k為最佳聚類數(shù)k*。當(dāng)S(k)在定義域[kmin,kmax]內(nèi)不存在極大值時,“一個極大值”規(guī)則失效,需計算定義域內(nèi)所有S(k),選最大值對應(yīng)的k為k*。本文中“一個極大值”規(guī)則在k=K生效是指:對于K>kmin,當(dāng)k增大到K+1時,出現(xiàn)S(k)的極大值S(K),IES算法停止計算S(k)。S(K)為極大值是指:S(K)>S(K-1)且S(K)>S(K+1)。

“一個極大值”規(guī)則避免計算所有輪廓系數(shù),相當(dāng)于降低了實際假定的kmax,從而提高算法速度。

2.3 基于輪廓系數(shù)自適應(yīng)確定聚類數(shù)

聚類數(shù)下限確定后應(yīng)用“一個極大值”規(guī)則,在定義域[kmin,kmax]內(nèi)利用輪廓系數(shù)法求解最佳聚類數(shù)。在已計算不同聚類數(shù)對應(yīng)的輪廓系數(shù)中自動尋找最大輪廓系數(shù),所對應(yīng)聚類數(shù)為最佳聚類數(shù)k*,從而實現(xiàn)自適應(yīng)確定聚類數(shù)?;谳喞禂?shù)自適應(yīng)確定聚類數(shù)流程如圖2所示。

圖2 基于輪廓系數(shù)自適應(yīng)確定聚類數(shù)流程Figure 2 The flowchart of determinizing the clustering number with the improved elbow method based on the silhouette coefficient adaptive determination

具體步驟如下:

1)建立空數(shù)組{S},令k=kmin;2)對當(dāng)前k值進(jìn)行K-means聚類,接著對聚類結(jié)果計算輪廓系數(shù)并放入數(shù)組{S};3)若數(shù)組{S}中的元素已達(dá)3個及以上,則說明可以判斷是否出現(xiàn)極大值,進(jìn)入步驟4),否則令k自增1并回到步驟2);4)判斷是否出現(xiàn)極大值,即S[-2]>S[-3]、S[-2]>S[-1]是否同時成立,其中S[-1]是數(shù)組{S}倒數(shù)第1個元素,即本次循環(huán)計算得到的輪廓系數(shù);S[-2]、S[-3]分別是倒數(shù)第2、3個元素,若不出現(xiàn)極大值,令k自增1并回到步驟2),若出現(xiàn)極大值則跳出循環(huán)進(jìn)入步驟5);5)在數(shù)組{S}中尋找最大輪廓系數(shù),并記錄對應(yīng)的聚類數(shù)為最佳聚類數(shù)k*,IES算法結(jié)束。

2.4 基于自適應(yīng)K-means的實時異常檢測模型

IES算法從圖1流程開始至圖2流程結(jié)束。自適應(yīng)確定聚類數(shù)的IES算法與K-means算法結(jié)合為自適應(yīng)K-means算法。正常運(yùn)行時配電網(wǎng)電壓數(shù)據(jù)波動范圍較穩(wěn)定,因此,可利用K-means算法對正常運(yùn)行數(shù)據(jù)聚類并得到聚類中心,通過判斷新輸入數(shù)據(jù)到聚類中心距離是否超過距離閾值H,從而判斷數(shù)據(jù)是否異常。

H=(h1,h2,…,hk)表示各聚類的閾值,其中k是聚類數(shù),聚類中數(shù)據(jù)到聚類中心距離的最大值乘以常數(shù)D作為H,綜合考慮文獻(xiàn)[14]、[15]的實驗結(jié)果,取D=1.04。若某數(shù)據(jù)X到k個聚類中心Ci距離均超過相應(yīng)閾值,則判定為異常數(shù)據(jù),即異常數(shù)據(jù)滿足:

|X-Ci|>hi,i=1,2,…,k

(7)

IES算法能在異常檢測中更新正常數(shù)據(jù)最佳聚類數(shù),并能在發(fā)生異常時幫助挖掘異常數(shù)據(jù)特征。隨著歷史正常運(yùn)行數(shù)據(jù)的不斷增多,正常數(shù)據(jù)的最佳聚類數(shù)可能改變,因此,每隔一段時間需用IES算法自適應(yīng)求解并更新最佳聚類數(shù)。當(dāng)發(fā)生異常時,在分析數(shù)據(jù)異常模式之前,為充分利用當(dāng)前所有異常數(shù)據(jù),可通過IES算法對當(dāng)前所有正常和異常數(shù)據(jù)的最佳聚類數(shù)自適應(yīng)快速求解,然后利用K-means算法將異常與正常數(shù)據(jù)一起聚類,為挖掘異常數(shù)據(jù)特征和探測異常來源提供信息。除上述基于自適應(yīng)K-means聚類的方法,文獻(xiàn)[14]還利用了其他方法分析數(shù)據(jù)異常模式。

基于自適應(yīng)K-means的實時異常檢測總流程如圖3所示,具體步驟如下:

1)對配電網(wǎng)電壓歷史正常運(yùn)行數(shù)據(jù)進(jìn)行K-means聚類,并根據(jù)聚類得到的最優(yōu)聚類中心和聚類結(jié)果更新距離閾值H;2)計算新輸入數(shù)據(jù)到各個聚類中心的距離并與距離閾值比較;3)若新輸入數(shù)據(jù)屬于異常數(shù)據(jù)則標(biāo)記為異常,否則將其加入歷史正常運(yùn)行數(shù)據(jù);當(dāng)歷史正常運(yùn)行數(shù)據(jù)新增數(shù)量達(dá)到一定量時,利用IES算法求解并更新最佳聚類數(shù);4)將異常數(shù)據(jù)與歷史正常運(yùn)行數(shù)據(jù)共同作為新的數(shù)據(jù)集DS;5)IES算法根據(jù)事先假定聚類數(shù)上限計算數(shù)據(jù)集DS的最佳聚類數(shù)k*;6)用K-means將數(shù)據(jù)集DS分為k*個聚類;7)利用K-means聚類結(jié)果分析數(shù)據(jù)異常模式。

3 算例分析

3.1 數(shù)據(jù)集

以2個實際配電網(wǎng)電壓數(shù)據(jù)集為例(記為D1和D2),與DBI算法和輪廓系數(shù)法進(jìn)行仿真比較,驗證所提IES算法的有效性。

D1有1 000個樣本點,每個點對應(yīng)一個時刻三相電壓有效值。為體現(xiàn)所提IES算法的普適性,對A、B、C三相電壓分別加入異常數(shù)據(jù)進(jìn)行實驗。對于A相電壓,隨機(jī)抽取10%,即100個正常數(shù)據(jù),并加上4%~10%噪聲,生成1個數(shù)據(jù)集,重復(fù)進(jìn)行50次,生成50個數(shù)據(jù)集,記為A組數(shù)據(jù)(注意:每個數(shù)據(jù)集只含10%異常數(shù)據(jù),其中50個正常數(shù)據(jù)加上正噪聲4%~10%,50個正常數(shù)據(jù)加上負(fù)噪聲-10%~-4%)。用同樣方法對B、C相電壓各生成50個數(shù)據(jù)集,分別記為B、C組數(shù)據(jù)。

D2有4 000個樣本點,每個點對應(yīng)一個時刻三相電壓有效值。為說明選取不同聚類數(shù)對聚類效果的影響,對A、B、C三相電壓均加入異常數(shù)據(jù)進(jìn)行實驗。對于A相,隨機(jī)抽取15%,即600個正常數(shù)據(jù),在±5%處加高斯分布隨機(jī)函數(shù)G作為噪聲。設(shè)正常數(shù)據(jù)值為Ndata,則加噪聲后的值為Ndata·(1±0.05)+G。用同樣方法處理B、C相電壓,最終得到的數(shù)據(jù)集記為D2noise。

3.2 評價指標(biāo)

各算法對最佳聚類數(shù)估計的準(zhǔn)確率定義為

(8)

式中N為實驗次數(shù),對A、B、C三相電壓的每一組數(shù)據(jù)實驗50次,故N=50;NT為對最佳聚類數(shù)估計正確的次數(shù)。

對于A、B、C三相電壓的3組數(shù)據(jù),最佳聚類數(shù)為3,即分為1個正常數(shù)據(jù)聚類和2個異常數(shù)據(jù)聚類。用DBI算法、輪廓系數(shù)法和IES算法估計所有數(shù)據(jù)集的最佳聚類數(shù)k*,若k*=3則估計正確,若k*≠3則估計錯誤。

由于出現(xiàn)異常時需用自適應(yīng)K-means算法對正常和異常數(shù)據(jù)聚類,聚類效果影響下一步分析數(shù)據(jù)異常模式,因此,需說明K-means對正常和異常數(shù)據(jù)聚類時不同最佳聚類數(shù)估計值對聚類效果的影響。為方便說明,簡化為分析二分類異常檢測效果,再給出異常檢測效果評價指標(biāo)。對于二分類異常檢測,可根據(jù)真實和檢測情況將檢測結(jié)果分為4類,如表1所示,TN為實際正常且被檢測為正常的樣本,F(xiàn)P為實際正常但被檢測為異常的樣本,F(xiàn)N為實際異常但被檢測為正常的樣本,TP為實際異常且被檢測為異常的樣本。

表1 檢測結(jié)果分類Table 1 Classification of test results

對于異常檢測,相比于不將正常樣本判定為異常,更重要的是檢測到更多的異常點[16]。因此,采用召回率評估異常檢測效果,其值越高意味著檢測到越多真實異常點,其最大值為1。召回率:

(9)

3.3 實驗結(jié)果與分析

計算環(huán)境如下:計算機(jī)CPU為Core i7-10700,內(nèi)存16 GB,主頻2.90 GHz,操作系統(tǒng)為Windows 10(64 bit),數(shù)據(jù)分析工具為Python 3、Jupyter NoteBook。

對A、B、C三相電壓的3組數(shù)據(jù)分別用3種算法進(jìn)行最佳聚類數(shù)估計,為滿足在線監(jiān)測的自適應(yīng)性,應(yīng)取足夠大的聚類數(shù)上限kmax,以保證其大于最佳聚類數(shù),因此取kmax=20,實驗結(jié)果如表2~4所示。

表2 對A組數(shù)據(jù)應(yīng)用3種算法Table 2 Three algorithms are applied to group A data

表3 對B組數(shù)據(jù)應(yīng)用3種算法Table 3 Three algorithms are applied to group B data

表4 對C組數(shù)據(jù)應(yīng)用3種算法Table 4 Three algorithms are applied to group C data

由表2可以看出,輪廓系數(shù)法和IES算法對最佳聚類數(shù)的估計值穩(wěn)定為3;DBI算法的估計值僅在2、3之間波動,其中,對于A組9個數(shù)據(jù)集,DBI算法解出k*=2,其余41個數(shù)據(jù)集解出k*=3。對表3、4不再贅述。根據(jù)表2~4,計算3種算法對A、B、C三相電壓的3組數(shù)據(jù)最佳聚類數(shù)估計的準(zhǔn)確率ω,如表5所示。

表5 3種算法準(zhǔn)確率Table 5 Accuracy of three algorithms accuracy %

由于3種算法對k*的估計值只有2和3,因此分別取k*=2、3,對A、B、C三相電壓的3組數(shù)據(jù)進(jìn)行K-means聚類,其中,k*=3時將聚類后的2個異常數(shù)據(jù)聚類合并,從而得到正常和異常數(shù)據(jù)二分類(注意:實際中不將異常數(shù)據(jù)聚類合并,因為會損失異常數(shù)據(jù)特征信息,此處僅是為了計算召回率)。計算不同k*取值下各組數(shù)據(jù)召回率均值,如表6所示。

表6 不同k*取值下各組數(shù)據(jù)召回率均值Table 6 Mean recall rates of data in each group under different k* values

由表6可見,選取合適的聚類數(shù)能大幅提升異常檢測效果。對于A、B、C三相電壓的3組數(shù)據(jù)取k*=2顯然不合適,而在表2~4中,DBI算法對k*的估計值多次為2,結(jié)合表5可知輪廓系數(shù)法對最佳聚類數(shù)估計的準(zhǔn)確率比DBI算法更高,而IES算法保持了輪廓系數(shù)法的高準(zhǔn)確率。

為進(jìn)一步說明輪廓系數(shù)法和IES算法在準(zhǔn)確率方面比DBI算法更適合為K-means選擇最佳聚類數(shù),對A組數(shù)據(jù)中某一數(shù)據(jù)集進(jìn)行K-means聚類,取k*=3,聚類結(jié)果如圖4所示,可明顯區(qū)分3類數(shù)據(jù),但對于該數(shù)據(jù)集,DBI算法解出k*=2,而輪廓系數(shù)法和IES算法解出k*=3。

圖4 k*=3時K-means算法聚類結(jié)果Figure 4 Clustering results of K-means algorithm when k* =3

圖4中聚類2、3為異常數(shù)據(jù)類,聚類1為正常數(shù)據(jù)類,此時召回率的值為1,表明K-means算法適合對該數(shù)據(jù)集聚類,而輪廓系數(shù)法和IES算法比DBI算法更適合為K-means選擇最佳聚類數(shù)。

為說明選取不同聚類數(shù)對聚類效果的影響,分別取聚類數(shù)為2~9,對數(shù)據(jù)集D2noise進(jìn)行K-means聚類;為方便計算各聚類結(jié)果的召回率,人為將異常數(shù)據(jù)聚類合并,從而得到正常和異常數(shù)據(jù)二分類。數(shù)據(jù)集D2noise召回率隨聚類數(shù)變化曲線如圖5所示,可見召回率隨著聚類數(shù)增大而增大,說明聚類效果越來越好,當(dāng)聚類數(shù)為7、8、9時達(dá)到最大值1。應(yīng)指出,3種聚類數(shù)選擇算法對于D2noise的最佳聚類數(shù)估計值均為7。

圖5 數(shù)據(jù)集D2noise召回率隨聚類數(shù)變化曲線Figure 5 The curve of recall rate of D2noise changing with clustering number

進(jìn)一步分析發(fā)現(xiàn),聚類數(shù)大于7時會發(fā)生模型過擬合。聚類數(shù)分別為7、8時數(shù)據(jù)集D2noise的K-means聚類結(jié)果如圖6、7所示。對比圖6、7可知,圖6為最佳聚類,而圖7中將正常數(shù)據(jù)過擬合為2個聚類(聚類4、7),不利于對數(shù)據(jù)進(jìn)行分析。

圖6 聚類數(shù)為7時數(shù)據(jù)集D2noise的K-means聚類結(jié)果Figure 6 K-means clustering results of D2noise when the clustering number is 7

用3種算法對A組50個數(shù)據(jù)集估計最佳聚類數(shù),記錄平均運(yùn)行時間和最小、最大運(yùn)行時間,如表7所示,可見輪廓系數(shù)法的最小運(yùn)行時間大于DBI算法最大運(yùn)行時間,從運(yùn)行時間均值也能看出DBI算法運(yùn)行速度更快。IES算法的運(yùn)行時間均值小于其他2個算法,計算速度最快,最符合在線監(jiān)測的快速性。IES算法運(yùn)行時間波動范圍大于其他2個算法,是因為對于50個數(shù)據(jù)集,IES算法均解出kmin=3,但“一個極大值”規(guī)則在不同的聚類數(shù)k值(k>3)處生效,因此,不同數(shù)據(jù)集的計算量不同,導(dǎo)致運(yùn)行時間波動。

表7 3種算法運(yùn)行時間對比Table 7 Running time comparison of three algorithms

綜上所述,盡管DBI算法計算速度稍快于輪廓系數(shù)法,但DBI算法準(zhǔn)確率是3種算法中最低的。與DBI算法相比,IES算法不僅計算速度更快,而且準(zhǔn)確率更高;與輪廓系數(shù)法相比,IES算法不僅保持相同的準(zhǔn)確率,而且計算速度更快。因此,IES算法兼顧準(zhǔn)確率和計算速度,在保證高準(zhǔn)確率的前提下縮短了計算時間,提高了K-means算法在線監(jiān)測的準(zhǔn)確率和高效性。

4 結(jié)語

K-means聚類算法計算速度快、準(zhǔn)確率高,適合配電網(wǎng)在線監(jiān)測,但當(dāng)假定聚類數(shù)不合適時,可能導(dǎo)致聚類結(jié)果不理想。本文提出了一種快速選取聚類數(shù)的自適應(yīng)IES算法,為K-means算法自動選取聚類數(shù),使K-means算法在線監(jiān)測配電網(wǎng)成為可能。以召回率評價二分類異常檢測效果為例,說明為K-means選取合適聚類數(shù)對異常檢測的重要性。IES算法首先利用自適應(yīng)變化閾值求解聚類數(shù)下限,接著在聚類數(shù)上、下限內(nèi)計算輪廓系數(shù)。為提高算法速度,提出“一個極大值”規(guī)則,避免計算所有輪廓系數(shù)。所提IES算法有如下優(yōu)點。

1)自適應(yīng)能力強(qiáng)。IES算法只需給定聚類數(shù)上限這一參數(shù),且該上限允許較大,即使動態(tài)數(shù)據(jù)庫的最佳聚類數(shù)發(fā)生一定的改變,也能保證大于最佳聚類數(shù)。所提出用于確定聚類數(shù)下限的閾值可隨數(shù)據(jù)集不同而自適應(yīng)變化,從而自適應(yīng)兼顧IES算法準(zhǔn)確率和計算速度。

2)計算速度快。IES算法利用計算迅速的SSE求解聚類數(shù)下限,縮小了最佳聚類數(shù)的搜尋范圍,又利用所提出的“一個極大值”規(guī)則減少計算量,提高了計算速度。

3)準(zhǔn)確率高。IES算法充分利用了輪廓系數(shù)高準(zhǔn)確率的特點。

算例表明,所提IES算法能自適應(yīng)快速選取最佳聚類數(shù),與輪廓系數(shù)法相比,IES算法準(zhǔn)確率相同而計算速度更快,與DBI算法相比,IES算法不僅準(zhǔn)確率更高,而且計算速度更快。因此,IES算法兼顧準(zhǔn)確率和計算速度,更有利于應(yīng)用于配電網(wǎng)在線監(jiān)測。

猜你喜歡
計算速度極大值輪廓
OPENCV輪廓識別研究與實踐
一道抽象函數(shù)題的解法思考與改編*
構(gòu)造可導(dǎo)解析函數(shù)常見類型例析*
基于實時輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
2018全國Ⅲ(21)題的命題背景及解法探究
淺談小學(xué)數(shù)學(xué)教學(xué)中學(xué)生計算能力的培養(yǎng)與提高
高速公路主動發(fā)光輪廓標(biāo)應(yīng)用方案設(shè)計探討
探析小學(xué)數(shù)學(xué)教學(xué)中如何提升學(xué)生的計算能力
對函數(shù)極值定義的探討
創(chuàng)造早秋新輪廓