基于NWPSOBP神经网络的异常用电行为检测算法

2020-09-02 14:27李晋国丁朋鹏王亮亮周绍景吕欢欢
上海电力大学学报 2020年4期
关键词:用电粒子神经网络

李晋国, 丁朋鹏, 王亮亮, 周绍景, 吕欢欢

(上海电力大学 计算机科学与技术学院, 上海 200090)

电能的损耗分为技术损失和非技术损失。在电力输送给用户的过程中必须经过输电、变电和配电设备,这些器件中存在电阻,少量的电能会以热能的形式耗散,属于技术损失。非技术损失是指用户异常用电行为,如窃电、仪表故障、测量误差等原因造成的未经智能计量装置计算的电量之和,非技术损失对配电网的优化运行和管理、提高成本和降低电能质量具有很大的影响[1]。电力非技术损失定义为消费者或其他方恶意操纵篡改或者无意损坏测量装置而导致的未计算电量的总和。

用户异常用电行为是导致电力非技术损失的主要部分。一种常见的异常用电行为是绕过仪表,将用户电源直接连接到低压电网上,如果连接不正确可能非常危险;另一种是篡改安装在室内的电表位置,缩短电表末端连接,确保流入屋内的电流不通过电表,使电表记录的使用量非常低。这种情况下的电力欺诈消费甚至达到了预计消耗量的50%。全世界每年由于用户异常用电行为而损失的成本超过了250亿美元[2]。因此,有效的异常用电行为检测方法对于保护电力至关重要。本文的研究目的是在已知用户是否存在窃电的情况下,对大量用户历史用电数据进行分析。通过提取特征指标建立异常用电行为检测模型,由此识别出存在异常用电行为的用户。供电公司只需重点稽查被标示为异常用电的用户,就可以提高稽查准确率,节省时间和人力,减少并挽回因窃电导致的经济损失。

1 相关工作

近年来,智能电网的出现使得电网运行控制更加灵活经济。但目前存在的一些异常用电行为,扰乱了电网的正常调度,甚至引发安全事故,已引起学术界和工业界的广泛关注。各种异常用电行为的检测技术层出不穷[3]。已有的研究可以分为传统方案和智能方案。

传统方案大多是基于硬件设备和测量状态进行检测的。基于硬件的解决方案使用特定的计量设备和基础设施,例如具有防窃电功能的电表,以便轻松检测到是否存在异常用电行为,但存在成本高、恶劣的天气容易损伤硬件设备且维护设备和更换设备电池困难等[4]。基于状态的检测方法利用电力系统中的监视状态来识别电力系统中的欺诈[5]。例如,文献[6]提出了一种基于状态估计的方法,用于配电变压器负载估计,以检测是否发生故障和篡改并作为提供异常用电行为的定量证据。文献[7]提出了一种加权轮询综合分布状态估计,用于中压和低压网络中的异常用电和能源盗窃检测。然而,基于状态的检测方法需要部署网络拓扑结构和额外的仪表,并且大多数基于状态的方法依赖于系统网络拓扑的实时获取和附加的物理测量,有时是无法实现的。

人工智能的方案主要是利用分类、聚类等机器学习技术分析用户的用电行为特征来发现异常用电用户。机器学习技术主要可以分为监督学习和无监督学习。无监督学习应用于无标签的数据集。文献[8]测试了不同的无监督学习方法用于异常用电行为检测,但是无法检测到形状正常的载荷剖面,导致检测精度较低。在有监督学习方法中,支持向量机(Support Vector Machine,SVM)是比较常用的检测方法[9]。朴素贝叶斯和决策树分类方法也应用于异常用电行为检测中[10],然而它们只是一个简单的概率分类器,在处理复杂数据时具有一定的局限性。将人工神经网络应用于异常用电行为检测,可以很好地提取大量数据中的特征,取得较好的检测效果[11]。在神经网络反向传播(Back Propagation,BP)中采用的是梯度下降优化算法,当神经元数量增多时,需要优化的目标误差函数变得更为复杂,导致误差收敛时间变长,因此亟需改善神经网络的参数优化过程,提高训练速度。基于上述问题,本文提出了基于改进的非线性权重调整粒子群优化算法优化BP神经网络(Nonlinear Weight Particle Swarm Optimization Algorithm BP,NWPSO-BP)的用电异常行为检测算法。PSO是一种求最优化问题的计算方法,能够模拟群体的行为以迭代方式优化数值问题,将改进的NWPSO算法应用于BP神经网络训练中,相比梯度下降算法具有更快的收敛速度并且避免了易陷入局部最优解的缺点[12]。算法流程如图1所示。

