基于边缘计算的异常用电检测算法研究

2021-09-22 06:14黄莉雅倪凡舒彧杨耀
电子技术与软件工程 2021年15期
关键词:漏电用电量边缘

黄莉雅 倪凡 舒彧 杨耀

(贵州电网有限责任公司信息中心 贵州省贵阳市 550000)

1 引言

利用、分析电网积累的大量用电数据可知用户侧的漏电、窃电等异常行为研究与监控具有重大意义。用户的用电信息可以存储在智能电表,并且反映用户日常用电信息和用电习惯。结合用电信息和线损信息,可以寻找到正常用户与异常用户之间的不同之处[1,2]。事实上,还是很难区分普通用户和窃电用户。比如,文献[3]提出由于不能简单直接地计算或测量非技术性损耗(NTL),因此需要从其它初步结果对它进行估计,即从总损耗中减去技术性损耗。文献[4]提出了将无监督学习用于非正常行为用电模式检测,适用于电力用户数据集不足,训练样本较少的情况。然而,另一方面,在实际情形下,对异常用电的成功检测率会随着时间的推进而下降。文献[5]提出每当引入新方法时,检测率最初可能很高,但是随着欺诈者改变方法以避免检测,其有效性会随时间变化而减少。文献[6,7]提出传统的检测方法大多通过人工的现场调查,或者临时增加校验用的电能计量设备,这些工作大大提高了检测的成本,无法进行大规模的应用,对异常用电行为的覆盖也非常有限。文献[8]提出基于稀疏随机森林算法的异常用电行为监测方法,此算法利用时间窗和Bootstrap重采样,建立行为模型信息簇,然后利用监督学习获取随机森林模型,最后对模型进行稀疏化,并以此来判断样本是否异常。文献[9,10]中,提出了基于LSTM(Long Short Term Memory Network)神经网络提取特征,对异常用电数据利用网络提取出的特征数据提取。以上这些方法,都不能从根源上去识别窃漏电用户,并且是分析历史用电数据,不能达到实时监测异常用电用户,而且准确度不高。本文提出了构建物联网[11,12]的基于边缘计算的异常用电监测算法来对用电用户进行实时分析用电情况。

具体地,先将电量采集节点数据实时传给边缘计算节点[13-15]进行是否窃漏电判断可疑,可疑的用户,云平台再进行通过建立客户用电行为数据集,建立日用电量趋势指标形成功耗梯度模型,进而准确反映每个用户的短期用电趋势,其次再提取用电行为中的线损特征,再利用机器学习中的混合深度神经网络模型[16-18]对用电客户的各个特征进行分析,从而检测、定位异常用电行为。本文的主要贡献以下几点:

(1)用电数据的收集与整理。对不同区域用电客户产生的数据进行抽取、转换和清理,建立该区域客户用电行为的数据集;

(2)线损特征的提取。不同用户拥有其特有用电行为数据,通过分析正常、非正常用电串损数据不同特征,建立以提取特征为相关指标的线损分析指数化体系。

(3)功耗梯度模型的建立。具体地,它通过建立客户用电行为数据集,建立日用电量趋势指标形成功耗梯度模型,进而准确反映每个用户的短期用电趋势,形成功耗梯度指标。

(4)以边缘计算网络[19]与混合深度神经网络[20]为基础,建立神经网络模型。构建边缘计算网络和判断可疑指标选取模型,并利用用电用户的功耗梯度指标、线损指标和告警类指标等构建对用户进行窃漏电准确检测的模型。

本文剩余的结构如下:第二小节描述得是窃电行为的特征提取,包括用电数据的处理,线损指标和功耗指标的计算;第三小节描述得是神经网络模型的建立;第四小节是对全文的一个总结。

2 窃电行为的特征提取

2.1 窃漏电用户识别流程

异常用电行为的检测可分为六大步骤:数据的抽取,对数据的探索,数据预处理,边缘计算,训练模型的构建,结果反馈等步骤。在所有客户群体中,有些大用户是不可能存在异常用电行为的,例如公立医院、公立学校、政府和国有银行等非居民用户,因此在数据预处理时,将不可能存在异常用电行为的客户的数据样本删除。由于异常用电的发生不能直接由用户用电量曲线反映,且一些噪声被包含在告警信息中,因此探究总结异常用电行为相关的数据属性,并提取以相关且具有代表性的特征为指标,利用专家主观经验,对指标的设置进行调整,组成专家样本。

为了能够更好地建立异常用电用户识别模型[21],不能直接对原始数据建模,而需要遵循一定的数据挖掘流程。机器学习算法得出的数据挖掘[22]效果主要的影响因素为数据集大小和特征,因此各个分析步骤间未必呈一个线性过程,而很可能相互之间形成一个迭代关系。数据库的知识发现[23](knowledge discovery in database,KDD)一直是学者热门的研究,有效的数据探索和数据预处理,可以使得建模分析的效果大为提高,能够更快、更准确地辨识和描述预期的特定模式,而不受不正常事件或者过多噪音的影响。

