一种基于BP神经网络的用户用电异常行为检测方法与流程

文档序号:16937471发布日期:2019-02-22 20:52阅读:247来源:国知局
一种基于BP神经网络的用户用电异常行为检测方法与流程
本发明涉及用电监测领域,具体涉及一种基于bp神经网络的用户用电异常行为检测方法。
背景技术
:较早期的用电异常监测办法是确定各个用电异常指标,确定每个异常指标的阈值,并对各个异常指标赋予不同的权重分值,累加后计算每个用户的窃电嫌疑系数。一般的用电异常指标简要来讲分为线损异常和瞬时量异常两类。根据这些异常设计窃电识别模型,通过计算嫌疑系数来识别窃电用户。然而对于这类设备故障及用户用电异常指标的检测,早期多采用的是现场检测方法,即技术人员到用电现场进行排查。这种处理方式极其耗费人力物力资源,效率低、效果差,即使部分地区实现了集中抄表也只能监测到日用电量,而无法获取到计量装置的电压、电流、功率等瞬时量数据。同时,这种方式还存在极大的人为因素,不利于电力行业的管理。中国专利公开了一种申请号为cn201810104000.4的基于模糊神经网络的用电异常行为识别方法,从用电数据库中抽取部分用户的原始数据作为样本数据;进行数据预处理;在分析历史用电异常行为案例的基础上,设计用电异常行为评价指标体系;利用预处理后的数据构建专家样本;以异常用电行为标志为输入项,以异常用电嫌疑系数为输出项,构建模糊神经网络模型;将测试数据输入所构建的模糊神经网络模型,进行异常用电行为诊断;对异常用电诊断结果做出评价,设定目标评价,优化模型。本发明实现了用电异常行为的自动化识别诊断,利用模糊神经网络的方法,实现了系统的自动训练学习和建模,达到快速又精准的定位嫌疑用户,为获取各种异常用电的违规行为提供的便利。但是由于没有对数据进行处理导致后续运算较大,运行时间长,极易导致当机现象发生。技术实现要素:本发明要提供一种基于bp神经网络的用户用电异常行为检测方法,解决现有技术中因没有对数据进行处理导致后续运算较大而导致分析计算运行时间长的问题。为实现上述目的,本发明采用了如下的技术方案:一种基于bp神经网络的用户用电异常行为检测方法,包括如下步骤:s1、基于统计的特征提取:s11、数据定义:s111、令数据集为x={xn},n取1至n,数据集中包含n个日常用电用户,每个用户划分为d天、m个月、q个季度的用电数据;s112、每个用户的日用电量序列:xn={xnd},d取1至d;s113、每个用户的月用电量序列:yn={ynm},m取1至m,s114、每个用户的季度用电量序列:zn={znq},q取1至q,s12、对用户用电行为特征在时间上以年、季度、月份为单位划分,并计算每个用户的单位时间均值、标准差和离散系数序列,即是计算:每个用户的全年用电量标准差d1、每个用户的全年用电量离散系数d2、每季度用电量标准差d3~d6、每季度用电量离散系数d7~d10、每月用电量标准差d11~d21、每月用电量离散系数d22~d32、每月平均用电量上升下降趋势d33~d41、相邻两月用电均值之差和比值的最大值d42~d43、相邻两月用电均值之差和比值的最小值d44~d45、相邻季度用电均值之差和比值的最大值d46~d47、相邻季度用电均值之差和比值的最小值d48~d49,其中,d1~d49为统计特征;s2、基于kernelpca的特征降维:为了数据能够更好的表现其特征,并使模型训练能够更加高效,需对基于统计特征提取的数据进行kernelpca降维处理,形成最终预处理后的特征空间;预处理模型建立的kernelpca算法步骤如下:s21、获得xi:s22、选取rbf核函数φ,对输入数据进行特征空间映射,然后计算核变换矩阵k:s23、求出协方差矩阵k的n个特征值λ及每个特征值λ对应的特征向量u:ku=λu(3.3)s24、将所有特征值λ按照从大到小排列成一个队列{λ1,…,λi,…,λn},按照特征值从大到小将特征向量u排列组成一个n*n的矩阵w,矩阵w中第i列的元素为队列中第i个特征值λi对应的特征向量u的元素,并从矩阵w中取前k个特征值对应的特征向量,得到一个n×k的矩阵an×k;s25、根据公式3.4计算k,取满足2.4式的第一个k值:s26、计算公式3.5,其中ym×k即为降维到k维后的新特征数据;ym×k=xm×nan×k(3.5)s3、对矩阵ym×k进行归一化处理得到新矩阵ym×k',使得yij'的取值在[0,1]之间,采用以下3.6式进行处理,式中,表示矩阵ym×k中第j列的最小值,表示矩阵ym×k中第j列的最小值:s4、采用bp神经网络模型判断出是用电异常还是用电正常:s41、新矩阵ym×k'中yij'代表第i个用户第j个统计特征的值,从新矩阵ym×k'中选取任意6列作为输入因素;s42、将每个用户的输入因素输入至bp神经网络模型,得到结果yjie;s43、判断yjie是等于0还是1,若是0,则输出该用户用电异常;若是1则输出该用户用电正常。相比于现有技术,本发明具有如下有益效果:通过实现统计特征提取,获得了有效的数据,通过实现降维处理,减少了运算数据,提高了运算速度,避免了当机现象的发生,同时通过条件选取,保证了运算数据具有代表性,表面了因为选取一些统计特征进行计算而导致出现漏判现象出现,保证了判断结果的精度。本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。附图说明图1为单隐层的bp神经网络模型;图2为bp神经网络模型中采用的两种激活函数的图形;图3为双隐层的bp神经网络模型;图4为利用matlab建立bp神经网络模型。具体实施方式为了使本发明实现的技术手段、创作特征、达成目的与作用更加清楚及易于了解,下面结合附图和具体实施方式对本发明作进一步阐述:实施例1:本发明提出了一种基于bp神经网络的用户用电异常行为检测方法,包括如下步骤:s1、基于统计的特征提取:s11、数据定义:s111、令数据集为x={xn},n取1至n,数据集中包含n个日常用电用户,每个用户划分为d天、m个月、q个季度的用电数据;s112、每个用户的日用电量序列:xn={xnd},d取1至d;s113、每个用户的月用电量序列:yn={ynm},m取1至m,s114、每个用户的季度用电量序列:zn={znq},q取1至q,s12、对用户用电行为特征在时间上以年、季度、月份为单位划分,并计算每个用户的单位时间均值、标准差和离散系数序列,即是计算:每个用户的全年用电量标准差d1、每个用户的全年用电量离散系数d2、每季度用电量标准差d3~d6、每季度用电量离散系数d7~d10、每月用电量标准差d11~d21、每月用电量离散系数d22~d32、每月平均用电量上升下降趋势d33~d41、相邻两月用电均值之差和比值的最大值d42~d43、相邻两月用电均值之差和比值的最小值d44~d45、相邻季度用电均值之差和比值的最大值d46~d47、相邻季度用电均值之差和比值的最小值d48~d49,其中,d1~d49为统计特征;s2、基于kernelpca的特征降维:为了数据能够更好的表现其特征,并使模型训练能够更加高效,需对基于统计特征提取的数据进行kernelpca降维处理,形成最终预处理后的特征空间;预处理模型建立的kernelpca算法步骤如下:s21、获得xi:s22、选取rbf核函数φ(rbf核函数φ为标准函数,此处没必要进行详细描述),对输入数据进行特征空间映射,然后计算核变换矩阵k:s23、求出协方差矩阵k的n个特征值λ及每个特征值λ对应的特征向量u:ku=λu(3.3)s24、将所有特征值λ按照从大到小排列成一个队列{λ1,…,λi,…,λn},按照特征值从大到小将特征向量u排列组成一个n*n的矩阵w,矩阵w中第i列的元素为队列中第i个特征值λi对应的特征向量u的元素,并从矩阵w中取前k个特征值对应的特征向量,得到一个n×k的矩阵an×k;s25、根据公式3.4计算k,取满足2.4式的第一个k值:s26、计算公式3.5,其中ym×k即为降维到k维后的新特征数据;ym×k=xm×nan×k(3.5)s3、对矩阵ym×k进行归一化处理得到新矩阵ym×k',使得yij'的取值在[0,1]之间,采用以下2.6式进行处理,式中,表示矩阵ym×k中第j列的最小值,表示矩阵ym×k中第j列的最小值:(同时,为了使每个特征量能够规范到同一量级中,让不同维度之间的特征数值有一定的比较性,需要对预处理数据进行归一化(normalization)处理)s4、采用bp神经网络模型判断出是用电异常还是用电正常:s41、新矩阵ym×k'中yij'代表第i个用户第j个统计特征的值,从新矩阵ym×k'中选取任意6列作为输入因素;s42、将每个用户的输入因素输入至bp神经网络模型,得到结果yjie;s43、判断yjie是等于0还是1,若是0,则输出该用户用电异常;若是1则输出该用户用电正常。为了获得步骤s42中bp神经网络模型为单隐层,如图1所示,输入层与隐含层之间的运算选择logsig激活函数,隐含层与输出层之间的运算选择purelin线性激活函数,如图2所示,训练函数为trainlm。logsig函数是一种sigmoid函数,它处处可导,连续、光滑且严格单调,其导数可以节约计算时间,是一个良好的阈值函数,logsig函数为如下式所示,:式中,w1、w2……以及wn为均为系数。当然还可以为:如图3所示,步骤s42中bp神经网络模型为双隐层。为了使得检测更加全面,各个统计特征更加具有代表性,优选的是,在步骤s12后还进行以下步骤:s13、将用电走势分为变动趋势、波动趋势以及升降趋势三种趋势类型;s14、计算变动趋势、波动趋势以及升降趋势:s141、波动趋势:在统计中标准差被用来评估序列可能的变化或波动程度,标准差越大,数值波动的范围就越大;所以这里计算用电量标准差std来表示用电数据的波动趋势特征;同时,计算用电离散系数cv来衡量用户用电的离散程度,令某一时间段用电平均值为μ,则:用电量标准差:用电离散系数:cv=std/μ(2.2)s142、变动趋势:变动趋势特征是指用户用电量的前后差异性度量,即由某一时间段与前一相邻时间段的平均用电量比较,其差值和比值来反映用电量变动的快慢程度,定义计算方式如下:相邻k月或k季度用电均值的差值:相邻k月或k季度用电均值的比值:s143、升降趋势:升降趋势特征是指通过根据用户连续几日的用电量做出下一次用电量的预测,并与下一次实际用电量比较,得出上升或下降的可能性;这里使用简单移动平均法来确定升降趋势的特征向量;简单移动平均法根据时间序列逐项推移,依次计算固定项数的一组平均值,并作为下一次的预测值;令k为移动项数,t时刻实际值为xnt,则升降趋势特征的计算方法:t时刻预测值:ft=(xn(t-1)+xn(t-2)+…+xn(t-k))/k(2.5)t时刻升降趋势:tr=xnt-ft(2.6)若tr<0,则表明用电趋势下降;若tr>0,则用电趋势上升;其中,电量标准差std、电离散系数cv、相邻k月或k季度用电均值的差值avga、相邻k月或k季度用电均值的比值avgb、t时刻升降趋势tr均为统计特征值。以重庆某地电网9956个用户2015年1月1日到2015年12月31日共一年的日用电量数据为例,具体模型实现过程如下:①对原始数据做数据清洗。该步骤中经过清洗处理后得到334天可供分析的有效数据维度。数据集包含1394个异常用电行为用户和8562个未知用电行为用户,异常用户比例为14.00%。(数据清洗过程用于发现并纠正数据集中可识别的错误,包括检查数据一致性,处理无效值和缺失值等。不符合要求的数据主要分为残缺数据、错误数据、重复数据三类)②对清洗后的数据集建立统计特征。采用为本模型设计的基于统计的特征提取方法最终可以提取得到49个维度的统计特征。③对基于统计提取的49个维度的特征数据集做pca主成分分析,得到的特征值由大到小排列为d=[d1,d2,...,d49]。通过公式4.10计算主成分贡献率,得到k=6,即选取前6个主成分作为新的特征集,这6个特征数值如下:④对kernelpca降维处理后的新特征数据集做相关性分析,得到的相关系数矩阵如表5.1所示:表5.1总贡献率高于0.95的特征值cord1d2d3d4d5d6d11-4.39e-16-1.94e-161.25e-17-4.03e-174.94e-17d2-4.39e-1613.58e-166.10e-17-2.01e-166.99e-17d3-1.94e-163.58e-161-3.23e-161.04e-15-5.17e-16d41.25e-176.10e-17-3.23e-161-1.66e-164.00e-16d5-4.03e-17-2.01e-161.04e-15-1.66e-1611.81e-16d64.94e-176.99e-17-5.17e-164.00e-161.81e-161表5.1基于新特征的相关系数从表5.1可以看出各个特征之间的线性相关程度,其中cor表示相关系数。|cor|越接近1,表示这两个特征间线性关系越密切;|cor|越接近于0,则这两个特征的线性相关越弱。可见经过pca处理后得到的新特征几乎相互独立,消除了原始数据之间的信息重叠。⑤对两类数据集做相似性度量,观察类内数据之间的相似程度。定义相似性度量函数如4.1所示:其中dist为距离函数,当两个数据样本相似时,dist趋近于0,lp=1;否则lp趋近于0。可选择的距离函数有欧氏距离、曼哈顿距离、信息熵等。然后对数据的主成分按从大到小取前3个特征值对应的特征向量,得到新的特征空间,用于观察空间分布情况来做二位可视化分析。⑥根据已提取出的6个新的特征数据,构建用于bp神经网络的6个输入向量及一个输出向量。然后根据构建的模型,利用matlab分析工具分别建立含有单隐含层和含有两个隐含层的bp神经网络,如图1所示。设置两个隐含层的激活函数分别为tansig和logsig,输出层激活函数为线性函数purelin,训练函数为trainlm,训练次数为5000次、目标精度为1e-5。最后将预处理数据用于建立好的模型中去训练。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1