图1 算法流程

其主要分为两个部分。

(1) 建立用于模型训练的异常用电行为检测评价指标体系,对原始数据进行预处理,对缺失值进行插值处理,对量纲不同的数值进行归一化和标准化处理。从经过预处理的数据中进行特征工程,即使用从原始数据中提取的异常用电行为特征。利用特征选择方法得到最佳特征来建立异常用电行为评价指标体系。

(2) 提出基于NWPSO-BP神经网络算法的异常用电行为检测算法。采用BP神经网络作为基本模型结构,将异常用电行为检测评价指标作为模型的输入。其中包含了消费同比下降指标、功率损耗率指标和计量监测报警次数指标。将改进的NWPSO算法应用于BP神经网络权重参数优化,最后在输出层输出异常用电行为检测结果。

2 异常用电行为检测评价指标体系

基于机器学习的异常用电行为检测方法通常不仅使用原始用电数据,而且更多的是进行特征工程,根据特征列表和所用到的检测算法,可以使用一些特征选择方法定义一组最佳特征来训练检测算法[12]。本文使用的异常用电行为评价指标体系如表1所示。

表1 异常用电行为检测评价指标体系

2.1 消费同比下降指标

消费同比下降指标是指根据消费者的历史用电负荷曲线分析得出消费者大致的用电规律。图2为一正常用户与一异常用户的一个月用电趋势对比。

图2 正常用户与异常用电用户负荷直线拟合斜率对比

对正常用电用户和存在异常用电行为的用户的用电数据进行周期性分析可以发现,正常用户的用电量一直较为平稳且呈现明显的周期性,而异常用电用户的用电量在某个时刻出现很大幅度的下降,然后在一定时间开始趋于很低的平缓趋势。因此,只要对出现下降趋势的前后几天进行统计,考虑这前后几天的总体趋势,将这些用电量数据做一个直线拟合,得到的直线斜率可以衡量下降趋势,如果直线的斜率随时间推移呈不断下降的趋势,那么此用户存在异常用电行为的可能性就越大。

图3表示的是随时间推移的负荷直线拟合斜率,即消费同比下降趋势。由图3可以很明显看出此直线的斜率正逐步下降。

图3 正常用户与异常用电用户负荷直线拟合斜率对比

以此方法将第i天的前后a天作为分析对象,计算总共2a+1天的消费同比下降趋势情况:首先分别计算这2a+1天每天的消费趋势情况,其中第i天的消费趋势都是要考虑这前后分别a天的用电量直线斜率,即

(1)

(2)

(3)

式中:ki——第i天的消费趋势;

fb——第b天的用电量。

如果消费趋势一直下降,就判定此用户有一定的异常用电行为嫌疑,计算这2a+1天内每天比前一天的递减消费趋势,即

(4)

式中:N(i)——第i天是否为递减消费趋势。

将2a+1天内消费下降趋势为递减的天数求和,可以得到消费同比下降指标T,即

(5)

2.2 功率损耗率指标

(6)

(7)

2.3 计量监测报警指标

用户的异常用电行为还可能使终端主动上报相应的告警信息,如计量柜、电能表或端子盖的非授权开启,检测电压回路的失压欠压、失流断流相序,电流反极性,瞬时量曲线突变等告警信息,因此可以将计量监测的报警次数作为评价异常用电行为检测的一项指标。

3 基于NWPSOBP神经网络的异常用电行为检测算法

3.1 BP神经网络

BP神经网络模型结构如图4所示。

图4 BP神经网络模型结构