在所有客户群体中,有些大用户是不可能存在异常用电行为的,例如公立医院、公立学校、政府和国有银行等非居民用户,因此可以在对数据进行预处理操作时可以将上述样本数据剔除。由于用户用电量告警信息中会包含一定的噪音点数据,有必要在对源数据清洗之后进行数据探索,探索数据特征中与异常用电行为呈某种关系的特征或组合特征,从而构成指标。最后利用专家的相关经验[24],对指标的设置进行调整,从而组成专家样本。

窃漏电用户识别的具体过程如图1所示,以下为主要步骤:

图1:窃漏电用户实时监测流程

(1)从电量采集系统和电力缴费营销系统存储了用户用电信息,从中挑选部分用户用电信息;

(2)剔除绝对不会存在异常用电行为的样本数据,即公立医院、公立学校、政府和国有银行等非居民用户;

(3)对数据样本进行概要的etl处理、预处理;

(4)同时构建专家样本集[24];

(5)构建实时边缘计算网络[25]模型;

(6)实现构建识别窃漏电异常用户模型[26]并诊断功能。

2.2 数据抽取

异常用电数据集主要包括用电量数据、线损数据、线路预警及用户相关信息等特征。因此,在建立窃漏电预测模型时,需从源数据提取如下数据:

1. a.从电量采集系统抽取的数据;

b.用户基本信息;

c.异常用电记录数据。

2. a.获取的用电原始信息;

b.实时负荷信息;

c.终端报警数据。

由于建模模型的分类预测能力在很大程度上与测试集的特征高度相关,为了预测各类异常用电行为,训练集数据要包含各个种类的异常用电用户以及一定数量的正常用户。对于异常用电用户,其非法用电行为的前后时间点,是用电量数据和告警信号发生显著变化的关键时期,因此异常用电用户在正常用电时期的数据较为重要,需要被包含在训练集数据中。实验过程中每隔15分钟对采集的负荷数据进行求和,得出当天的总用电量,公式如下。

其中,fl是第一天的耗电量,mi是从第一天起每15分钟的总有功功率,并计算每天的能耗。

本文抽取了南方某城市5年内的窃漏电相关数据及不同用电类别用户共20800个用户数据,此外还提取了包含每天是否有窃漏电情况的标识。对3年间的数据分析,从窃漏电用户分布可以发现非居民类别(包含政府、医院、学校等用户)没有这种异常用电行为,故不考虑非居民类别。

2.3 数据预处理

分析近五年所有漏电用户分布,计算每种用电量的漏电用户分布情况,从图2可以发现非居民类别(包含政府、医院、学校等用户)不存在窃漏电情况,因此可以排除非居民类别的用电数据。

图2:用电类别异常用电情况图

在数据预处理时主要进行如下操作。

(1)对原始数据进行过滤,将不可能有异常用电行为发生的用户相关数据进行删除。

(2)由于假期用电量相对而言会显著偏低,可能影响到用电量发展趋势的判断,因此去除各个假期的数据。

虽然初始用电量能耗数据及报警数据可以反映一些异常能耗行为,但不能将其作为绝大多数异常用电行为的特征的代表。

2.4 窃漏电评价指标

正常用电量特征电量表现曲线比较缓平,波动不是很大。异常用电用户的负荷曲线就经常出现大幅度下降的行为,规律比较杂乱无章,这是异常用电特征行为。

初始收集系统的负荷信息及预警信息,虽然可以在一定程度上反映少量异常行为的趋势,但要作为覆盖大部分情况下的特征,这显然是不够的,必须变换创造新的更有效的指标。异常用电行为评价指标如下:

2.4.1 电量趋势下降指标

由数据探索部分的周期性分析可以发现,正常用户的用电曲线趋于稳定,异常用户的用电量就是大幅下降趋势,最后趋于一个很低的值。因此考虑使用电量下降斜率作为评定衡量。

以连续5天作为计算斜率的窗口,对待评估的日期,统计前后5天共11天内,用电量的斜率变化[27],得到第i天的用电量趋势,即:

异常窃电行为会导致这11天内的电能消耗趋势出现下滑,因此需要统计趋势为下降的天数,即:

则在监测期内,电量趋势的下降指标可表示为:

2.4.2 线损指标

线损率可以用来衡量供电线路的损失比例。假设第i天的线路供电量为si,线路所有的总用电量为线路的线损率公式为:

异常用电行为发生时,相关线路的线损率会有显著提升,可以以此作为表征相关用户线损率的特征。另一方面,用户每天的用电量并非保持在同一个水平,因此线损率会有上下波动的现象。可以计算线损率的增长水平推断是否有异常用电行为的发生。

2.4.3 告警类指标

