陸春光, 葉方彬, 趙 羚, 姜 馳, 董 偉
(1.國網浙江省電力有限公司電力科學研究院,杭州 310007;2.浙江華云信息科技有限公司,杭州 310002)
電力大數據可被應用于智能電網的不同階段[1-2],對用電大數據進行挖掘有助于電網運營模式的轉變[3-4]。但因為電力數據來源存在差異等問題和缺少數據質量控制機制,會造成異常數據形成[5]。異常數據即系統(tǒng)出現異常時的相關信息,有很大的研究價值,為實際故障排查與用電異常檢測提供依據。
當前異常值檢測算法主要有基于統(tǒng)計的異常值檢測算法、基于聚類的異常值檢測算法和基于分類的異常值檢測算法等[6]?;诮y(tǒng)計的異常值檢測算法需假設數據集分布滿足既定概率分布模型,將和模型不符的數據點當成異常值,但在實際應用中,電力大數據隨機性很強,該方法不適于實際應用?;诰垲惖漠惓V禉z測算法將不屬于聚類簇的樣本點當成異常值,部分聚類算法可直接獲取異常值,但大部分聚類算法需求出聚類簇中樣本點和中心間的間隔,以判斷異常點,復雜度較高[7]?;诜诸惖漠惓V禉z測算法需有充足的標識樣本,按照預測模型對沒有分類的樣本進行分類,獲取異常類,該方法需要大量準確類別樣本數據作為訓練樣本,不適于電力大數據異常值的檢測。
為此,依據電力大數據特點,提出一種基于密度峰值聚類的電力大數據異常值檢測算法,其基本思想為優(yōu)化初始聚類中心,改善電力大數據異常值檢測復雜度,提高了檢測準確性與檢測效率。經實例分析,所提方法可有效檢測電力大數據異常值。
密度峰值聚類算法首先確定類中心點,再把電力數據點劃分至和其間隔最小的有高密度值電力數據點所處的類中[8]。將聚類中心點看作局部密度最大點,通過啟發(fā)式方法選擇類中心點,將其稱作決策圖,決策群體中有兩個關鍵的指標[9],即局部密度ρi與距離δi。在決策群體中,假設待聚類電力大數據集用U={u1,u2,…,un}進行描述,相應指標集用IU={1,2,…,n}進行描述,Dij=dist(ui,uj)為電力數據點ui與uj間的某種間隔。
在電力數據點離散的情況下,局部密度ρi可通過式(1)求出:
(1)
式(1)中:j和i不相等同時均屬于IU;函數γ(u)可描述成:
(2)
在數據點是連續(xù)的情況下,求出局部密度ρi:
(3)
式(3)中:Ds>0用于描述階段距離;e為峰值聚類參數;ρi用于描述數據點ui的局部密度[10],為U中和數據點ui間間隔低于Ds的電力數據點數量。
距離δi可通過式(4)求出:
(4)
式(4)中:對應指標集IU可描述如式(5)所示:
(5)
分析式(1)~式(5)可以看出,在密度數值中ρi是最大值的情況下,IU是空集,也就是沒有密度高于ρi的數據點,當前ui是密度峰值點,δi用于描述U中和ui間隔最大的數據點和ui間的距離;反之,δi用于描述全部密度超過ui的電力數據點中和ui間間隔最小的數據點和ui間的距離。
密度峰值聚類算法可有效發(fā)現不同形狀與密度的簇,但在選擇聚類中心時忽略了δi與ρi對聚類中心選擇的影響[11],在選擇聚類中心時需人工輔助決策,不但提高了聚類成本,還令聚類結果有一定的主觀性,影響聚類精度,進而影響電力大數據異常值檢測準確性。除此之外,密度峰值聚類算法會造成大量冗余復制與計算開銷,無法滿足電力大數據異常值檢測。
針對上述兩個弊端,對密度峰值聚類算法進行優(yōu)化,將優(yōu)化后算法應用于電力大數據異常值檢測中。
針對密度峰值聚類中心的弊端,對δi與ρi間的關系進行分析,提出依據δi與ρi的聚類中心選擇策略,對密度峰值聚類算法進行優(yōu)化。其基本思想如下:按照聚類中心選擇原則,通過相鄰距離δi和密度ρi的歸一化乘積對聚類點的差異度進行衡量,按照差異度的統(tǒng)計特性與改變趨勢選擇最大的一組點當成聚類中心[12],獲取聚類中心后,按照相鄰距離標號將電力大數據分割至不同簇,實現聚類。為了量化電力大數據某數據點偏移原點的程度,對δ與ρ進行歸一化處理后,按照正比例關系,引入簇中心權值[13]:
ωi=δiρi
(6)
為了獲取偏離度最大的數據點集,把簇中心權值按從大到小的順序排列,取前N個點,N通常取30。將和原點偏離程度最大的點當成簇中心權值整體下降趨勢從急到緩的拐點。
通過兩點線段的斜率對測中心權值下降趨勢進行描述:
(7)
(8)
在上述分析的基礎上,給出簇中心選擇過程:
(1)計算各電力數據點的差異度χ。
(2)把簇中心權值按從大到小的順序排列。
(4)將拐點前的電力數據點{1,2,…,v}當成簇中心點。
本節(jié)按照空間z填充曲線與高維數據點z攜帶位置信息特性提出基于z的分布式密度峰值聚類算法[15]。
空間z填充曲線將d維空間映射為一維空間,所有電力數據點q的編號均和一個zq相應。圖1描述的是一個二維空間中的z填充曲線貫穿為一個3×3的二維空間區(qū)域。
圖1 z填充曲線示意圖
d維坐標點Q(a1,a2,…,ad)的z計算過程如下:把十進制描述成二進制Q′(b1,b2,…,bd),其中bi代表ai的二進制表述。按有效位降序與維度升序的順序把Q′交叉排列轉換成新的二進制數q(2)。把得到的二進制數q(2)通過十進制數描述成q(10),q(10)就是點Q的z。
密度峰值聚類算法的基本思想為求出電力大數據集中各點的兩個屬性值密度值ρ與斥群值δ。對密度值ρ進行計算時,各點僅需和周圍點計算距離即可[16]。求距離δ時,各點僅需和周圍較其密度大的點計算距離即可。據此,給出如下詳細優(yōu)化過程:
(1)對電力大數據集X進行采樣獲取樣本S,求出樣本重點z與點對間的間隔,同時對距離值與z進行排序,對Ds與分組分位點集K={n1,n2,…,nn-1}進行估計。
(9)
(10)
式(10)中:M用于描述電力大數據集的總量;ερ與εδ用于描述經驗參數。
為了驗證基于密度峰值聚類的電力大數據異常檢測算法的有效性,將某省交流配電變壓器100d的電力數據作為實驗數據。
在進行實驗前,對電力數據進行標準化處理,公式如式(1)所示:
(11)
為了驗證本文算法的有效性,將基于距離的檢測算法和基于密度的檢測算法作為對比進行測試。
基于距離的檢測算法對任意兩個電力數據的歐式距離進行計算,找到歐式距離最大的數據點,將歐式距離超過閾值的點當成異常值。基于密度的檢測算法假設正常電力數據點的數據密度超過異常點的數值密度。
針對交流配電變壓器電力數據,繪制電力大數據曲線,通過人工檢測得到9個異常電力數據點,詳細信息見表1。
表1 人工檢測得到的異常電力數據點信息
采用本文算法獲取電力數據樣本局部密度與局部距離,得到的電力大數據異常值檢測結果用圖2進行描述,圖2中紅色圓圈代表電力異常值。
分析圖2,可得到9個異常電力數據點,這些數據點的詳細信息見表2,發(fā)現異常電力數據點大部分發(fā)生在假期,和實際情況相符,說明本文算法檢測得到的電力數據異常值準確。
圖3描述的是采用基于距離的電力大數據異常值檢測算法的檢測結果。
圖2 本文算法電力大數據異常值檢測結果
表2 本文算法檢測電力異常數據點信息
基于距離的異常值檢測算法檢測的電力異常值詳細信息見表3進行。
分析圖3和表3可知,基于距離的異常值檢測算法錯誤地把正常電力值檢測為異常電力值,檢測結果不準確。
圖4描述的是采用基于密度的電力大數據異常值檢測算法的檢測結果。
基于距離的異常值檢測算法檢測的電力異常值詳細信息見表4。
圖3 基于距離的電力異常值檢測算法結果
表3 基于距離的異常值檢測算法檢測結果
圖4 基于密度的電力異常值檢測結果
表4 基于密度的異常值檢測算法檢測結果
分析圖4和表4可知,基于密度的檢測算法檢測結果和實際結果相比數量減少,且存在部分錯誤檢測數據,與基于密度的檢測算法相比,本文算法檢測結果更加完整準確,可有效體現電力數據的異常情況。
提出了一種基于密度峰值聚類的電力大數據異常值檢測算法。分析了密度峰值聚類算法的聚類過程,發(fā)現該算法在選擇聚類中心時需人工輔助決策,不但提高了聚類成本,還令聚類結果有一定的主觀性,影響聚類精度,進而影響電力大數據異常值檢測準確性。除此之外,密度峰值聚類算法會造成大量冗余復制與計算開銷,無法滿足電力大數據異常值檢測。
提出相應的優(yōu)化技術,在此基礎上,將局部密度超過閾值,同時距離超過閾值的數值看作電力數據異常值,完成對其進行檢測。
實驗結果表明,所提算法可有效檢測電力大數據異常值,且檢測結果準確性高。