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