当前位置:首页 期刊杂志

基于孤立森林法的电能计量数据异常检测方法

时间:2024-07-28

贾旭超,马 迅,刘安磊,魏 涛,王 勇

(国网河北省电力有限公司营销服务中心,河北 石家庄 050000)

0 引言

电能的准确计量是电力企业生产管理过程必不可少的一个重要环节,也是电力系统能够得以安全稳定运行的重要保障[1]。但是在实际电力工作中,采集到的用电数据常常存在一些异常数据,严重影响了电能的准确计量,长此以往对我国电力事业发展以及电网服务质量的提高也会产生不利影响。因此,研究一种可靠有效的电能计量数据异常检测方法非常必要[2]。

国内外学者研究了诸多有效的电能计量数据异常检测方法,肖勇等在基于深度信念网络与数据聚合模型的电能计量数据异常检测方法的研究中,利用一种新的异常模式检测框架对电能计量数据进行异常检测,在获得电能计量数据后,分别应用分布式数据模型与深度信念网络对电能计量数据执行聚合以及期望数据对比、标记等操作,最终完成电能计量数据异常检测[3];姜丹等在对基于大数据分析的电能计量数据异常检测方法的研究中,充分利用大数据技术的分析功能估计电能计量数据的最大似然值等信息,对不同时窗内的电能计量数据执行数据特征向量提取操作,并通过转移概率序列等一系列操作完成电能计量数据异常检测[4]。

上述方法均可实现电能计量数据异常检测,但是在对电能计量数据进行异常检测时,与其他传统的异常检测方法类似,过多关注正常电能计量数据的优化,忽略了对异常数据样本的描述优化,使电能计量数据异常检测时的误报率大大增加,降低数据异常检测的准确性与效率。孤立森林算法弥补了传统异常检测方法中的不足,在进行电能计量数据异常检测时,采取孤立异常点的方式完成。为此,本文提出基于孤立森林法的电能计量数据异常检测方法,可更高效、更准确完成电能计量数据异常检测,更好满足实际电能计量数据异常检测工作需要。

1 电能计量数据采集

准确采集用电信息和电能计量数据是实现电能计量数据异常检测的基础,对智能电网的建设也具有重要的意义[5]。本文利用一种智能化的电能计量数据采集系统实现电能计量数据采集,该系统可实时、安全、准确采集包括用电客户电量、用电负荷以及电流等在内的用户电能计量数据。电能计量数据采集逻辑架构见图1。

图1 电能计量数据采集逻辑架构

电能计量数据采集系统由数据采集设备层、网络通信层及主站层三部分组成。数据采集设备层的主要作用是为整个电能计量数据采集系统搜集与提供最原始的用户用电信息,采集终端可对各个电能表实行个性化设置。采集器的主要功能就是抄表,但它不同于传统的抄表行为,可实现电能表数据的动态性抄读。网络通信层是连接数据采集设备层与主站层的纽带,为数据采集设备层与主站层之间信息的交互提供可靠支撑[6]。一般来说,现场采集终端与表计之间的连接操作由本地信道负责执行,现场终端与主站系统间的连接以及数据传输操作由远程信道负责执行。主站层主要负责各种采集终端收集的用电信息的逻辑分析、协议解析,以及通信管理与控制等工作。

2 ACS-Kmeans电能计量数据聚类

电能计量数据采集系统采集到的数据中,会有诸多的重复冗余数据出现,增加电能计量数据分析与处理的复杂度与运算量[7-8],为了尽可能地降低电能计量数据分析与处理的复杂度与运算量,在电能计量数据采集完毕后,应用自适应布谷鸟搜索的并行K-means(ACS-Kmeans)聚类算法聚类电能计量数据。

若将电能计量数据样本向量的维数用e表示,将电能计量数据通过ACS-Kmeans数据聚类算法聚类成k种电能计量数据。那么在应用ACS-Kmeans聚类算法聚类电能计量数据的过程中,编码算法实际上就是对l组电能计量数据向量的坐标执行向量求解操作。编码算法中鸟巢的位置用电能计量数据的l个数据聚类中心表示,可表示成l×e矩阵。用公式可将此编码方式表述为

式中:t11t12…t1e为第1个电能计量数据聚类中心;t21t22…t2e为第2个电能计量数据聚类中心;t k1t k2…t ke为第k个电能计量数据聚类中心的e维向量。

电能计量数据样本类别的确认操作是通过欧几里得距离完成的[9]。将2个电能计量数据分别用x与y表示,则x、y的欧几里得距离可表述为

