郭禹伶,左曉軍,崔景洋,王 穎,張光華
(1.國(guó)網(wǎng)河北省電力有限公司電力科學(xué)研究院,河北石家莊 050021;2.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北石家莊 050018)
隨著數(shù)字化主動(dòng)電網(wǎng)的建設(shè)與發(fā)展,電力設(shè)備信息化、數(shù)字化和智能化水平進(jìn)一步提高,物理設(shè)備和信息系統(tǒng)耦合加劇,緊密耦合給配電設(shè)備和電力網(wǎng)絡(luò)帶來(lái)了更大的體系結(jié)構(gòu)風(fēng)險(xiǎn)和更高的網(wǎng)絡(luò)安全隱患[1]。主動(dòng)電網(wǎng)中的電力實(shí)體呈現(xiàn)出明顯的離散化、開(kāi)放化、差異化特征,而逐步模糊的網(wǎng)絡(luò)邊界發(fā)展趨勢(shì)使得主動(dòng)電網(wǎng)面臨的網(wǎng)絡(luò)安全威脅劇增。主動(dòng)電網(wǎng)中分布的實(shí)體種類(lèi)豐富多樣,包括用戶設(shè)備與電力設(shè)施設(shè)備,這些實(shí)體在提升電網(wǎng)運(yùn)行效能的同時(shí)也帶來(lái)了新的安全威脅,主動(dòng)電網(wǎng)的安全形勢(shì)變得更加復(fù)雜[2]。對(duì)各類(lèi)電力實(shí)體進(jìn)行研究,分析其異常行為趨勢(shì)[3]可以發(fā)現(xiàn)未知網(wǎng)絡(luò)安全風(fēng)險(xiǎn),提高數(shù)字化主動(dòng)電網(wǎng)的網(wǎng)絡(luò)安全防護(hù)能力。
電力實(shí)體一般包括電網(wǎng)內(nèi)的各類(lèi)信息系統(tǒng)、網(wǎng)絡(luò)安全防護(hù)裝置、主機(jī)設(shè)備等,其異常檢測(cè)問(wèn)題屬于用戶與實(shí)體行為分析(user and entity behavior analytics,UEBA)范疇[4],電力實(shí)體行為異常檢測(cè)的主要目的是檢測(cè)主動(dòng)電網(wǎng)的內(nèi)外部網(wǎng)絡(luò)安全威脅,進(jìn)一步提高主動(dòng)電網(wǎng)的網(wǎng)絡(luò)安全防護(hù)能力。在外部威脅識(shí)別方面,PAN等[5]設(shè)計(jì)了一個(gè)動(dòng)態(tài)行為殘差生成器,通過(guò)實(shí)體行為分析過(guò)濾裝置對(duì)多種攻擊方法進(jìn)行檢測(cè),解決了靜態(tài)檢測(cè)模型異常檢測(cè)種類(lèi)少的問(wèn)題。也有學(xué)者基于長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)及深度自編碼器(deep auto encoder,DAE)建立了專(zhuān)門(mén)針對(duì)電網(wǎng)傳輸系統(tǒng)的異常檢測(cè)模型[6],該模型能夠?qū)鞲衅鲗?shí)體數(shù)據(jù)進(jìn)行分析,從而監(jiān)控傳輸保護(hù)系統(tǒng)和檢測(cè)惡意活動(dòng)。在內(nèi)部威脅識(shí)別方面,JIN等[7]基于統(tǒng)計(jì)學(xué)習(xí)方法對(duì)智能電表數(shù)據(jù)進(jìn)行分析,對(duì)電力高階消耗數(shù)據(jù)在電網(wǎng)中潛在的電力盜竊行為進(jìn)行分析,識(shí)別其中的盜竊者與受害者。李佳瑋等[8]通過(guò)對(duì)電力工控系統(tǒng)數(shù)據(jù)在時(shí)間維度上的周期性進(jìn)行分析,建立了基于高斯混合聚類(lèi)的時(shí)序異常檢測(cè)模型,通過(guò)層次聚類(lèi)的方式解決異常檢測(cè)問(wèn)題。
但上述異常檢測(cè)方法都對(duì)待測(cè)樣本進(jìn)行“硬劃分”,每個(gè)樣本只歸屬于一個(gè)類(lèi),異常檢測(cè)結(jié)果只與樣本所屬類(lèi)簇內(nèi)的樣本有關(guān),缺乏其他類(lèi)簇內(nèi)的樣本對(duì)比,而實(shí)際情況中,電力實(shí)體行為既有“偽裝性”,又有“復(fù)雜性”,不應(yīng)只在一個(gè)類(lèi)簇內(nèi)進(jìn)行分析[9]。模糊聚類(lèi)[10]采用模糊數(shù)學(xué)方法對(duì)數(shù)據(jù)進(jìn)行分析,最終得到樣本類(lèi)別隸屬度矩陣,一個(gè)樣本可能同時(shí)屬于多個(gè)類(lèi)別?;谀:垲?lèi)算法處理電力實(shí)體行為數(shù)據(jù),能夠很好地保留樣本與各個(gè)類(lèi)簇間的關(guān)聯(lián)信息,通過(guò)多角度評(píng)估判斷電力實(shí)體的威脅程度,得到更準(zhǔn)確的異常檢測(cè)結(jié)果。ANGELOS等[11]使用模糊C均值聚類(lèi)對(duì)用戶用電數(shù)據(jù)進(jìn)行分析,隨后,基于樣本對(duì)應(yīng)每個(gè)類(lèi)別的隸屬度和類(lèi)別中心的歐式距離設(shè)計(jì)了一種評(píng)價(jià)指標(biāo),用于區(qū)分不同的用電模式,從而得到其中的欺詐者。文獻(xiàn)[12]利用模糊聚類(lèi)對(duì)用電數(shù)據(jù)進(jìn)行分析。首先,將具有相同用電習(xí)慣的電力用戶進(jìn)行聚類(lèi);然后,使用孤立森林算法對(duì)其中的用電異常情況進(jìn)行檢測(cè),得到了不錯(cuò)的檢測(cè)效果,但在使用模糊聚類(lèi)結(jié)果時(shí),只選擇了其中的一個(gè)類(lèi)別作為樣本標(biāo)簽,沒(méi)能很好地體現(xiàn)出算法的“模糊性”。
針對(duì)評(píng)價(jià)角度過(guò)少以及樣本類(lèi)別信息使用不完全的問(wèn)題,本文提出了一種基于模糊聚類(lèi)的多類(lèi)簇歸屬異常行為檢測(cè)(abnormal behavior detection based on fuzzy clustering,ABDFC)算法,包括模糊聚類(lèi)以及多類(lèi)簇異常檢測(cè)2個(gè)過(guò)程。首先,基于實(shí)體行為頻次-逆向?qū)嶓w頻次(behavior frequency-inverse entities frequency,BF-IEF)技術(shù)建立了實(shí)體行為模糊C均值聚類(lèi)算法,得到樣本與類(lèi)別的隸屬度矩陣;其次,針對(duì)模糊聚類(lèi)的結(jié)果,利用樣本多類(lèi)簇歸屬的性質(zhì)設(shè)計(jì)了異常檢測(cè)算法。
本文所提出的電力實(shí)體異常檢測(cè)算法包含2個(gè)主要部分:1)實(shí)體行為模糊C均值聚類(lèi)過(guò)程;2)多類(lèi)簇歸屬異常檢測(cè)過(guò)程。首先,從主動(dòng)電網(wǎng)中進(jìn)行電力實(shí)體行為的數(shù)據(jù)采集,并對(duì)其進(jìn)行向量化和標(biāo)準(zhǔn)化操作;其次,通過(guò)模糊聚類(lèi)過(guò)程得到模糊聚類(lèi)結(jié)果,再對(duì)模糊聚類(lèi)結(jié)果進(jìn)行多類(lèi)簇歸屬異常檢測(cè)。整體處理框架如圖1所示。
圖1 總體框架
模糊聚類(lèi)算法采用模糊界限對(duì)待測(cè)樣本進(jìn)行軟劃分,通過(guò)隸屬度對(duì)樣本與類(lèi)別之間的關(guān)系進(jìn)行表述,使得一個(gè)樣本可以有多個(gè)類(lèi)別標(biāo)簽[13]。模糊C均值(fuzzy c-means,FCM)聚類(lèi)算法[14]是模糊聚類(lèi)算法中最具代表性的算法之一,其通過(guò)多次迭代的方式計(jì)算樣本關(guān)于類(lèi)別的歸屬度與聚類(lèi)簇中心點(diǎn),以達(dá)到最大類(lèi)內(nèi)相似度與最小類(lèi)間相似度。模糊C均值算法是對(duì)普通K均值(K-means)算法的一種改進(jìn),為了便于與K均值算法進(jìn)行區(qū)分,所以改用字母C代表聚類(lèi)簇的個(gè)數(shù)。傳統(tǒng)FCM算法主要使用歐式距離對(duì)樣本與類(lèi)別中心的偏離程度進(jìn)行度量,在電力實(shí)體行為模糊聚類(lèi)分析的過(guò)程中,發(fā)現(xiàn)直接計(jì)算行為向量間的距離對(duì)具體實(shí)體行為的區(qū)分度不理想,所以基于TF-IDF思想優(yōu)化了實(shí)體行為處理方法,設(shè)計(jì)了實(shí)體行為模糊C均值聚類(lèi)(fuzzy c-means for entities behavior,FCEB)算法。
TF-IDF[15]是文本分析領(lǐng)域的一種語(yǔ)料庫(kù)詞語(yǔ)加權(quán)技術(shù),用來(lái)評(píng)估一個(gè)單詞對(duì)整篇文檔的重要程度。其主要思想是:一個(gè)單詞在整篇文檔中的重要程度與其出現(xiàn)的頻率成正比,與其在其他文檔中出現(xiàn)的頻率成反比。在電力實(shí)體行為分析中,參考TF-IDF對(duì)電力實(shí)體的具體行為進(jìn)行差異化分析,計(jì)算實(shí)體行為頻次-逆向?qū)嶓w頻次BF-IEF。
若有某一行為B,則B的實(shí)體行為頻次BF計(jì)算方法為
(1)
實(shí)體行為頻次BF為某個(gè)行為出現(xiàn)次數(shù)與行為數(shù)量的比值,一個(gè)行為在某個(gè)實(shí)體的所有動(dòng)作中出現(xiàn)的次數(shù)越多,越能代表該實(shí)體,而且越能夠區(qū)分該實(shí)體與其他實(shí)體的差別。
行為B的逆向?qū)嶓w頻次IEF計(jì)算方法為
(2)
式中:逆向?qū)嶓w頻次IEF為電力實(shí)體總數(shù)量與包含某個(gè)行為實(shí)體數(shù)量比值的對(duì)數(shù),對(duì)數(shù)內(nèi)的分母進(jìn)行加1,是為了防止出現(xiàn)分母為0的情況。如果一個(gè)行為只在少數(shù)實(shí)體中出現(xiàn),則能夠更好地區(qū)分這些實(shí)體與其他實(shí)體的不同。出現(xiàn)的范圍越廣,那么這個(gè)行為的區(qū)分性就越差。
實(shí)體的頻次與逆向?qū)嶓w頻次的乘積為
BF-IEF=BF×IEF 。
(3)
將BF與IEF相乘可以得到實(shí)體行為頻次-逆向?qū)嶓w頻次,該表述方法能夠很好地對(duì)實(shí)體間的行為差異程度進(jìn)行區(qū)別,實(shí)體某個(gè)行為的表述能力隨著它在該實(shí)體行為中出現(xiàn)次數(shù)的增加而增加,隨著它在其他實(shí)體內(nèi)出現(xiàn)次數(shù)的增加而減少。使用BF-IEF技術(shù)對(duì)行為進(jìn)行處理,可以更精確地表述實(shí)體行為向量,增強(qiáng)行為表示的準(zhǔn)確性。
基于實(shí)體行為向量表述方法,再給定第i個(gè)數(shù)據(jù)樣本xi與第j個(gè)聚類(lèi)類(lèi)別中心vj,即可計(jì)算數(shù)據(jù)樣本與聚類(lèi)類(lèi)別中心的距離。二者之間的行為向量相似性度量值(behavioral measure,BM)的計(jì)算方法如式(4)所示:
(4)
基于實(shí)體行為向量表述方法與實(shí)體行為向量相似性度量方法,可以構(gòu)造實(shí)體行為模糊C均值聚類(lèi)算法。在模糊聚類(lèi)中,使用隸屬度表示一個(gè)樣本x對(duì)于某個(gè)類(lèi)別c的隸屬程度,一般記為uij。uij表示第i個(gè)樣本對(duì)于第j個(gè)類(lèi)別的隸屬度,其取值范圍是[0,1]。當(dāng)uij=0時(shí),表示第i個(gè)樣本一定不屬于第j個(gè)類(lèi)別;當(dāng)uij=1時(shí),表示第i個(gè)樣本一定屬于第j個(gè)類(lèi)別。
基于隸屬度可得到模糊聚類(lèi)的目標(biāo)函數(shù),假設(shè)數(shù)據(jù)集X={x1,x2,…,xN},聚類(lèi)類(lèi)別C={C1,C2,…,CC},第j個(gè)聚類(lèi)類(lèi)別中心vj,則實(shí)體行為模糊C均值聚類(lèi)FCEB算法的目標(biāo)函數(shù)如式(5)所示:
(5)
滿足
(6)
式(5)中:m是模糊系數(shù),取值范圍 [1,+∞),用來(lái)調(diào)節(jié)聚類(lèi)模糊程度的參數(shù),m值越大,聚類(lèi)結(jié)果越模糊,一般取m=2。式(6)表示某個(gè)樣本到所有類(lèi)簇中心的隸屬度之和為1。
利用拉格朗日乘數(shù)法,引入N個(gè)拉格朗日因子將式(5)與式(6)轉(zhuǎn)化為無(wú)條件極值問(wèn)題:
(7)
對(duì)式(7)中的uij與vj進(jìn)行求導(dǎo),可以得到各變量的極值點(diǎn)。
對(duì)隸屬度參數(shù)uij求偏導(dǎo)得:
(8)
對(duì)聚類(lèi)簇中心vj求偏導(dǎo)得:
(9)
式(8)是隸屬度迭代公式,式(9)是聚類(lèi)簇中心迭代公式。
所以實(shí)體行為模糊C均值聚類(lèi)FCEB算法的步驟如下。
1)初始化C個(gè)樣本作為初始聚類(lèi)中心C={C1,C2,…,CC},第j個(gè)聚類(lèi)類(lèi)別中心vj。
2)針對(duì)每個(gè)樣本xi,計(jì)算它到第j個(gè)聚類(lèi)中心的距離,并更新隸屬度矩陣:
(10)
3)針對(duì)每個(gè)類(lèi)別,重新計(jì)算它的聚類(lèi)中心
(11)
4)重復(fù)第2、第3步,直至達(dá)到最大迭代次數(shù)或者隸屬度矩陣變化小于閾值。
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,電力實(shí)體行為中的異常情況呈現(xiàn)出明顯的復(fù)雜化、隱蔽化特征[16]?,F(xiàn)有異常檢測(cè)算法多基于單一維度對(duì)行為內(nèi)容進(jìn)行分析,采用傳統(tǒng)方法對(duì)模糊聚類(lèi)結(jié)果進(jìn)行異常檢測(cè),會(huì)喪失模糊聚類(lèi)結(jié)果的“模糊”特性。局部異常因子(local outlier factor,LOF)算法[17]是一種常見(jiàn)的基于密度的單維度異常檢測(cè)算法,通過(guò)比較待分析節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間局部離群值的大小,從而判斷待分析節(jié)點(diǎn)是否異常。本文基于LOF算法,設(shè)計(jì)了一種多類(lèi)簇歸屬的異常檢測(cè)(anomaly fetection based on multi-categories affiliation,ADMA)算法專(zhuān)門(mén)用于解決模糊聚類(lèi)結(jié)果的異常檢測(cè)問(wèn)題。
在同一類(lèi)簇內(nèi)所有的數(shù)據(jù)點(diǎn)中,距離待分析點(diǎn)O最近的第k個(gè)點(diǎn)與點(diǎn)O之間的距離被稱(chēng)為K近鄰距離[18],用K-nearest neighbor distances表示,如圖2所示。點(diǎn)O的K近鄰距離越大,則其周?chē)狞c(diǎn)越稀疏,越遠(yuǎn)離主流數(shù)據(jù)分布。
圖2 點(diǎn)O的K近鄰距離
圖3 點(diǎn)O在不同類(lèi)簇內(nèi)的K近鄰距離
點(diǎn)p到點(diǎn)O間的可達(dá)距離(reach_dist)定義為“點(diǎn)O的K近鄰距離”和“數(shù)據(jù)點(diǎn)p與點(diǎn)O直接距離”的最大值,即:
reach_dist(p,O)=max{KNND(O),dist(p,O)}
(12)
值得注意的是,式(12)的定義是有方向的,點(diǎn)p到點(diǎn)O的可達(dá)距離可能不等于點(diǎn)O到點(diǎn)p的可達(dá)距離。
點(diǎn)O的近鄰密度(nearest neighbor density,NND)用來(lái)衡量點(diǎn)O在所屬的聚類(lèi)簇內(nèi)與周?chē)渌c(diǎn)相比的疏密程度,定義為每個(gè)類(lèi)簇內(nèi)K鄰域內(nèi)的點(diǎn)與點(diǎn)O平均可達(dá)距離的倒數(shù),即:
(13)
式中:m代表第m個(gè)簇,對(duì)每個(gè)點(diǎn)O的歸屬聚類(lèi)簇進(jìn)行計(jì)算,可以得到M個(gè)點(diǎn)O的近鄰密度。平均距離越低,近鄰密度越高,近鄰密度高意味著該點(diǎn)附近比較稠密。另外,在點(diǎn)O的鄰域內(nèi),可能不止包含K個(gè)點(diǎn),所以要根據(jù)實(shí)際情況歸一化可達(dá)距離之和,圖4是當(dāng)K=4時(shí),點(diǎn)O的4鄰域內(nèi)包含6個(gè)點(diǎn)的情況。
圖4 點(diǎn)O的K近鄰內(nèi)包含多個(gè)點(diǎn)的情況
在ADMA算法中,使用點(diǎn)O近鄰相對(duì)異常因子(nearest neighbor relative anomaly factor,NNRAF)對(duì)點(diǎn)O的異常程度進(jìn)行衡量,其異常因子得分為點(diǎn)O在M個(gè)類(lèi)簇鄰域內(nèi)樣本點(diǎn)的平均近鄰密度與點(diǎn)O近鄰密度之比的平均值,即:
(14)
基于實(shí)體行為模糊C均值聚類(lèi)(FCEB)與多類(lèi)簇歸屬異常檢測(cè)(ADMA)算法,設(shè)計(jì)了一種基于模糊聚類(lèi)的多類(lèi)簇歸屬異常檢測(cè)ABDFC算法。首先,采用BF-IEF技術(shù)對(duì)電力實(shí)體行為進(jìn)行處理;其次,采用多次迭代的方式得到各實(shí)體行為的模糊聚類(lèi)結(jié)果;最后,根據(jù)類(lèi)簇隸屬度矩陣對(duì)異常行為進(jìn)行識(shí)別。算法的整體過(guò)程主要包括模糊聚類(lèi)和多類(lèi)簇歸屬異常檢測(cè)2個(gè)階段,算法流程如圖5所示。
圖5 ABDFC算法流程圖
具體步驟如下:
1)標(biāo)準(zhǔn)化現(xiàn)有實(shí)體行為信息數(shù)據(jù)集X={x1,x2,…,xN};
2)設(shè)定模糊聚類(lèi)超參數(shù)(類(lèi)別個(gè)數(shù)C與模糊系數(shù)m);
3)初始化聚類(lèi)中心,設(shè)第j個(gè)聚類(lèi)類(lèi)別中心vj;
4)針對(duì)每個(gè)樣本xi,利用它到第j個(gè)聚類(lèi)中心vj的距離計(jì)算uij,并更新隸屬度矩陣:
(15)
5)針對(duì)每個(gè)類(lèi)別,重新計(jì)算它的聚類(lèi)中心vj:
(16)
6)重復(fù)第4、第5步,直至達(dá)到最大迭代次數(shù)或者隸屬度矩陣變化小于閾值,最終得到隸屬度矩陣;
7)遍歷數(shù)據(jù)集X內(nèi)的樣本,根據(jù)每個(gè)類(lèi)別的隸屬度計(jì)算其N(xiāo)NRAF值,并判斷是否為異常點(diǎn)。
(17)
為了驗(yàn)證異常檢測(cè)算法的有效性,本文通過(guò)散布在主動(dòng)電網(wǎng)重要節(jié)點(diǎn)中的網(wǎng)絡(luò)探針得到了變壓器、傳感器、智能電表等各類(lèi)物聯(lián)網(wǎng)電力實(shí)體間的通信數(shù)據(jù),部分原始數(shù)據(jù)樣例如下所示:
“Source IP,Destination IP,25950,2021/8/13 18:53:06,tcp,private,RSTR,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0.00,0.00,1.00,1.00,1.00,0.00,0.00,255,2,0.01,0.69,1.00,0.00,0.00,0.00,1.00,1.00
Source IP,Destination IP,1,2021/8/13 18:53:08,tcp,smtp,SF,1079,334,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,138,167,0.57,0.03,0.01,0.01,0.00,0.00,0.00,0.00”。
基于參考文獻(xiàn)[4]中的特征工程方法和NSL-KDD[19]的數(shù)據(jù)格式對(duì)電力實(shí)體間的通信數(shù)據(jù)進(jìn)行了標(biāo)準(zhǔn)化預(yù)處理,經(jīng)過(guò)處理后的每條連接共有43個(gè)特征,部分特征如表1所示。
表1 電力實(shí)體行為數(shù)據(jù)特征樣例
除了1.3節(jié)中所表述的BF-IEF加權(quán)技術(shù),還使用歸一化過(guò)程對(duì)數(shù)據(jù)進(jìn)行特征縮放,經(jīng)過(guò)處理后的數(shù)據(jù)壓縮到0到1之間,其歸一化方法為
(18)
另外根據(jù)NSL-KDD的攻擊判斷邏輯對(duì)樣本數(shù)據(jù)進(jìn)行了類(lèi)別標(biāo)注,并補(bǔ)充了部分攻擊數(shù)據(jù),最終得到5大類(lèi)、39小類(lèi)共1 000條電力實(shí)體通信行為數(shù)據(jù),數(shù)據(jù)分布情況如表2所示。
表2 實(shí)驗(yàn)數(shù)據(jù)的類(lèi)別分布情況
在對(duì)算法評(píng)價(jià)的過(guò)程中,基于混淆矩陣[20]對(duì)各類(lèi)指標(biāo)進(jìn)行計(jì)算,混淆矩陣如表3所示。
表3 混淆矩陣
其中TP(true positive)代表真正例,是正樣本被預(yù)測(cè)為正樣本;FP(false positive)代表假正例,是負(fù)樣本被預(yù)測(cè)為正樣本;FN(false negative)代表假負(fù)例,是正樣本被預(yù)測(cè)為負(fù)樣本;TN(true negative)代表真負(fù)例,是負(fù)樣本被預(yù)測(cè)為負(fù)樣本?;诨煜仃嚳梢缘玫饺舾稍u(píng)估指標(biāo),常用的指標(biāo)有準(zhǔn)確率(accuracy,Acc)、精確率(precision,P)、召回率(recall,R)和F1值,具體的計(jì)算方法如下所示。
(19)
(20)
(21)
(22)
此外還使用了受試者工作特征曲線(receiver operating characteristic curve,ROC)和ROC曲線下的面積(area under curve,AUC)對(duì)算法進(jìn)行評(píng)價(jià)。
本次實(shí)驗(yàn)在Intel core i7-9750H@2.6 GHz處理器,16G內(nèi)存,Python 3.7.2環(huán)境下運(yùn)行。多分類(lèi)實(shí)驗(yàn)的識(shí)別結(jié)果按照攻擊大類(lèi)進(jìn)行統(tǒng)計(jì),分別是Normal,DOS,Probe,U2R,R2L。
首先,進(jìn)行模糊聚類(lèi)分析。在參數(shù)選擇方面,模糊聚類(lèi)超參數(shù)m設(shè)置為2,C值設(shè)置為5。圖6中,隨機(jī)選取了3個(gè)樣本維度進(jìn)行展示,將其隸屬度最大的一類(lèi)作為最終類(lèi)別。由圖6可以看出,整體數(shù)據(jù)的模糊聚類(lèi)情況有一定的分布規(guī)律,Normal類(lèi)分布在xy軸平面,主要集中在x軸、y軸及對(duì)角線上;Probe類(lèi)多分布在y軸;其余3類(lèi)多集中在原點(diǎn)附近。
圖6 實(shí)體行為模糊C均值聚類(lèi)結(jié)果
選取了LOF,K-Means,Random Forest與本文所提出的ABDFC算法進(jìn)行異常檢測(cè)效果對(duì)比,結(jié)果如圖7所示。在異常行為檢出量方面,本文提出算法所檢出的異常行為最多,在1 000個(gè)樣本中,共識(shí)別得到了非Normal類(lèi)數(shù)據(jù)164條。
圖7 異常檢出量對(duì)比
算法的多類(lèi)別檢測(cè)將數(shù)據(jù)集按照類(lèi)別進(jìn)行拆分后再進(jìn)行實(shí)驗(yàn)。表4是4種算法在多類(lèi)別數(shù)據(jù)上的評(píng)價(jià)指標(biāo),由表4可以看出ABDFC算法整體表現(xiàn)最優(yōu),隨機(jī)森林略弱。ABDFC算法在R2L類(lèi)別與Probe類(lèi)別的檢測(cè)方面稍有不足,Random Forest在這2個(gè)類(lèi)別檢測(cè)的各個(gè)指標(biāo)上均表現(xiàn)最好。雖然ABDFC算法在多個(gè)類(lèi)別的檢測(cè)上均取得了不錯(cuò)的效果,但由于R2L類(lèi)別樣本數(shù)較少,所以模型未能很好地從數(shù)據(jù)中學(xué)習(xí)到相應(yīng)的規(guī)律,影響了ABDFC算法評(píng)價(jià)指標(biāo)的平均值。
表4 評(píng)價(jià)指標(biāo)對(duì)比
圖8分別給出了4種算法在進(jìn)行多類(lèi)別檢測(cè)任務(wù)時(shí)的ROC。由圖8可以看出ABDFC算法的ROC曲線下面積在全量異常識(shí)別、Normal類(lèi)識(shí)別、DOS類(lèi)識(shí)別實(shí)驗(yàn)中性能優(yōu)勢(shì)較為明顯,ROC分別達(dá)到了0.86,0.84和0.83。由于其他3個(gè)類(lèi)別的樣本數(shù)量較少,所以檢測(cè)效果略有波動(dòng)。
圖8 不同算法ROC曲線對(duì)比
從圖8各子圖的ROC曲線來(lái)看,ABDFC算法在全量數(shù)據(jù)集的異常檢測(cè)實(shí)驗(yàn)中表現(xiàn)最好,其ROC遠(yuǎn)大于其他算法,這是由于在全量數(shù)據(jù)集中實(shí)體行為種類(lèi)更多,基于BF-IEF技術(shù)所改進(jìn)的模糊聚類(lèi)能夠?qū)Ω黝?lèi)電力實(shí)體的行為進(jìn)行更好的區(qū)分,從而得到更優(yōu)的模糊聚類(lèi)效果。而且在分類(lèi)別異常檢測(cè)試驗(yàn)中,實(shí)體類(lèi)別的多樣性有所降低,ABDFC算法在多類(lèi)簇歸屬信息使用方面的優(yōu)勢(shì)有所下降,所以呈現(xiàn)出的檢測(cè)優(yōu)勢(shì)不如全量數(shù)據(jù)集異常檢測(cè)試驗(yàn)中大。與傳統(tǒng)LOF算法相比,經(jīng)過(guò)電力實(shí)體樣本多類(lèi)簇歸屬性質(zhì)改進(jìn)的ABDFC算法進(jìn)行了更多維度的異常因子計(jì)算,可以檢測(cè)出更多的異常點(diǎn),對(duì)比LOF算法有著更優(yōu)的表現(xiàn)。Random Forest算法在各個(gè)異常檢測(cè)的實(shí)驗(yàn)中對(duì)數(shù)據(jù)的大小變化不敏感,表現(xiàn)比較穩(wěn)定,但從ROC來(lái)看稍遜于ABDFC算法。
此外,還對(duì)ABDFC算法的實(shí)時(shí)識(shí)別能力進(jìn)行了測(cè)試,如表5所示。由表5可知,ABDFC算法在進(jìn)行小批量在線檢測(cè)方面也優(yōu)于其他算法,適合作為實(shí)體行為增量檢測(cè)模型進(jìn)行全天候部署檢測(cè)。
表5 小批量檢測(cè)準(zhǔn)確率對(duì)比
從實(shí)驗(yàn)結(jié)果上看,ABDFC算法對(duì)于電力實(shí)體行為異常檢測(cè)的整體表現(xiàn)優(yōu)于LOF,K-Means及Random Forest算法,尤其在Normal樣本檢測(cè)方面的各類(lèi)指標(biāo)都比較突出。在實(shí)際應(yīng)用中,電力實(shí)體行為分析的主要作用在于對(duì)數(shù)據(jù)進(jìn)行“正?!迸c“異?!钡亩诸?lèi)驗(yàn)證,所以ABDFC算法比其他3種算法更適用于當(dāng)前電力實(shí)體行為的異常檢測(cè)。
本文提出了一種基于模糊聚類(lèi)和多類(lèi)簇歸屬的異常檢測(cè)算法,主要應(yīng)用于電力實(shí)體行為分析。首先,基于行為度量方法設(shè)計(jì)了實(shí)體行為模糊聚類(lèi)算法,并得到電力實(shí)體行為與類(lèi)別間的隸屬度矩陣,解決了確定性聚類(lèi)算法分析角度單一的問(wèn)題。其次,基于隸屬度矩陣設(shè)計(jì)了多類(lèi)簇歸屬異常檢測(cè)算法,對(duì)電力實(shí)體行為在各個(gè)所屬類(lèi)別內(nèi)的相對(duì)結(jié)構(gòu)進(jìn)行分析,判斷該點(diǎn)的異常情況。結(jié)果表明,ABDFC算法解決了傳統(tǒng)異常檢測(cè)算法實(shí)體行為硬劃分的問(wèn)題,通過(guò)在不同類(lèi)內(nèi)分別計(jì)算異常程度的方式得到更為準(zhǔn)確的檢測(cè)結(jié)果。
本文方法雖然能夠利用模糊聚類(lèi)以及多類(lèi)簇歸屬異常檢測(cè)算法對(duì)電力實(shí)體行為的異常情況進(jìn)行分析,但在實(shí)驗(yàn)過(guò)程中所涉及的超參數(shù)較多,因此,對(duì)超參數(shù)的設(shè)置過(guò)程和具體影響進(jìn)行研究,設(shè)計(jì)自動(dòng)化模糊聚類(lèi)異常檢測(cè)算法是下一階段的研究方向。