白志霞,劉馨卉,索思遠(yuǎn),陳雯
(國(guó)網(wǎng)山西省電力公司計(jì)量中心,太原 030000)
電網(wǎng)系統(tǒng)的安全對(duì)經(jīng)濟(jì)社會(huì)的正常運(yùn)行至關(guān)重要。然而,傳統(tǒng)電網(wǎng)中始終存在著竊電行為、各類技術(shù)性與非技術(shù)性損失等不穩(wěn)定因素,因此可靠性受限[1-2]。隨著計(jì)算機(jī)與通信技術(shù)在電力領(lǐng)域的應(yīng)用,以各類高級(jí)計(jì)量體系(Advanced Metering Infrastructure, AMI)為基礎(chǔ)的智能電網(wǎng)體系已經(jīng)成為電網(wǎng)系統(tǒng)的主要架構(gòu)。相比傳統(tǒng)電網(wǎng)體系,智能電網(wǎng)具備雙向通信與實(shí)時(shí)需求響應(yīng)的優(yōu)勢(shì),因此有更高的可靠性,穩(wěn)定性與安全性[3-5]。
另一方面,由于AMI設(shè)備在記錄能耗的同時(shí),也會(huì)在用戶與控制中心之間建立起雙工通信路徑,因此面臨著更為復(fù)雜且更難發(fā)現(xiàn)的攻擊模式[6]。一種典型的攻擊形式為:攻擊者通過(guò)偽造或篡改數(shù)據(jù)干擾AMI設(shè)備與控制中心的通信,從而達(dá)到竊電等目的[7-8]。針對(duì)這一問(wèn)題,提出基于集群智能(Swarm Intelligence, SI)的異常檢測(cè)機(jī)制與度量指標(biāo),有效地挖掘出AMI網(wǎng)絡(luò)中的異常設(shè)備。
集群智能的概念來(lái)源于自然界中的種群社會(huì)性行為,例如鳥(niǎo)群、蟻群、魚(yú)群與蜂群等。集群智能反映了能力有限的個(gè)體通過(guò)匯聚成群體從而能解決超出自身能力的更為復(fù)雜的問(wèn)題,體現(xiàn)出群體效用。集群智能是一種基于分散個(gè)體的、具有自組織特性的人工智能[9-11]。與集中式的系統(tǒng)相比,集群智能具有許多優(yōu)勢(shì):
(1)自組織特性:群體中沒(méi)有任何充當(dāng)領(lǐng)導(dǎo)者的中心個(gè)體;
(2)低負(fù)荷:通過(guò)在個(gè)體之間分散工作量,降低單個(gè)個(gè)體的工作量;
(3)可持續(xù):由于自組織與分散性特征,系統(tǒng)不會(huì)因?yàn)槿魏蝹€(gè)體的問(wèn)題而出現(xiàn)故障,從而具有更高魯棒性;
(4)低成本:群體中的個(gè)體無(wú)法直接影響最終的決策,因此對(duì)硬件需求更少。
典型的群體智能算法包括蟻群優(yōu)化(Ant Colony Optimization, ACO)、粒子群優(yōu)化(Particle Swarm Optimization, PSO)、人工蜂群算法(Artificial Bee Colony, ABC)等[12-13]。其中,蟻群優(yōu)化受到了螞蟻種群覓食行為的啟發(fā)[14]。在ACO中,“螞蟻”通過(guò)信息素的沉積找到巢和食物之間的最短路徑。種群通過(guò)合作來(lái)實(shí)現(xiàn)求解目標(biāo),而個(gè)體只需基于簡(jiǎn)單的規(guī)則執(zhí)行自身所承擔(dān)的任務(wù),而無(wú)需遵循任何領(lǐng)導(dǎo)者或全局命令。通過(guò)這種群體合作,個(gè)體只需與少數(shù)距離相近的個(gè)體進(jìn)行通信并互相監(jiān)督,在降低了總體通信成本的同時(shí),提升了系統(tǒng)解決全局問(wèn)題的能力[15]。
集群智能算法已經(jīng)在智能電網(wǎng)的各個(gè)領(lǐng)域得到了廣泛應(yīng)用,如配電網(wǎng)絡(luò)設(shè)計(jì)與非侵入式負(fù)載檢測(cè)等[16-18]。文中將集群智能引入AMI設(shè)備的異常檢測(cè)問(wèn)題中,分別基于矢量距離、置信度與Kullback-Leibler(KL)散度三種指標(biāo)設(shè)計(jì)三類算法,用于更準(zhǔn)確地發(fā)現(xiàn)異常數(shù)據(jù)。
在集群智能算法中,為了保證算法的魯棒性,種群的形成是完全隨機(jī)的[19]。這意味著,每個(gè)群體中AMI設(shè)備的數(shù)量與具體選擇也應(yīng)該是完全隨機(jī)的。圖1給出了一個(gè)AMI設(shè)備群體的簡(jiǎn)單例子。圖中淺色節(jié)點(diǎn)表示正常設(shè)備,深色節(jié)點(diǎn)表示異常設(shè)備。
圖1 AMI設(shè)備群體的形成Fig.1 Generation of swarms in AMI devices
正常設(shè)備向異常設(shè)備的變化可以通過(guò)攻擊矢量來(lái)表示,即:
(1)
式中Mi表示第i個(gè)設(shè)備;Xi表示設(shè)備的狀態(tài)矢量;N表示攻擊矢量,當(dāng)N≠1時(shí),說(shuō)明設(shè)備遭遇了一定的攻擊,因此轉(zhuǎn)化為異常設(shè)備。攻擊矢量始終被假設(shè)為常數(shù)、均勻分布或高斯分布的隨機(jī)變量。
基于矢量距離、置信度與KL散度設(shè)計(jì)了三種基于集群智能的異常檢測(cè)算法,用于發(fā)現(xiàn)AMI網(wǎng)絡(luò)中的異常數(shù)據(jù)。
將群體中的所有AMI設(shè)備從1~n編號(hào)。如圖2所示,設(shè)備1與設(shè)備2安全地共享最后T次耗電讀數(shù)M1+Y,其中Y是一個(gè)僅能被設(shè)備1訪問(wèn)的隨機(jī)矢量。類似地,設(shè)備2向設(shè)備3共享的數(shù)據(jù)為M1+M2+Y。最終,設(shè)備1從耗電讀數(shù)的總和中減去Y并計(jì)算該設(shè)備群體的平均耗電量,再以相同的方式與每個(gè)設(shè)備共享該平均消耗量。
圖2 AMI設(shè)備群體中的數(shù)據(jù)共享Fig.2 Data sharing in AMI device swarm
隨后,基于直方圖估計(jì)每個(gè)設(shè)備的概率分布p(mi),并根據(jù)式(2)與式(3)計(jì)算這T次讀數(shù)的平均值μij與熵Hij,其中i為群體中的設(shè)備編號(hào);j為群體編號(hào)。
(2)
Hij=-∑p(mi)log(p(mi))
(3)
并且,根據(jù)式(4)與式(5)可以計(jì)算群體的平均均值μcj與平均熵值Hcj,其中Nm表示群體j中設(shè)備的數(shù)量。
(4)
Hcj=-∑p(mci)log(p(mci))
(5)
根據(jù)式(6)計(jì)算δij,表示第i個(gè)設(shè)備與第j個(gè)群體的平均值的偏差。
(6)
基于上述結(jié)果,根據(jù)偏差是否超出閾值對(duì)設(shè)備進(jìn)行標(biāo)記,即:
(7)
式中C1是一個(gè)用于控制閾值大小的常數(shù)。最終,在所有群體上進(jìn)行上述過(guò)程后,所有設(shè)備根據(jù)閾值都具有標(biāo)記Fij。式(7)中的標(biāo)記生成方式實(shí)際上對(duì)應(yīng)于ACO算法中蟻群信息素的沉積[20-21]。
多次劃分群體,根據(jù)Fij在不同群體中的值之和是否超出閾值,將設(shè)備狀態(tài)S標(biāo)記為正常或異常,即:
(8)
式中zi表示Fij在不同群體中的值之和;C2為閾值常數(shù)。S的值為1或0,分別表示設(shè)備狀態(tài)為異?;蛘?。圖3給出了基于矢量距離的異常檢測(cè)方法的具體流程。
圖3 基于矢量的異常檢測(cè)方法流程圖Fig.3 Flow chart of vector based anomaly detection method
(9)
如圖4所示,對(duì)于隨機(jī)生成的群體(實(shí)線圈內(nèi)),收集器的讀數(shù)無(wú)法直接使用。并且,在每個(gè)群體中都引入收集器來(lái)計(jì)算實(shí)際耗電量也是不實(shí)用的做法。
圖4 隨機(jī)生成的AMI群體Fig.4 Randomly formed swarms of AMI
針對(duì)這一問(wèn)題,提出了虛擬收集器的方法,其中每個(gè)群體的平均耗電量基于式(10)近似地計(jì)算為:
(10)
(11)
(12)
寫(xiě)成矩陣形式即為:
(13)
將能耗矩陣P作LU分解為下三角矩陣L與上三角矩陣U,求解方程組式(14)即可得到每個(gè)設(shè)備的置信度值。
(14)
如圖5所示,根據(jù)置信度值可以標(biāo)記設(shè)備的狀態(tài),并判斷是否異常。
這一方法中,設(shè)備之間采用圖2的策略進(jìn)行安全的數(shù)據(jù)共享并以相同方式計(jì)算群體平均值。然后,根據(jù)每個(gè)設(shè)備的讀數(shù)分布直方圖與平均分布直方圖計(jì)算兩者之間的KL散度,即:
(15)
式中p(Mi)表示第i個(gè)設(shè)備的分布;p(Mavg)表示群體的平均分布。
如圖6所示,根據(jù)以KL散度度量的兩個(gè)分布之間的差異大小即可判斷設(shè)備是否為異常。
圖5 基于置信度的異常檢測(cè)方法流程圖Fig.5 Flow chart of honesty coefficient based anomaly detection method
圖6 基于KL散度的異常檢測(cè)方法流程圖Fig.6 Flow chart of KL divergence based anomaly detection method
文中使用的數(shù)據(jù)集為NYISO數(shù)據(jù)集,包含25個(gè)智能電能表的讀數(shù)記錄[25]。通過(guò)使用虛假數(shù)據(jù)攻擊測(cè)試所提出算法的檢測(cè)效果??紤]的攻擊形式包括常數(shù)、均勻分布與高斯分布的混合攻擊。使用如檢測(cè)召回率PD和誤報(bào)率PF作為性能度量指標(biāo)。
圖7說(shuō)明了閾值參數(shù)C2的選取對(duì)VBA算法兩項(xiàng)指標(biāo)的影響。當(dāng)C2=0.6時(shí),召回率達(dá)到0.93,而誤報(bào)率為0.22,綜合考慮效果最優(yōu)。并且對(duì)另外兩種異常檢測(cè)方法也觀察到相似的現(xiàn)象,因此C2在實(shí)驗(yàn)過(guò)程中始終取為0.6。
圖7 閾值參數(shù)取值對(duì)檢測(cè)召回率與誤報(bào)率的影響Fig.7 Effect of threshold parameter on probability of detection and probability of false alarm
對(duì)于VBA算法,圖8顯示了在400次迭代生成群體后,召回率和誤報(bào)率分別為1和0.20,說(shuō)明算法性能達(dá)到了較高的水平。
圖8 基于矢量的方法檢測(cè)效果Fig.8 Detection performance of vector based algorithm
類似地,圖9說(shuō)明HBA算法在200次迭代后召回率與誤報(bào)率分別為1與0.17,圖10說(shuō)明KBA算法僅需100次迭代兩項(xiàng)指標(biāo)就分別達(dá)到1與0.30。因此三種算法中,HBA的效果最優(yōu),而KBA收斂最快。
以上的結(jié)果說(shuō)明,隨著迭代生成群體的次數(shù)增加,三種算法的性能都提升到了較高水平,即在檢測(cè)召回率較高的前提下,充分降低了誤報(bào)概率。實(shí)際場(chǎng)景下,影響算法性能的條件除了迭代次數(shù)外,還包括閾值的選擇、群體的大小與攻擊的強(qiáng)度等。
圖9 基于置信度的方法檢測(cè)效果Fig.9 Detection performance of honesty coefficient based algorithm
圖10 基于KL散度的方法檢測(cè)效果Fig.10 Detection performance of KL divergence based algorithm
基于集群智能提出三種異常檢測(cè)算法,用于發(fā)現(xiàn)AMI網(wǎng)絡(luò)中的異常設(shè)備。三種算法分別基于矢量距離、置信度與KL散度三種指標(biāo),用于度量AMI設(shè)備的狀態(tài)與群體平均狀態(tài)的差異大小,并根據(jù)閾值判斷設(shè)備是否出現(xiàn)異常。真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)表明,算法在具備高檢測(cè)召回率的同時(shí),充分降低了誤報(bào)率,具有較高實(shí)用性。