BP神经网络是一个大型的广泛网络,其中连接了许多处理单元(神经元)。它是对人脑的抽象、简化和仿真,反映了人脑的基本特征。通常,神经网络是多层的网络拓扑结构,包括输入层、隐藏层和输出层。BP神经网络的训练是权值和偏差的不断调整更新,使得输出值与目标值趋于一致的过程。

将上述建立的异常用电行为检测评价指标作为训练模型的输入,经过BP神经网络的训练,最后可以得出检测结果。

3.2 粒子群优化算法

粒子群优化算法(PSO)是一种群体智能指导优化搜索算法,具有较强的通用性[13]。PSO初始化为随机粒子,通过迭代得到最优解,在每一次迭代中,粒子通过个体最优解和全局最优解两个极值来更新自己。

PSO的粒子位置迭代更新示意图如图5所示。

图5 粒子位置更新示意

假设在一个D维的目标搜索空间中,有m个粒子组成一个群体,其中第i个粒子的位置表示为向量xi=(xi1,xi2,xi3,…,xiD),其中i=1,2,3,…,m,粒子的速度也是一个D维的向量,表示为vi=(vi1,vi2,vi3,…,viD)。第i个粒子目前搜索到的最优位置为pi=(pi1,pi2,pi3,…,piD),整个粒子群搜索到的最优位置为p=(p1,p2,p3,…,pD),粒子的更新公式为

vid(t+1)=ωvid(t)+c1r1(pid-xid(t))+

c2r2(pd-xid(t))

(8)

xid(t+1)=xid(t)+vid(t+1)

(9)

式中:vid——第i个粒子的当前速度,vid∈[-Vmax,Vmax],Vmax为最大限制速度,是非负数;

i=1,2,3,…,m;d=1,2,3,…,D;

ω——惯性权重;

c1,c2——加速常数,为非负常数;

r1,r2——服从[0,1]上的均匀分布随机数;

xid(t)——第i个粒子的当前位置;

pid——第i个粒子目前搜索到的最优位置;

pd——整个粒子群搜索到的最优位置。

3.3 NWPSOBP神经网络

BP神经网络是应用最广泛的一种神经网络,具有很强的分类能力,既能解决单层感知器所不能解决的异或问题,又能实现任意连续函数的逼近问题。其网络的学习过程包括网络内部的前向传播计算和误差的反向传播计算,基于梯度下降法,使实际和期望输出值之间的平方误差之和最小。由于采用了梯度下降法,无法避免收敛速度慢、容易收敛到局部最小值的问题。另外,学习因子和惯性因子的选择会影响BP神经网络的收敛性,而BP神经网络的收敛性通常取决于经验,因此BP神经网络的有效应用受到限制。PSO具有收敛速度快、鲁棒性高、全局搜索能力强等特点,用它来优化神经网络的连接权值,可以较好地克服BP神经网络存在的问题,不仅能发挥神经网络的泛化能力,而且能够提高神经网络的收敛速度和学习能力。

经典的粒子群优化算法中惯性权重ω决定了粒子的飞行速度。当ω较小时,局部寻优能力提高,但易陷入局部最优,不利于搜寻全局区域;当ω较大时,全局寻优能力提高,但不利于局部寻优以致无法收敛[14]。针对经典粒子群算法中惯性权重的弊端,本文提出一种非线性惯性权重调整粒子群算法,称为NWPSO,在前期寻优过程中保持较大的惯性权重值,有利于提高全局寻优能力;当搜寻到全局最优点附近时,减小惯性权重值,有利于增强收敛精度和速度,提高局部搜索的鲁棒性。本文提出的非线性惯性权重调整方式为

(10)

式中:h,hmax——当前迭代次数和最大迭代次数;

ωmax,ωmin——惯性权重系数的最大值和最小值。

将NWPSO作为BP神经网络的连接权值优化算法,选取BP神经网络预测值与目标值之间的交叉熵损失函数作为适应度函数,方程为

(1-yi)log(1-yi)]

(11)

式中:yi——样本i的标签,异常用电用户为1,正常用户为0;

Pi——样本i检测为异常用电的概率。

