基于集群智能的智能电能表异常检测技术
2022-01-13白志霞刘馨卉索思远陈雯
白志霞,刘馨卉,索思远,陈雯
(国网山西省电力公司计量中心,太原 030000)
0 引 言
电网系统的安全对经济社会的正常运行至关重要。然而,传统电网中始终存在着窃电行为、各类技术性与非技术性损失等不稳定因素,因此可靠性受限[1-2]。随着计算机与通信技术在电力领域的应用,以各类高级计量体系(Advanced Metering Infrastructure, AMI)为基础的智能电网体系已经成为电网系统的主要架构。相比传统电网体系,智能电网具备双向通信与实时需求响应的优势,因此有更高的可靠性,稳定性与安全性[3-5]。
另一方面,由于AMI设备在记录能耗的同时,也会在用户与控制中心之间建立起双工通信路径,因此面临着更为复杂且更难发现的攻击模式[6]。一种典型的攻击形式为:攻击者通过伪造或篡改数据干扰AMI设备与控制中心的通信,从而达到窃电等目的[7-8]。针对这一问题,提出基于集群智能(Swarm Intelligence, SI)的异常检测机制与度量指标,有效地挖掘出AMI网络中的异常设备。
1 集群智能
集群智能的概念来源于自然界中的种群社会性行为,例如鸟群、蚁群、鱼群与蜂群等。集群智能反映了能力有限的个体通过汇聚成群体从而能解决超出自身能力的更为复杂的问题,体现出群体效用。集群智能是一种基于分散个体的、具有自组织特性的人工智能[9-11]。与集中式的系统相比,集群智能具有许多优势:
(1)自组织特性:群体中没有任何充当领导者的中心个体;
(2)低负荷:通过在个体之间分散工作量,降低单个个体的工作量;
(3)可持续:由于自组织与分散性特征,系统不会因为任何个体的问题而出现故障,从而具有更高鲁棒性;
(4)低成本:群体中的个体无法直接影响最终的决策,因此对硬件需求更少。
典型的群体智能算法包括蚁群优化(Ant Colony Optimization, ACO)、粒子群优化(Particle Swarm Optimization, PSO)、人工蜂群算法(Artificial Bee Colony, ABC)等[12-13]。其中,蚁群优化受到了蚂蚁种群觅食行为的启发[14]。在ACO中,“蚂蚁”通过信息素的沉积找到巢和食物之间的最短路径。种群通过合作来实现求解目标,而个体只需基于简单的规则执行自身所承担的任务,而无需遵循任何领导者或全局命令。通过这种群体合作,个体只需与少数距离相近的个体进行通信并互相监督,在降低了总体通信成本的同时,提升了系统解决全局问题的能力[15]。
集群智能算法已经在智能电网的各个领域得到了广泛应用,如配电网络设计与非侵入式负载检测等[16-18]。文中将集群智能引入AMI设备的异常检测问题中,分别基于矢量距离、置信度与Kullback-Leibler(KL)散度三种指标设计三类算法,用于更准确地发现异常数据。
2 系统结构
在集群智能算法中,为了保证算法的鲁棒性,种群的形成是完全随机的[19]。这意味着,每个群体中AMI设备的数量与具体选择也应该是完全随机的。图1给出了一个AMI设备群体的简单例子。图中浅色节点表示正常设备,深色节点表示异常设备。
图1 AMI设备群体的形成Fig.1 Generation of swarms in AMI devices
正常设备向异常设备的变化可以通过攻击矢量来表示,即:
(1)
式中Mi表示第i个设备;Xi表示设备的状态矢量;N表示攻击矢量,当N≠1时,说明设备遭遇了一定的攻击,因此转化为异常设备。攻击矢量始终被假设为常数、均匀分布或高斯分布的随机变量。
3 异常检测算法
基于矢量距离、置信度与KL散度设计了三种基于集群智能的异常检测算法,用于发现AMI网络中的异常数据。
3.1 基于矢量的方法(VBA)
将群体中的所有AMI设备从1~n编号。如图2所示,设备1与设备2安全地共享最后T次耗电读数M1+Y,其中Y是一个仅能被设备1访问的随机矢量。类似地,设备2向设备3共享的数据为M1+M2+Y。最终,设备1从耗电读数的总和中减去Y并计算该设备群体的平均耗电量,再以相同的方式与每个设备共享该平均消耗量。
图2 AMI设备群体中的数据共享Fig.2 Data sharing in AMI device swarm
随后,基于直方图估计每个设备的概率分布p(mi),并根据式(2)与式(3)计算这T次读数的平均值μij与熵Hij,其中i为群体中的设备编号;j为群体编号。
(2)
Hij=-∑p(mi)log(p(mi))
(3)
并且,根据式(4)与式(5)可以计算群体的平均均值μcj与平均熵值Hcj,其中Nm表示群体j中设备的数量。
(4)
Hcj=-∑p(mci)log(p(mci))
(5)
根据式(6)计算δij,表示第i个设备与第j个群体的平均值的偏差。
(6)
基于上述结果,根据偏差是否超出阈值对设备进行标记,即:
(7)
式中C1是一个用于控制阈值大小的常数。最终,在所有群体上进行上述过程后,所有设备根据阈值都具有标记Fij。式(7)中的标记生成方式实际上对应于ACO算法中蚁群信息素的沉积[20-21]。
多次划分群体,根据Fij在不同群体中的值之和是否超出阈值,将设备状态S标记为正常或异常,即:
(8)
式中zi表示Fij在不同群体中的值之和;C2为阈值常数。S的值为1或0,分别表示设备状态为异常或正常。图3给出了基于矢量距离的异常检测方法的具体流程。
图3 基于矢量的异常检测方法流程图Fig.3 Flow chart of vector based anomaly detection method
3.2 基于置信度的方法(HBA)
(9)
如图4所示,对于随机生成的群体(实线圈内),收集器的读数无法直接使用。并且,在每个群体中都引入收集器来计算实际耗电量也是不实用的做法。
图4 随机生成的AMI群体Fig.4 Randomly formed swarms of AMI
针对这一问题,提出了虚拟收集器的方法,其中每个群体的平均耗电量基于式(10)近似地计算为:
(10)
(11)
(12)
写成矩阵形式即为:
(13)
将能耗矩阵P作LU分解为下三角矩阵L与上三角矩阵U,求解方程组式(14)即可得到每个设备的置信度值。
(14)
如图5所示,根据置信度值可以标记设备的状态,并判断是否异常。
3.3 基于KL散度的方法(KBA)
这一方法中,设备之间采用图2的策略进行安全的数据共享并以相同方式计算群体平均值。然后,根据每个设备的读数分布直方图与平均分布直方图计算两者之间的KL散度,即:
(15)
式中p(Mi)表示第i个设备的分布;p(Mavg)表示群体的平均分布。
如图6所示,根据以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
4 实验结果与分析
文中使用的数据集为NYISO数据集,包含25个智能电能表的读数记录[25]。通过使用虚假数据攻击测试所提出算法的检测效果。考虑的攻击形式包括常数、均匀分布与高斯分布的混合攻击。使用如检测召回率PD和误报率PF作为性能度量指标。
图7说明了阈值参数C2的选取对VBA算法两项指标的影响。当C2=0.6时,召回率达到0.93,而误报率为0.22,综合考虑效果最优。并且对另外两种异常检测方法也观察到相似的现象,因此C2在实验过程中始终取为0.6。
图7 阈值参数取值对检测召回率与误报率的影响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的效果最优,而KBA收敛最快。
以上的结果说明,随着迭代生成群体的次数增加,三种算法的性能都提升到了较高水平,即在检测召回率较高的前提下,充分降低了误报概率。实际场景下,影响算法性能的条件除了迭代次数外,还包括阈值的选择、群体的大小与攻击的强度等。
图9 基于置信度的方法检测效果Fig.9 Detection performance of honesty coefficient based algorithm
图10 基于KL散度的方法检测效果Fig.10 Detection performance of KL divergence based algorithm
5 结束语
基于集群智能提出三种异常检测算法,用于发现AMI网络中的异常设备。三种算法分别基于矢量距离、置信度与KL散度三种指标,用于度量AMI设备的状态与群体平均状态的差异大小,并根据阈值判断设备是否出现异常。真实数据集的实验表明,算法在具备高检测召回率的同时,充分降低了误报率,具有较高实用性。