基于特征选择和改进K-均值聚类的异常用电行为检测算法
2023-12-27杨利辛黄晓波李凯
杨利辛,黄晓波,李凯
(1.南方电网能源发展研究院有限公司,广东 广州 510000; 2.南方电网数字电网集团有限公司, 广东 广州 510000;3.广东电网有限责任公司,广东 广州 510000)
窃电等异常用电行为是造成电力系统非技术性损失的主要原因,给电网的安全、稳定和可靠运行带来严重威胁。传统异常用电行为检测采用人工巡检方式,需要消耗大量的人力物力资源,已不能满足实际需求[1]。近年来,随着我国智慧电网的建设和发展,电力公司在发电、输电、配电和用电端安装和部署了大量的智能电表等数据采集传感器,这些传感器可以按每天数十次的频率采集和记录电力系统各个环节的相关数据,这些数据中隐含着不同用户用电行为信息,也为异常用电行为检测提供了间接的“证据”[2],如何对这些信息进行有效挖掘利用,从而快速、准确地定位异常用电行为,是电力企业亟待解决的一个难题,也是当前研究的热点[3-5]。
目前基于数据驱动的异常用电行为检测方法总结起来可以分为有监督类方法和无监督类方法2类[6],两者的主要差异在于是否需要带标签的数据集用于模型训练,其中有监督类方法以支持向量机(Support Vector Machine, SVM)、随机森林和卷积神经网络等方法为代表,利用带标签数据集完成最优模型参数的学习,进而利用最优模型对未知用户用电行为进行异常判决[7-9]。文献[10]提出一种基于SVM的异常用电行为检测模型,为了提升检测性能,利用决策树对SVM核函数进行优化,基于某台区电力用户真实用电数据验证了该方法的有效性;文献[11]将随机森林算法应用于异常用电行为检测领域,并构建Hadoop分布式计算框架以提升算法实时性;文献[12]利用卷积神经网络挖掘电力用户用电量序列中的时间相关性信息,并建立分类模型实现对正常和异常用电行为的分类判决。上述有监督异常用电检测模型由于用到了带标签训练样本集,通常能够获得较高的异常检测性能,然而根据生产生活经验可知,海量电力用户中异常用户占比很低,通常难以获得足够多异常用电行为对应的训练样本,限制了该类方法在实际中的应用[13]。无监督类方法不需要训练样本,基于相似性原理对数据进行自动划分聚类,大多数正常用电数据会表现出一定的聚集性,而异常用电数据通常会以离群点的形式存在,无监督类方法以K-均值聚类,基于密度的带噪声空间聚类(Density-Based Spatial Clustering of Application with Noise, DBSCAN)等方法为代表,文献[14]采用K-均值聚类对电力用户用电量特征进行聚类分析,针对真实数据获得了优于85%的异常用电行为检测查准率;文献[15]针对异常用电行为在线实时检测需求,利用DBSCAN方法对用电趋势特征进行实时聚类分析,最终获得了优于87.5%的检测正确率。无监督类方法不需要带标签训练数据,大大降低了数据获取难度,且具有算法简单容易实现等优点,缺点是聚类性能对模型参数具有较强的依赖性,而参数选取往往并非易事[16,17]。
在此基础上,提出了一种基于特征选择和改进K-均值聚类的无监督异常用电行为检测模型,首先从用电量变化,线路损耗和电力参数三个维度提取15维特征构成特征向量,实现高维用电数据的降维表征,然后利用相关向量机(Relevance Vector Machine, RVM)进行特征选择自动确定最优特征集合,同时进一步实现数据降维,最后提出一种基于信息增益的改进K-均值聚类算法对最优特征集合进行聚类分析,实现异常用电检测。相对于传统K-均值,所提方法能够自动确定聚类个数和初始聚类中心,从而提升聚类性能。基于爱尔兰智能电表公开数据集开展实验,并从精准率、召回率和ROC曲线AUC值三方面对所提方法的性能进行定量分析。
1 用电行为的特征表示
1.1 特征提取
智慧电网背景下,电力企业利用线路参数采集设备和智能电表等电能计量设备获得输电线路侧和用电侧的海量数据,这些数据中隐含着与用电行为相关的有用信息,同时也不可避免地会存在大量噪声、干扰等无用信息,要从海量高维数据中挖掘出有用信息,实现去伪存真,特征提取是关键[18]。特征提取是指从原始高维数据中抽象凝练出一些能够表征异常行为的特征参数,这些特征是原始数据的一种降维表征,能够较好地描述不同用电行为之间的差异性,大大降低后续数据处理的难度。
通过对大量正常和异常用电行为数据进行分析,发现正常用户的用电量变化曲线存在一定周期性,并且线路损耗和电压电流值较为平稳,而异常用电行为的用电量通常表现出逐渐下降的趋势,同时线路损耗值较大,电压电流也会出现较大波动,因此从用电量变化趋势、线路损耗和电压电流波动三个方面提取表1所示15维特征构成特征向量。
表1 特征向量组成
1.2 基于RVM的特征选择
按照传统的异常检测模型,特征提取完成后需要进行分类器设计从而实现对不同用电行为的分类判决。然而,当前的特征提取过程与分类器设计过程是相互独立的,特征提取过程并没有考虑所提特征对于分类器而言是否最优,并且主观提取的特征通常含有较多冗余信息,这些信息不仅对异常用电检测没有帮助,反而会误导分类器训练,因此有必要进行特征选择,从特征向量中确定最优特征集合,从而提升分类性能。RVM是在SVM基础上发展起来的一种基于贝叶斯框架的概率模型,相对于SVM具有更强的稀疏性,能够实现特征选择与分类器设计的联合优化,因此本文选择RVM对上述15维特征进行进一步分析,以获得最优特征集合。利用RVM进行特征选择的模型可以表示为:
(1)
其中,fm为第m个电力用户对应的特征向量,K(f,fm)为核函数,w=[w1,w2,…,wm)]T为权向量,ε为数据中的噪声成分,为了构建完整的贝叶斯模型,分别对权向量和噪声成分进行概率模型设计,合理的概率模型为高斯分布[19],即w服从均值为零,协方差矩阵为α-1I的高斯分布,ε服从均值为零,协方差矩阵为γ-1I的高斯分布。
2 异常用电行为检测模型
K-均值聚类是一种经典的基于划分的聚类方法,被广泛应用于异常检测领域。然而,传统K-均值的聚类性能与聚类数目K和初始聚类中心的设置密切相关,目前常用的基于专家知识库或先验信息的方法存在主观性强且适应性差的问题。为了解决该问题,本文提出一种基于信息增益确定最优聚类个数的方法,同时考虑到K-均值是以欧式距离远近作为聚类划分准则的方法,选取空间密度最大的K个样本作为初始聚类中心,通过信息增益和样本空间密度的方式自动确定K-均值聚类的聚类个数和初始聚类中心,从而提升聚类性能。
所提改进K-均值聚类涉及的相关概念为:
定义1:特征空间的信息熵
(2)
定义2:聚类后第k个子类的信息熵
根据式(2)给出的样本空间信息熵定义,可以进一步得到聚类后第k个子类的信息熵为:
(3)
其中,Ck为第k个子类对应的特征序号集合。
定义3:聚类后的信息增益
假设聚类后得到K个子类,则该聚类对应的信息增益定义为:
定义4:样本xn的空间密度dist(xn)
(5)
其中,‖·‖l2表示求变量的l2范数。
在上述定义的基础上,所提改进K-均值聚类的具体算法流程可以总结为:
输出:聚类结果和异常检测结果。
算法流程:
设置聚类个数k=1,
步骤2:根据式(3)计算得到聚类个数为k情况下的信息熵Ek;
步骤3:根据式(4)计算得到此时的信息增益Ik,并将其记录;
步骤4:令k=k+1,重复步骤1~步骤3,指导k=Kmax;
步骤5:选择步骤3记录的所有信息增益的最大值对应的k作为最优聚类个数K;
步骤6:选取空间密度最大的K个特征作为初始聚类中心;
步骤7:将特征空间中非聚类中心特征按照欧式距离的划分至与其距离最近的聚类中;
步骤8:按式(6)计算得到新的聚类中心
(6)
其中,nk为第k个子集中的特征个数。
步骤9:根据步骤8得到新聚类中心对特征空间进行重新划分,若相邻两次划分得到的结果一致,则认为算法收敛,否则重复步骤7和步骤8。
3 实验结果与分析
3.1 实验数据
本部分内容中,采用爱尔兰智能电表记录的公开数据集开展验证实验,对所提方法的异常检测性能进行验证,该数据集来源于爱尔兰Commission for Energy Regulation,本意是为智能电网研究提供相应的数据支撑,也是目前异常用电行为检测领域应用最广的数据集,该数据集的使用方式和下载地址见[21]。该数据集包括534个电力用户536天的用电量数据,其中正常用户数量为521,异常用户数量为13,数据记录频率为30 min一次,异常用户已被提前标准,由于本文方法为无监督方法,所以异常用户标签仅用于模型评估,不在检测过程中使用。
采用精准率(Precision),召回率(Recall)和接收机工作特性曲线(Receiver Operating Characteristic, ROC)对应的AUC值三项指标定量评估所提模型的异常检测性能,其中精准率和召回率的定义为:
(7)
其中,TP表示将异常用户检测为异常用户的样本数量,TN表示将正常用户检测为正常用户的样本数量,FP表示异常用户检测为正常用户的样本数量,FN表示将正常用户检测为异常用户的样本数量。
ROC曲线是以虚警概率和检测概率为横纵坐标绘制而成的一条用于评估分类模型性能的曲线,通常用ROC曲线与直线y=1之间区域的面积值AUC作为ROC曲线的量化指标,AUC值越大,表明分类模型性能越好。
3.2 实验结果与分析
图1 RVM特征选择结果
获得最优特征集合后,将其作为改进K-均值聚类的输入进行自动聚类分析,实验中设置最大聚类个数Kmax=8,根据改进K-均值聚类步骤进行聚类分析得到的信息增益随聚类个数k的变化曲线如图2所示,可以看出,当k=3时,信息增益最大,即最优聚类个数K=3。图3(a)给出了所提方法得到的最终聚类结果,为了对比图3(b)给出了传统K-均值聚类得到聚类结果,可以看出所提方法获得的聚类结果呈现出较好的聚集性,类内数据分布较为集中,类间数据分布较为疏远,聚类结果较为理想,同时类别3即所提方法获得异常用电行为聚类,而传统K-均值聚类结果获得的最优聚类数为K=4,将图3(a)中的聚类1又分为了3个子类,但是将图3(a)中聚类2和聚类3划分为同一个子类,该聚类结果无法直接进行异常用电行为检测,需要联合其他手段才能实现对聚类3中异常用电行为的定位,增加了模型的复杂度。
图2 信息增益随聚类个数变化
(a)所提改进K-均值聚类
(b)传统K-均值聚类
图4给出了所提方法的ROC曲线,同时为了对比,图4中给出了在相同条件下采用文献[15]所提方法得到的异常检测结果,可以看出在同一个坐标系内,所提方法的ROC曲线位于文献[15]提出方法的左上方,与直线y=1围成的面积更大、性能更优。表3给出了两种方法的精准率、召回率和AUC值三项指标,可以看出,本文所提方法的精准率,召回率和AUC值三项指标均优于文献[15]方法,精准率提升3.58%,召回率提升2.77%,AUC值提升3.75%,具有更优的异常检测性能。
除了上述精准率、召回率和AUC值三项指标外,复杂度和实时性也是评估异常检测算法性能的一个重要方面,表3中最后一列给出了所提方法和文献[15]方法完成异常检测所需的时间对比结果,可以看出所提方法在获得更优异常检测性能的同时,实时性也略优于文献[15]方法,究其原因在于,所提方法通过特征选择流程实现了数据降维,有效降低了后续异常检测算法的复杂度,提升了实时性。
表3 不同方法异常检测结果
图4 不同方法ROC曲线
4 结 论
K-均值聚类算法具有算法简单、容易实现、不需要训练数据集等优点,被广泛应用于异常用电检测领域。K-均值聚类性能受最优聚类个数和初始聚类中心的选择影响较大。针对该问题,提出了一种基于RVM特征选择和改进K-均值聚类的异常用电行为检测算法。利用RVM对提取的15维用电量变化、线路损耗和电力参数特征进行自动特征选择,确定2维最优特征向量,然后利用改进的K-均值聚类进行聚类实现异常检测,改进后的K-均值聚类算法利用信息增益和样本的空间密度自动确定最优聚类个数和初始聚类中心,能够有效提升聚类性能。基于爱尔兰公开数据集的实验结果表明,所提方法的精准率、召回率和AUC值三项指标均优于对比方法。