本文提出的NWPSO-BP神经网络算法的计算步骤如下。

步骤1 确定BP神经网络输入层、隐藏层和输出层的神经元数ni,nh,no,学习因子η。

步骤2 设置粒子的最大速度Vmax和最小速度Vmin,并在vid∈[-Vmax,Vmax]范围内随机生成粒子速度。

步骤3 随机设置粒子的初始位置,以及BP神经网络的权值和偏置初始位置。

步骤4 初始化惯性权重ω,加速常数c1和c2,粒子数m和迭代次数hmax。

步骤5 输入训练样本进行计算。

步骤6 计算BP神经网络的输出,然后根据式(11)的适应度函数方程计算每个粒子的适应度值,得到每个粒子的个体最优解pid和所有粒子的全局最优解pd。

步骤7 根据式(8)和式(9)更新粒子的速度和位置。

步骤8 判断NWPSO算法的最大迭代次数是否已经达到,如果没有达到最大迭代次数,则返回步骤6,否则返回步骤9。

步骤9 得到BP神经网络的最优初始权值和偏差的全局最优解pd。

步骤10 训练BP神经网络直到满足最终条件。

4 实验评估

为了验证本文所提算法的性能,在具有200多名用户用电数据的数据集上进行了实验,并与其他传统的机器学习方法进行了性能比较,其中包括文献[14]中的SVC算法和文献[15]中的BP神经网络算法。为了验证所提出的改进NWPSO-BP神经网络的性能,与普通的PSO-BP神经网络进行了对比。采用4个结果评价指标对性能进行评价,分别如下。

(1) 准确率,表示正确分类的样本占总样本的比例。

(12)

式中:TP——将正常样本判断为正常样本的数量;

TN——将异常样本判断为异常样本的数量;

FP——将异常样本判断为正常样本的数量;

FN——将正常样本判断为异常样本的数量。

(2) 精确率,表示实际正常样本占被分为正常样本的比例。

(13)

(3) 召回率,表示所有正常样本中被正确识别为正常样本的比例。

(14)

(4) 综合精确率和召回率的评价指标。

(15)

利用上述参数,使用4种模型对用户的异常用电行为进行检测,评价结果如表2所示。由表2可知,BP神经网络相比SVC在各个方面都具有更好的效果,加入了粒子群优化的BP神经网络取得了较好的效果,本文提出的模型取得了最好的效果。

表2 不同模型的评价结果

表3为各模型训练时间比较。由表3可知,SVC在运算时间上更具优势,但BP神经网络在准确率上取得了更好的效果,而PSO-BP神经网络在准确率等指标上均取得了最好的效果。

表3 模型训练时间

本文所提出的NWPSO-BP模型在前期寻优过程中保持了较快速度,当搜寻到全局最优点附近时,寻优速度变慢,虽然在模型训练时间上未能达到最好效果,但是在保证训练速度的基础上进一步提高了检测精度。图6为各个模型的训练误差收敛过程对比。由图6可知,本文提出的NWPSO-BP神经网络模型相比其他模型具有更快的收敛速度。

图6 模型训练误差和准确率对比

5 结 论

(1) 根据异常用电用户呈现的行为特征,进行了精确的特征选择,从而建立了异常用电检测评价指标体系,用于所提模型的训练输入。

(2) 提出了先进高效、检测精度高的基于NWPSO-BP神经网络的异常用电检测算法,能准确地从评价指标体系中提取重要的行为特征,并且加入了改进的PSO作为权重参数优化算法,从而达到更准确、更快的检测效果。实验结果表明,与现有的算法相比,本文所提出的NWPSO-BP神经网络检测算法具有更高的准确率和更快的训练速度。

猜你喜欢
用电粒子神经网络
基于递归模糊神经网络的风电平滑控制策略
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
安全用电知识多
基于膜计算粒子群优化的FastSLAM算法改进
神经网络抑制无线通信干扰探究
对输配电及用电工程的自动化运行的几点思考
Conduit necrosis following esophagectomy:An up-to-date literature review
基于神经网络的中小学生情感分析
用电安全要注意
用电监察面临的问题及反窃电对策