-
电力作为国家重要的战略资源,对社会经济繁荣发挥着不可或缺的主导作用. 近年来,由于能源紧缺,电费上涨,电力用户承担着较大的经济负担,导致世界各国窃电行为加剧,给电力公司造成了巨大的经济损失[1].
为了应对窃电现象,学者针对窃电检测方法进行了大量研究,其中主流的技术路线有监测电表的物理特性和分析用电的数据特征,基于电表物理特性的窃电检测通过分析用电数据的异常,判断电表计量数据是否被非法篡改[2]. 根据电量参数的类型,窃电途径可分为5类[3]:欠压法窃电、欠流法窃电、移相法窃电、扩差法窃电和无电表窃电. 对于前3种窃电途径,常用的应对方法是改进电表结构,为每个电量参数设定相应的阈值[4-6],然而,由于用电数据的多样性与冗余性,该方法难以实现同步传输和高效管理,且检测异常数据的能力有限. 为了提高窃电检测能力,基于用电数据特征的窃电检测引起了广泛关注,其核心是通过监测用电量的变化[7-9],即通过对采集的用电数据进行比对,判断是否存在异常,如通过计算线损率(Line Loss Rate,LLR)判断用户是否窃电[10]. 但是,由于用电数据量巨大,此类方法的工作量大,检测效率低,为此,一些学者结合机器学习模型,如灰色模型(Grey Model,GM)[11-12]或神经网络(Neural Network,NN)[13-14]预测LLR. 但是,基于LLR预测的窃电检测只能识别长期窃电行为,无法检测短期窃电行为. 近年来,人们将注意力从LLR预测转移到电量数据特征上. 文献[15-16]采用支持向量机(Support Vector Machine,SVM)寻找区分正常用户和窃电用户的超平面边界;文献[17]利用长短期记忆(Long Short-Term Memory,LSTM)网络提取用电数据的时间特征,从而实现防窃电;文献[18-20]使用卷积神经网络(Convolutional Neural Network,CNN)学习用电数据的深层特征,进而准确识别窃电行为. 虽然上述方法可以通过训练获得各种特征进行窃电行为检测,但当窃电量小或窃电发生时间随机时,其检测性能将急剧下降.
综上分析可知,现有的窃电检测模型具有一定的窃电检测能力,但对窃电量小或窃电行为与时间相关性弱的情况,其检测性能就不佳. 本文综合考虑用电数据的浅层特征、深层特征和随机的时间相关性,提出一种基于时序偏移双残差网络(TS-Bi-ResNet)的窃电行为检测模型,主要贡献体现在以下四方面:
1) 基于真实用电数据集的分布和窃电特征生成伪窃电数据,解决了窃电数据难以获取问题;
2) 针对窃电量小的窃电行为检测,以残差网络(ResNet)为基础模型,设计了一种双残差网络模型,利用捷径连接保留浅层特征,解决深度学习的梯度消失问题;
3) 利用时序偏移算法对用电数据预处理,使Bi-ResNet模型能够学习用电数据的时间因素特征,构成基于时序偏移双残差网络模型;
4) 仿真测试和实际运行结果表明,TS-Bi-ResNet模型可以有效检测窃电量小且窃电发生时间随机的窃电行为,其检测精度优于LSTM模型与ResNet模型.
全文HTML
-
我国的用户用电数据是受保护的,不允许为公众提供,但全世界的窃电行为都类似. 本文利用美国国家可再生能源实验室提供的开源数据集作为原始数据,包括936个用户一年的每小时用电数据. 为了减小数据规模,从原始数据集中随机抽取400个用户半年内每小时的用电数据构成分析和测试数据集S={s1,…,s400},其中,sk={sk,1,…,sk,26},(k=1,…,400)表示用户半年内每周的用电数据,sk,w={sk,w,1,…,sk,w,168}表示用户k第w=1,…,26周的每小时用电数据,sk,w,i表示用户k第w周第i小时的用电数据.
图 1为半年内所有用户每小时用电数据统计柱状分布图,横轴为用电量,纵轴为具有相同小时用电量的小时数. 由图可知,虽然每小时的用电数据分布范围较宽,从0.4~6 kW·h时,但主要集中在0.4~2.7 kW·h之间,尤其是在1 kW·h附近. 意味着在特定的时间段,如果窃电量占用电量的比例不大,如10%~20%,用电信息采集系统采集的用电量仍表现为正常范围,难以发现窃电行为,必须从用电数据中挖掘深层特征.
进一步分析基于时间段的用电数据分布,图 2为所有用户每小时用电数据统计等值线色块分布图,由图可知,用电行为与时间相关. 凌晨时段(22:00-6:00)用电量分布集中,用电量少,窃电概率低,窃电行为难以发现. 上午和午间时段(6:00-16:00)用电量上升,方差大,该时段发生窃电概率高,但窃电行为相对容易检测. 下午和晚间时段(16:00-22:00)用电量达到高峰,分布离散,该时段发生窃电概率最高,窃电行为容易被发现.
原始数据集未提供窃电用户信息,为了执行模型训练和窃电行为检测,提出一种生成伪窃电数据的通用方法. 从400个用户中随机选择150个用户当作潜在窃电用户,将原始用电数据集划分为两个子集:S={Sreal,Sstl},其中,Sreal∈$\mathbb{C} $168×26×250是真实用电数据,对Sstl∈$\mathbb{C} $168×26×150处理生成伪窃电数据. 根据窃电途径分类[3],窃电行为可以等价为用电量与权重因子的乘积,本文将权重因子定义为窃电系数(Electricity Stealing Coefficient,ESC)CES,选择CES∈[0.2,0.9]模拟不同的窃电量. 进一步定义窃电持续时间为窃电期(Electricity Stealing Period,ESP)PES,结合对图 2的时间段分析,窃电期可表示为
其中,random(·)是随机函数,其返回值为一个数组;Pr表示该时间段内发生窃电的概率. 伪窃电数据生成方程可表示为
其中,$\left\lfloor \cdot \right\rfloor $表示向下取整. 利用$\tilde s$k,w,i(k=1,…,150;w=1,…,26;i=1,…,168)构成伪窃电数据子集$\tilde S$stl,连同真实用电数据子集Sreal组成混合用电数据集$\tilde S$={Sreal,$\tilde S$stl},如表 1所示. 不同窃电系数CES的窃电用户来自原始用电数据集的相同用户,在随后的模型训练和窃电行为检测中,选择普通用户和具有相同窃电系数的窃电用户构成混合用电数据集.
-
获得由真实用电数据与伪窃电数据组成的混合用电数据集后,即可采用不同模型[10-18]进行窃电行为检测,但由于混合用电数据集具有两个特征:窃电量小,窃电发生时间随机,上述模型的检测性能并非最优,需要挖掘和利用深层特征. 在挖掘深层特征过程中,用电数据较小,其变化趋势较平缓,如果采用多层神经网络模型,梯度消失问题[21]将影响检测性能. 为此,本文选择残差网络(Residual Network,ResNet)[22]作为基础模型,通过添加捷径连接保留浅层特征,解决梯度消失问题. 然而,在ResNet模型中,卷积核能够提取的特征有限,为此,引入特征映射机制,对ResNet模型进行改进,设计一种双残差网络(Bi-ResNet)结构.
-
Bi-ResNet单元模块由两个基本组件和两种逻辑操作构成,包括卷积模块和捷径连接以及复制操作和向量求和,如图 3所示. 复制操作是指两个分支使用相同数据,向量求和是将两个维数相同的向量对应元素相加. Bi-ResNet单元模块包括3步操作:
Step 1:一维数据映射为二维数据. 将混合用电数据集$\tilde S$={Sreal,$\tilde S$stl}中用户k第w周的每小时用电数据$\tilde s$k,w={$\tilde s$k,w,1,…,$\tilde s$k,w,168}循环排列,构成一个168×168的二维数据矩阵sk,w:
利用复制函数cp(·)对sk,w进行复制操作,获得两份相同数据X1,X2:
用两个卷积核大小不同的卷积模块分别提取特征,每个卷积模块由卷积函数conv(·)、批量归一化BN(·)和线性整流单元relu(·)组成,用Hi,s(·)表示第i个卷积核大小为s×s的卷积模块,其虚拟输出Yi为
其中,i=1,2;s={5,3}. 由于卷积核大小决定了提取特征的“视野”,用两个卷积核大小不同的卷积模块能更彻底地提取同一特征,这对深层特征提取非常必要.
Step 2:在不同“视野”下融合相同特征. 根据融合准则,采用卷积核大小为1×1的卷积模块融合提取的深层特征. 首先对Yi,i=1,2进行复制操作,获得两份相同数据Xi×2+1,Xi×2+2:
然后,Xi×2+1通过捷径连接保持浅层特征,Xi×2+2通过向量求和函数va(·)融合为
最后由卷积核大小为1×1的卷积模块提取深层特征,其虚拟输出Y3为
为了使虚拟输出同时包含深层特征与浅层特征,进一步对虚拟输出Y3进行复制操作,获得两份相同数据X7,X8:
再分别与通过捷径连接的Xi×2+1,i=1,2与向量求和函数va(·)融合为
由此获得两个混合特征,一个包含3×3卷积核提取的浅层特征与5×5卷积核提取的深层特征,另一个包含5×5卷积核提取的浅层特征与3×3卷积核提取的深层特征.
Step 3:特征提取. 混合特征va(X3,X7),va(X5,X8)分别用卷积核大小为5×5和3×3的卷积模块提取特征,其虚拟输出Y4,X5为
将虚拟输出Y4,Y5通过向量求和函数va(·)融合后,再利用卷积核大小为1×1的卷积模块提取特征,其虚拟输出Y6即为Bi-ResNet单元模块的最终输出:
-
经过一系列混合和交叉学习,最终获得的混合特征包含了各种深度特征和不同注意力级别的浅层特征,既避免了梯度消失,又能得到混合特征.
考虑到模型输入数据是一周内每小时的用电数据,基于Bi-ResNet单元模块构建的Bi-ResNet模型如图 4所示,包括1个卷积核大小为3×3的卷积层、5个Bi-ResNet单元模块、4个步长为2的最大池化层、1个步长为1的最大池化层以及全连接层、softmax层和分类层. 首先,用卷积核大小为3×3的卷积层提取浅层特征,然后用Bi-ResNet单元模块和最大池化层提取深层特征;其次,作为该模型输入的168×168维每小时用电数据,经过Bi-ResNet模块、步长为2的最大池化层和步长为1的最大池化层后,最大池化层5输出的数据维度为6×6;最后,由全连接层确定每小时用电数据类型,并由分类层识别用户是否存在窃电行为.
-
对于每小时用电数据,Bi-ResNet模型虽然综合考虑了用电数据的浅层特征和深层特征,但神经网络学习到的时间因素特征只能处于相同时间段. 以卷积核大小分别为10×10和3×3对输入数据执行卷积运算为例,如图 5所示. 由于卷积核大小固定,每次卷积操作中“视野”的广度相同,垂直间隔不会发生变化,如图中数据1,2,3对应连续3小时的用电数据,而数据1,2,3,10,11,12,19,20,21对应9小时的用电数据. 为了使Bi-ResNet模型能进一步考虑用电数据的时间因素特征,提出一种时序偏移算法对用电数据预处理,具体流程如算法1.
算法1:时序偏移算法
输入:维度为1×168的小时用电数据向量{sk,1,…,sk,7}
输出:维度为168×168时序偏移的用电数据矩阵Sk,d
初始化Sk,d和步长st,伪响应X={sk,1,…,sk,7}
记录Sk,d(1,:)=X
for i=2:s(Sk,d)
st=random(0,23)
for d=1∶7
sk,d=[sk,d(st:s(sk,d)) sk,d(1:(st-1))]
X={sk,1,…,sk,7}
end
记录Sk,d(i,:)=X
end
利用时序偏移算法对混合用电数据集S中每周的用电数据分别进行预处理,代替Bi-ResNet单元模块3步操作的第1步即一维数据映射为二维数据,作为Bi-ResNet模型的输入,模型更名为TS-Bi-ResNet模型. 经过模型训练和学习后,执行窃电行为检测. 改进后的TS-Bi-ResNet模型能够综合提取不同日期下不同时间段的联合特征,从而支持对窃电发生时间段随机变化的窃电行为.
2.1. Bi-ResNet单元模块
2.2. Bi-ResNet模型
2.3. 时序偏移算法
-
本节首先测试TS-Bi-ResNet模型的窃电行为检测性能,然后将其与LSTM模型[16]和ResNet模型[22]的检测性能进行对比,仿真结果分别如图 6和图 7所示.
-
图 6所示为CES=0.8下TS-Bi-ResNet模型的训练过程. 由于检测精度曲线和损失函数曲线具有相同的变化趋势,这里只针对检测精度曲线进行分析. 由图可知,每小时用电数据的浅层特征和深层特征并存,且二者都能通过TS-Bi-ResNet模型学习. 当训练次数较少时,检测精度大致为65%左右,且持续围绕该值波动,主要原因是为保留浅层特征选择3×3卷积核的初期检测效果不佳. 当窃电系数CES较大时,窃电行为检测更依赖于深层特征,经过长时间训练,迭代450次后,检测精度迅速上升至80%,随后持续上升至98%左右,表明深层特征对检测精度有重要影响,而深层特征正是由TS-Bi-ResNet模型提取的. 总而言之,两条曲线最终收敛,意味着TS-Bi-ResNet模型用于窃电行为检测时,不存在过拟合和欠拟合问题.
-
图 7所示为TS-Bi-ResNet模型与两个基准模型(LSTM模型和ResNet模型)的窃电行为检测精度比较. 设置CES∈[0.2,0.9],以验证TS-Bi-ResNet模型在极端情况下(即窃电总量很小或变化不具有时间规律性)的检测能力.
由图可知,随着CES的增加,所有模型的检测精度均有所下降,这是由于窃电数据的价值越来越接近正常数据的价值,难以发现窃电数据特征. 当CES∈[0.2,0.5]时,窃电数据特征较显著,TS-Bi-ResNet模型和ResNet模型的检测精度达到98.0%以上,超过LSTM模型5%以上,其原因是TS-Bi-ResNet模型和ResNet模型能充分学习窃电特征,而LSTM模型的学习能力较弱. 当CES超过0.5之后,ResNet模型的检测精度急剧下降,主要原因是窃电行为的浅层特征难以捕获,需要挖掘深层特征. 虽然ResNet模型的性能有所下降,但当CES∈[0.5,0.7]时,其检测精度仍优于LSTM模型. 当CES∈[0.7,0.8]时,TS-Bi-ResNet模型和ResNet模型的检测精度均大幅下降,这是由于用电数据的分布导致浅层特征消失,只能用深层特征和时间因素进行检测. 由于窃电时间段随机,ResNet模型难以发现深层特征,当CES∈[0.8,0.9]时,其检测精度不如LSTM模型,但TS-Bi-ResNet模型仍然能检测到窃电行为,CES为0.8和0.9时对应的检测精度分别为90.8%和81.9%.
综上所述,TS-Bi-ResNet模型可以学习窃电量小且窃电时间段随机的窃电行为的浅层特征、深层特征和时间因素特征,其检测性能优于LSTM模型和ResNet模型.
3.1. 窃电行为检测性能
3.2. 检测性能对比分析
-
为了评估TS-Bi-ResNet模型的实用性,将基于该模型开发的应用软件嵌入国网重庆市电力公司客户服务中心用电信息采集系统,对某区县供电营业所辖区用户实施全天候窃电行为检测.
该供电营业所供区有35 596户居民,采用一户一表计量用电数据. 另外,在该供电营业所办公楼安装4只电表,控制其CES分别为0.2,0.4,0.6和0.8,模拟窃电行为. 利用2020年2-6月每个用户的小时用电数据训练TS-Bi-ResNet模型,图 8为用电信息采集系统运行界面截图,除了检测出4只模拟窃电行为的电表外,还检测出编号为23932834992的电表存在数据异常,经查证,该用户存在恶意改装电表的违法行为,验证了TS-Bi-ResNet模型的实用性.
-
针对窃电行为检测,本文首先设计了一种Bi-ResNet模型学习用电数据的深层特征,然后综合考虑时间随机相关性因素,提出了一种TS-Bi-ResNet模型. 通过分析真实用电数据集的分布和窃电特征,生成了一种包括真实用电数据和伪窃电数据的混合用电数据集,训练窃电行为检测模型. 仿真结果表明,该模型可以实现对窃电量小且窃电时间发生随机的窃电行为检测,检测精度优于同类基准模型(LSTM模型和ResNet模型). 此外,通过嵌入用电信息采集系统的全天候运行,验证了该模型的实用性.