式中:t xi-t yi为电能计量数据x、y在第i个聚类内做差所得的数值;电能计量数据x满足1≤x≤l;电能计量数据y满足1≤y≤l。

在对电能计量数据进行数据聚类时,个体的优劣程度可以通过适应度值的大小反映出来。一般情况下,如果个体的适应度值比较高,那么个体性能也会呈现出比较优秀的状态[1011]。适应度函数一般通过聚类内距离以及聚类点的个数来反映,这样做对于适应度函数的求解有一定的优势,却也存在一定的不足,如在对适应度函数求解过程中可能会发生迭代次数以及个体的好坏程度不够理想的状况。针对这一问题,在利用ACSKmeans聚类算法对电能计量数据进行聚类时,将以往聚类算法中的适应度函数加以改进,将适应度调整为

式中:WN i为第i个聚类中电能计量数据样本点的个数;OSi为各个电能计量数据点与聚类中心之间距离,OSi=∑x∈y O xy(x=1,2,…,WN i;x≠y);当WN i以样本聚集的方式获得时,用F it( i)表示所有电能计量数据点到类中心的平均距离,也就是ACS-Kmeans聚类算法的适应度函数,对l个数据聚类的适应度值做求和操作,可以得到总适应度的值

式中:k为用电信息和电能计量数据种类。

根据以上对编程算法与适应度函数的表述,可将应用ACS-Kmeans聚类算法聚类电能计量数据的过程归结如下。

1)将应用ACS-Kmeans算法聚类电能计量数据时的最大迭代次数用Imax表示;发现概率用Pa表示;最大与最小步长分别用pmax与pmin表示;依次输入待聚类电能计量数据样本集与聚类数量、Imax、Pa、pmax与pmin并初始化鸟巢位置。

2)通过K-means聚类算法完成聚类划分,求解所有电能计量数据的最优鸟巢位置。

3)通过公式(3)与公式(4)求解全部鸟巢适应度与总适应度。

4)留取前次迭代鸟巢位置并对剩余鸟窝位置执行更新操作。

5)执行剩余鸟巢更新操作后,得到发现概率与随机数r,且满足r∈[0,1]。将r的值与Pa的值进行比较。当Pa

6)新鸟巢构建完成后,执行步骤2)、3)操作,比较新鸟巢与上代鸟巢的总适应度,若新鸟巢拥有更大的总适应度,则视该鸟巢组合为更新后鸟巢组合,否则执行步骤5)操作。

7)迭代次数达到最大,电能计量数据聚类结束,否则执行步骤4)。

3 孤立森林算法的数据异常检测

孤立森林算法因其在处理大数据问题时,具有高精度、高计算率以及低运算复杂度等优点,被广泛应用于各领域的数据异常检测工作中[1214]。在本文中应用孤立森林算法完成电能计量数据的异常检测,实质上是通过对电能计量数据中的异常数据点执行孤立操作的过程。

3.1 孤立森林构建

孤立森林算法适用于解决那些数据样本中异常数据很少,并且与正常数据样本区别显著的异常数据检测问题。在孤立森林算法中,正常数据与异常数据的分离是通过随机超平面完成的,对数据进行连续不断地分离操作,直到完成最后一个数据点的分离。通常来讲,在电能计量数据集中,正常与异常电能计量数据分别存在于高密度区域与低密度区域[15-16]。因此,正常的电能计量数据会被执行多次数据隔离分离操作,而异常数据会被执行较少次数数据隔离分离操作。具体的孤立森林构建步骤为。

1)随机选取φ个聚类获取的电能计量数据当作子样本集,视这些选取的电能计量数据为树的根节点。

2)任意设定一个阈值并把当前电能计量数据点当作基准,设定阈值允许范围内的随机值当作步长对电能计量数据执行相关地切割操作。

3)执行步骤2)中的切割操作后,形成的超平面将电能计量数据分离为2个子空间,以维度p为分节点,将大于该维度与小于该维度的电能计量数据分别放置于节点右侧与左侧。

4)重复执行步骤2)与步骤3),不断产生新的节点,直到电能计量数据无法再分割或者满足分割次数≥log2φ时,分割结束。

3.2 异常数据检测

用X表示电能计量训练数据,使其遍历所有随机二叉树iTree,分别对电能计量数据的最终深度、平均深度进行求解,将平均深度表示为z( x)。

归一化处理iTree深度,在各个iTree上执行电能计量数据检索操作,获得平均深度z(x)。被检电能计量数据样本x的异常分值用公式表示为

