基于改进SVM的电力用户异常用电行为检测方法研究
2022-12-17张丽娟保富
张丽娟 ,保富
(云南电网有限责任公司信息中心,昆明 650217)
0 引 言
随着我国双碳目标的提出,智能电网朝着智能碳减技术发展[1]。同时,一些用户存在窃电行为,严重影响了电力企业的效益和供电质量,危及电网安全。据不完全统计,这一行为导致电力企业每年损失约为200亿元[2]。因此,充分利用海量的用电数据,及时发现这一行为,对智能电网的发展具有重要意义。
目前,国内外对用户异常用电行为的检测主要集中在设备检测和数据分析两个方面。文中主要研究数据分析方法[3-4]。在文献[5]中,提出了一种结合Bagging二次加权集成和孤立森林的异常用电检测算法。结果表明,该方法的孤立特征序列优化策略能有效改善无标签和类不平衡情况下异常用电的检测效果,二次加权集成策略能有效提高不平衡数据分布的检测效果。在文献[6]中,提出了一种用于电力用户异常用电行为检测的改进支持向量机。结果表明。所提方法可以有效地检测电力用户的异常用电行为,可以较好地挖掘用户用电规律。在文献[7]中,提出了一种用于电力用户异常用电行为检测的双向长短时记忆神经网络。结果表明,与传统的异常检测方法相比,该方法具有良好的检测性能,在实际应用中具有较高的精度和稳定性。在文献[8]中,将改进的极限学习机用于电力用户异常用电行为检测。结果表明,该方法能够有效地检测异常用电行为,更好地挖掘异常用电的特征。然而,上述方法对电力用户异常检测的准确性还不够高,检测的准确性还需要进一步提高。
基于上述研究,提出了一种改进的蚁狮优化(Ant Loin Optimization, ALO)算法结合改进的支持向量机(SupportVectorMachine,SVM)来检测电力用户的异常用电行为。采用改进的ALO算法对改进的SVM参数(惩罚因子和高斯径向基函数参数)进行优化,并用改进的SVM对其逐一分类。通过试验验证了该方法的优越性。
1 异常用电行为概述
随着智能配电网和测量系统的不断发展,配电网的电力数据逐渐呈现出数据量大、类型多、增长快的特点[9]。然而,受设备故障、通信故障、电网波动等因素的影响,这些数据中含有大量异常用电数据[10]。常见的异常用电行为如下:
(1)欠压法。
改变电能表电压回路接线或破坏回路,导致电能表电压丢失或接收到的电压降低,导致电量降低[11]。
(2)欠流法。
改变电能表电流回路的接线或破坏回路,导致电能表无电流或一部分电流,从而减少电能计量[12]。
(3)移相法。
通过多种方式改变电度表的正常接线方式,或者通过连接与正常测量无关的电流和电压,并使用特定的电感或电容连接方式来改变正常的相位关系,从而电能表少计或倒计[13]。
(4)扩差法。
通过多种手段改变电能表内部结构和性能,改变误差,通过电流或机械力损坏电能表,使电能表少计或不计[14]。
2 异常用电检测方法
2.1 数据预处理技术
(1) 缺失值处理技术。
部分电力负荷数据电存在为零或为空现象,影响用电数据分析[15]。文中通过拉格朗日插值法对这些数据进行补充。
提取缺失点前后各5个数据,采用式(1)和式(2)进行补充[16],即:
(1)
li(r)=
(2)
式中r为缺失负荷数据对应的下标序列号;ri为非缺失数据yi的下标序列号;Ln(r)为补充数据;li(r)为拉格朗日多项式。
(2) 数据归一化。
因为各数据特征的比例不一样,有必要对数据进行标准化。数据归一化处理如式(3)所示[17]:
(3)
式中x和x′分别为原始负荷数据的实际值和归一化数据;xmax和xmin分别为原始负荷数据的最大值和最小值。
2.2 改进支持向量机
SVM是文献[18]提出的一种机器学习方法,用于解决小样本和非线性问题。其基本思想是在线性可分的条件下,找到完全分离两个样本的最优超平面[19]。对于非线性问题,利用该方法将其转化为线性可分问题。
异常电检测的样本数据是杂乱无章的,具有非线性和不可分割性。对于线性可分样本,用式(4)的约束条件求解最优超平面[20]。
(4)
式中C为控制误差的惩罚程度;ξi为松弛变量;ω为权重向量;b为偏置;yi是介于[-1,1]之间的输出类别。
引入拉格朗日乘数αi,将式(4)转化为对偶问题,如式(5)所示[21]:
(5)
可以得到带边界的最优分类超平面,如式(6)所示:
(6)
式中m为支持向量的数量;K(x,xi)为核函数(使用RBF核函数)。
传统的SVM仅适用于二分类,文中研究的异常用电数据是一个多分类问题。如果将SVM应用于多分类问题,则需要对其进行优化并扩展到多分类SVM[22]。文中提出了一种基于二叉树的多级SVM分类器来检测异常用电数据。
二叉树SVM多级分类算法是二叉树和SVM相结合。该算法的思想是将所有样本类别划分为两个子类别,再将子类别划分为两个子类别[23]。这种循环一直持续到只剩下一个类别为止。然后在每个非叶节点上训练SVM分类器。异常电检测方法的结构如图1所示。
图1 异常用电检测方法结构
2.3 改进蚁狮算法
ALO算法是一种模拟蚁狮捕食蚂蚁过程的智能优化算法,具有较好全局优化能力,但存在收敛速度慢和局部优化等问题[24]。针对以上问题,文中进行了两方面的改进。采用边界收缩系数和位置更新动态加权系数。边界收缩系数使得求解空间搜索更加全面,提高了收敛速度。位置更新的动态权重系数防止了算法陷入局部优化。改进算法的步骤如下:
步骤 1:初始化蚁狮和蚁群的初始方向,设定两个种群的数量都为N,利用适应度函数求出各蚁狮的适应度。适应度大的被定义为精蚁狮;
步骤2:蚂蚁在搜索空间中随机行走,位置如式(7)所示:
X(t)={0,cumsum[2r(t1)-1],…,cumsum[
2r(t2)-1],...,cumsum[2r(tmax)-1]}
(7)
式中cumsum为累计位置数;t为当前的迭代次数;tmax为最大迭代次数;r(t)为0或1的随机数;
步骤3:蚁狮设下陷阱捕捉蚂蚁。聪明的蚁狮会不断缩小蚂蚁行走的空间,让蚂蚁只能靠近陷阱。在迭代的过程中,蚂蚁能够行走的区域越来越小。文中提出了边界收缩系数,会随着算法迭代快速持续增加,蚂蚁行走的边界更新方法如式(8)所示[25]:
(8)
式中dt和ct为t次循环后蚂蚁方向变化的上下限;γ为收缩调整系数;λ为比例因子;
步骤4:根据适应度选择新的精英蚁狮,根据新选择的蚁狮重建陷阱。其定义如式(9)所示[26]:
(9)
蚂蚁一般更喜欢在精英蚁狮周围行走,这削弱了普通蚁狮的作用,使其更容易受到局部优化的影响,如式(10)所示:
(10)
为了解决上述问题,文中引入了位置更新的动态加权系数,如式(11)所示[27]:
(11)
式中rand为0~1之间的随机数;ω1和ω2为权重因子,ω1取值范围为[0.1,2)。在迭代开始时,ω1值较大,越靠近普通蚁狮。此时,算法进行全局搜索。经过多次迭代,ω2值将逐渐增加。此时,越靠近精英蚁狮,发挥其局部优化能力;
步骤5:确定是否满足迭代终止要求。满足则退出,否则返回步骤2。
2.4 检测方法
文中的数据量非常大,仅采用二叉树SVM多级分类检测时间非常长。文中利用改进的ALO算法优化了改进的SVM参数,缩短了训练时间,提高了检测精度[28]。步骤如下:
步骤1:初始化ALO算法和SVM的参数;
步骤2:使用改进的ALO算法优化改进的SVM参数;
步骤3:计算蚂蚁和蚁狮的适应度,并保留精英蚁狮;
步骤4:找到最优的蚁狮,计算它的适合度和位置;
步骤5:确定是否满足终止要求。满足则退出,否则转至步骤3;
步骤6:完成优化,得到最优参数(C,g),并用最优参数建立模型;
步骤7:将测试集输入模型进行分类,并输出分类结果。
文中所提方法的流程如图2所示。
图2 算法流程
3 试验结果与分析
3.1 试验参数
为了测试文中用户异常检测方法的性能,仿真设备为华为PC,第11代核心i7 CPU,主频为2.5 GHz,内存为16 GB,仿真平台为用于数据分析的仿真软件。文中利用某电力公司发布的2019年~2020年连续450天(采样频率1 h)共3 000个用户用电量数据。从3 000个用户中选择1 200个用户作为窃电用户,对其数据进行替换。即,将普通用户数据转换为窃听用户,模拟4种实际窃电方法(欠流法1、欠流法2、移相法3、扩差法4),每种情况300个用户。ALO算法的参数设置如下:蚂蚁和蚁狮种群各为 40,最大迭代次数为100、收缩调整系数为400、比例因子为20。权值系数ω1的取值范围为[0.1,2);SVM参数:参数C和g取值范围分别为(0, 10]和(0, 1]。
3.2 试验分析
应根据以下四种窃电方法之一修改选定的每周用电量记录,修改后将正常用户数据与窃电后数据混合,分为训练集和测试集,训练集:测试集=2:1。如图3所示正常数据曲线和转换后的窃电数据曲线对比。
图3 不同窃电方式的用电数据
在图3中,图3(a)是第一种窃电方式欠压法窃电前后数据。其原理是将用户的原始用电数据乘以0.1~0.8的固定系数。与正常曲线幅度相比,窃电曲线各点的下降振幅相同。图3(b)是第二种窃电方式欠流法窃电前后数据。其原理是将用户的某一部分用电数据置0。与正常曲线振幅相比,窃电曲线除某一段为0外,其余各点幅度相同,通过开关切除电能表的计量电流。图3(c)是第三种窃电方式移相法窃电前后数据。其原理是将用户的原始用电数据各点随机乘以系数0.1~0.8。与正常曲线振幅相比,窃电曲线各点的下降幅度不同。图3(d)是第四种窃电方式扩差法窃电前后数据。其原理是将用户用电的平均值乘以系数0.1~0.8。与正常曲线振幅相比,窃电曲线的幅度变化各不相同。
为了验证文中所提用户异常用电行为检测方法的优越性,将该方法与传统的DT-SVM和PSO-SVM检测方法进行了比较分析。通过训练集对DT-SVM和PSO-SVM和文中方法进行训练,并在测试集中测试不同方法的分类效果。其结果如图4所示。
图4 不同检测方法检测结果对比
在图4中,用户分为正常用户、窃电用户1、窃电用户2、窃电用户3和窃电用户4,分别用0、1、2、3和4表示。从图4可以看出,文中所提方法的检测效果优于DT-SVM方法和PSO-SVM方法。
为了测试该方法的准确性,对不同的方法进行了20次测试取平均值。表1为用电数据的测试结果。
表1 不同方法的检测结果
从表1可以看出,文中所提方法在检测异常用户行为方面具有最高的检测精度,达到98.4%,优于DT-SVM检测方法12.2%,优于PSO-SVM检测方法8.3%。同时,所提方法的训练时间也最短,提高了训练效率。训练时间为18.12 s,优于DT-SVM检测方法33.97 s,优于PSO-SVM检测方法26.00 s。验证了文中所提方法的优越性。
4 结束语
提出了一种将改进SVM和改进ALO算法相结合用于检测电力用户异常用电行为。利用改进的ALO算法对改进SVM的参数进行了优化,并通过改进后的SVM进行逐一分类。结果表明,与 DT-SVM和PSO-SVM检测方法相比,该方法能更有效地检测电力用户的异常用电行为,提高检测精度和降低训练时间。检测准确率优于DT-SVM检测方法12.2%,优于PSO-SVM检测方法8.3%,达到98.4%,平均训练时间优于DT-SVM检测方法33.97 s,优于PSO-SVM检测方法26.00 s,达到18.12 s。但仍有不足之处和改进提升的空间。根据现有数据,如何实时检测用户用电数据的异常,从根本上杜绝用户窃电,下一步的工作重点是不断提高和完善所提方法的性能。