筛选与异常用电行为相关的告警信息,统计这些告警信息在特定时间段内的发生次数。

2.5 专家样本的构建

针对所有已知是否具有窃漏电行为的异常用电用户及正常用户,选取用电负荷、线损数据及保护告警相关的原始数据,在数据清洗之后按照异常用电行为评估指标来进行转换,得到29100组样本数据,组成专家样本库,部分数据如表1所示。

表1:专家数据样本

3 边缘计算网络模型

3.1 边缘计算网络

由边缘计算为主要技术的物联网监测系统如图3所示。具体分为三个部分组成:无线传感器监测节点、路由转换节点、边缘计算节点(树莓派)和云计算平台。

图3:边缘计算监测网络

边缘计算节点层在总体框架上处于一个中间层的位置,通过与各个无线传感器节点交互而提高系统的实时性。

在提出的窃漏电监测方法中,边缘计算节点有着承上启下的功能,系统刚开始运行时,作为中转路由器将数据传送到云中心平台[28,29]。系统时刻监测着采集的数据,当监测出现异常,边缘计算节点会把问题报告给云平台和控制中心。边缘计算节点的功能如图4所示。

图4:边缘计算节点功能

边缘计算网络计算规则:

(1)以连续7天每天对应时刻的采集功率作为功率斜率窗口,统计每天斜率变化,记录斜率下降的天数。

(2)对待评估的时刻,计算它与之前7天对应时刻的功率的平均值和它加之前7天的功率的平均值若比大5%,则该用户该时刻很可能发生窃漏用电行为。

当P(i)=1或者∑d(i)≥4,则判断该时刻可能发生窃漏电行为,则给云计算平台反馈,提取该用户之前的数据进行模型判别,调用2.2的混合深度神经网络进行判别。

3.2 混合深度神经网络模型

专家数据样本准备完成,总取得29100条样本数据。变量特征A包含三种属性:线损类指标、电量趋势下降指标以及告警类指标。决策特征Y为异常用户的标识。取人工选取数据样本,其中80%作为训练集,20%作为测试集。

深度神经网络模型采用训练样本和TensorFlow库构建,且使用测试数据集进行验证。依据3个变量属性,将神经网络的输入节点数数目设置为3。决策属性为是否异常用电,属于二分类问题[30],因此神经网络的输出节点数为1,且分类模式可设为二分模式binary。隐含层节点数设为5和2,使用Adam方法求解,训练迭代次数设为1000。激活函数使用Relu(x)=max(x,0),实验表明模型准确率因使用该激活函数能大幅提高。输出层使用sigmoid激活函数。图5为本文构建的模型。

图5:混合深度神经网络

使用python自带的Matplotlib工具可视化预测结果。预测结果如图6、图7所示。

图6:训练集预测结果的混淆矩阵

图7:测试集预测结果的混淆矩阵

根据训练集预测结果的混淆矩阵可知,分类正确率:

分类精度:

召回率:

正常用户被误认为是盗窃和泄漏用户700/(700+18100)=3.7%,窃漏电用户被错误地判为正常用户占窃漏电用户的400/(400+4000)=9.1%。

从上面的结果可以得出,该异常用电用户识别模型是有效的,过拟合发生的可能性较低。

3.3 模型对比

图8是使用了边缘计算节点的云平台负责率和传统模型对比,从图8可以看出,基于边缘计算的模型始终使用云平台负载较少,且不随数据增加而增加,而传统模型造成云平台负载过大。

图8:模型对云平台负载能力影响对比图

本文利用北方某省用户用电数据,通过本文第二节处理方法处理成给模型的数据。分别用SVM,随机森林,本文提出的混合深度神经网络模型进行试验,结果如图9。

图9:模型对比图

通过以上发现,当数据集比较小,SVM和随机森林模型优于本文提出的混合深度神经网络模型,但是当数据集大小高于某一数据集大小,混合深度神经网络模型明显优于SVM和随机森林模型。

4 结语

本文提出了以边缘计算为主要技术,由边缘计算节点、无线传感器监测节点及云平台等组成的异常用电检测网络模型。并且在此基础上提出了基于混合深度神经网络的异常用电用户识别模型。通过边缘计算节点实时对用电数据进行可疑性分析,大大减少了云平台的计算负载和数据交互压力。实验结果证明,基于使用边缘计算异常用电检测网络模型及所提检测算法检测用电异常是有效的。

猜你喜欢
漏电用电量边缘
02 国家能源局:1~7月全社会用电量同比增长3.4%
01 国家能源局:3月份全社会用电量同比增长3.5%
漏电保护器失效 连环责任人须赔偿
一种用于配变低压侧漏电保护器跳闸的报警系统
行李厢灯漏电故障排除
1~10月全社会用电量累计56552亿千瓦时同比增长8.7%
2014年全社会用电量
在边缘寻找自我
走在边缘
边缘艺术