式中:F (x)为异常分值;ξ为欧拉常数。

式中:Z为φ-1个聚类获取的电信息电能计量数据的最终深度;c(φ)为φ个点二分搜索数的长度,则各节点深度取值约束条件为

式中:z (x)为电能计量数据x在iTree中的节点平均深度;E g[ ]为t个iTree中的节点深度均值。

用s表示电能计量数据的异常分值,当异常分值越靠近1,说明该电能计量数据越有可能是电能计量异常数据;当异常分值越靠近0,说明该电能计量数据越可能是正常电能计量数据;当几乎所有的电能计量数据异常数值均为0.5,则表示该电能计量数据无异常值。

4 实例分析

以2022年1月12日D 市某区1 028户居民用电过程中产生的电能计量数据为实验对象,应用本文方法对其进行异常检测,验证本文方法的有效性。实验中设置iTree的采样棵树为150。

表1是应用本文方法进行电能计量数据异常检测的结果。

表1 数据异常检测结果

从表1可以看出,应用本文方法可实现电能计量数据的异常检测,检测出的异常数据量与实际异常数据量完全相符合,并且根据所获异常数据能够诊断出出现异常数据的原因,可更好满足实际电力工作需要。

AUC(Area Under Curve)为不同类别的区分度,是反映电能计量数据异常检测效果的一个重要指标。通常情况下,AUC 的值越高,证明电能计量数据异常检测的效果就越好。因此,为验证本文方法在电能计量数据异常检测方面的优势,绘制在不同信噪比环境下,应用本文方法进行电能计量数据异常检测获得的AUC曲线,具体如图2所示。

图2 不同信噪比环境下AUC曲线

由图2可知,随着数据样本点数量的增加,应用本文方法进行电能计量数据异常检测时获得的AUC值也呈现出下降的趋势,但是下降趋势不明显,即使在数据样本点数量为500时,AUC的值也很高,并且在不同信噪比环境下的AUC曲线也非常接近。实验证明即使在数据样本点数量较多与噪声较大的环境下,应用本文方法对电能计量数据进行异常检测也可获得较好的异常检测效果。

异常分数值是判断电能计量数据是否为异常数据的重要依据。图3是分别应用本文方法与基于深度信念网络与数据聚合模型的电能计量数据异常检测方法[3]、基于大数据分析的电能计量数据异常检测方法[4]对采集到的电能计量数据进行异常检测获得的平均异常分数分布图。

图3 不同方法平均异常分数分布

由图3可知,应用本文方法对电能计量数据进行异常检测时,平均异常分数值在0.9 附近波动;而应用文献[3]与文献[4]方法在进行电能计量数据异常检测时,平均异常分数值在0.7 左右波动。实验证明本文方法对异常电能计量数据的检测能力要强于其他2种方法,可更好满足实际工作需要。

AUC方差的大小可以反映孤立森林算法的稳定性。图4是应用本文方法在不同AUC 方差下对电能计量数据进行异常数据检测,每秒钟检测的电能计量数据量。

图4 每秒钟检测数据量

由图4可知,随着AUC方差的不断增大,不同实验次数下每秒检测的电能计量数据量有所下降,但是下降幅度十分小。说明:应用本文方法对电能计量数据进行异常检测时,即使在孤立森林性能不是十分稳定的情况下,也具有较高的检测效率,在实际的电能计量数据异常检测工作中更具优势。

5 结论

本文提出基于孤立森林法的电能计量数据异常检测方法,使用自适应布谷鸟搜索的并行Kmeans数据聚类算法获取有价值电能计量数据,构造包含若干随机二叉树的孤立森林,遍历所有随机二叉树的电能计量数据后,依次执行平均深度计算、异常分值求解以及异常分值比较等操作,完成电能计量数据异常检测。采用本文方法对电能计量数据进行异常检测时,平均异常分数值在0.9附近波动,优于文献[3]、文献[4]方法平均异常分数值;随着AUC方差的不断增大,不同实验次数下每秒检测的电能计量数据量下降幅度十分小。本文方法可有效检测电能计量数据的异常状况,满足实际电能计量数据异常检测工作需要,在对电能计量数据进行异常检测时可实现电能计量数据的异常检测,检测出的异常数据量与实际异常数据量完全符合,并根据所获异常数据能够诊断出出现异常数据的原因,提升电能计量数据异常检测的效率与准确性,可更好满足实际电力工作需要。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!