一种基于迁移学习的窃电检测方法

文档序号:31187710发布日期:2022-08-19 22:49阅读:54来源:国知局
一种基于迁移学习的窃电检测方法

1.本发明涉及窃电检测技术领域,具体涉及一种基于迁移学习的窃电检测方法。


背景技术:

2.窃电给电力公司、社会、国家带来非常严重的后果和伤害。窃电不仅在各个国家每年造成巨大的经济损失,而且还会影响电网的稳定性。随着智能电网的发展,电力系统逐渐实现数字化,海量的用户用电数据将被获得,为基于深度学习进行窃电检测提供了基础。然而,单个智能电表不具备窃电检测功能,只能提供大量无窃电状态标签的用电数据,如果需要根据大量智能电表提供的海量用电数据鉴别用户窃电状态并为每个用户设置窃电状态标签,需要巨大的人力成本。因此,带有窃电状态标签的用电数据数量很少,导致依赖数据标签的深度学习窃电检测方法在实际情况下难以得到有效训练,不能发挥其检测性能,无法正确检测出窃电用户。


技术实现要素:

3.本发明为克服上述现有技术要求用电数据包含大量窃电状态标签导致的训练数据量不足的问题,提出一种基于迁移学习的窃电检测方法。
4.本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
5.一种基于迁移学习的窃电检测方法,其特征在于,包括以下步骤:
6.s1:获取检测目标区域内所有用户的子表读数,构建目标域测试集d
target
;将目标区域划分为多个分区域,检测分区域总表读数,并根据分区域总表读数、分区域内所有用户子表读数、电能技术损耗和误差阈值判断分区域是否存在窃电,并设置窃电状态标签,构建源域数据集d
source
;获取少量历史用户的用电数据及其窃电状态标签,构建目标域训练集d
train

7.s2:将步骤s1所述的目标域测试集、源域数据集、目标域训练集分别进行数据预处理,将其中所有用电数据序列分别以日、周、月为时间周期转化为用电数据矩阵,然后进行缺失值恢复、数据清洗、数据归一化;
8.s3:将步骤s2所述的源域数据集划分为源域训练集和源域测试集;
9.s4:搭建源域和目标域cnn神经网络模型,所述cnn神经网络模型包括三个输入层、多个卷积层和多个全连接层;
10.s5:使用源域训练集对源域cnn神经网络模型进行预训练,使用源域测试集对源域cnn神经网络模型进行评估;
11.s6:保存步骤s5评估合格的源域cnn神经网络模型参数,并将其迁移到待训练的目标域cnn神经网络模型中,对目标域cnn神经网络模型参数进行初始化;
12.s7:采用目标域训练集中所有用户的用电数据及其对应的窃电状态标签对步骤s6所述已初始化的目标域cnn神经网络模型进行训练;
13.s8:将目标域测试集中所有用户的用电数据输入到步骤s7训练的目标域cnn神经
网络模型,分类用户类型,寻找目标区域内窃电用户。
14.本方案中,步骤s1所述的目标域测试集d
target
、源域数据集d
source
和目标域训练集d
train
,其具体组成步骤如下:
15.s101:记录目标区域内所有用户子表的读数作为对应用户的用电数据,并构建目标域测试集d
target
如下:
[0016][0017]
其中,dm表示用户m的用电数据序列;d
m,n
表示用户m第n个采样记录的数据;
[0018]
s102:将目标区域划分为多个分区域,检测分区域总表读数,作为分区域用电数据如下:
[0019][0020]
其中,d
sub,g
表示分区域g的用电数据序列;d
sub,g,n
表示分区域g第n个采样记录的数据;
[0021]
s103:按所在区域将各个分区域内的用户子表读数相加,得到各个分区域用户总用电数据如下:
[0022][0023]
其中,d
reg,g
表示分区域g的用户总用电数据序列;d
reg,g,n
表示分区域g第n个采样记录的数据;
[0024]
s104:计算各个分区域总表到用户子表之间输电线路的电能技术损耗d
tl,g
;根据下式计算各分区域的窃电状态标签:
[0025][0026]
其中,y
reg,g
表示分区域g的窃电状态标签,y
reg,g
=1表示为窃电状态,y
reg,g
=0表示为正常状态;α为误差阈值;
[0027]
s105:将各个分区域的用户总用电数据序列及其窃电状态标签组合构建源域数据集d
source

[0028][0029]
s106:根据少量历史用户的用电数据及其窃电状态标签,构建目标域训练集d
train
如下:
[0030][0031]
其中,d
his,k
表示历史用户k的用电数据序列;d
his,k,n
表示历史用户k第n个采样记录的数据;y
his,k
表示历史用户k的窃电状态标签。
[0032]
本方案中,步骤s2所述的数据预处理,其具体组成步骤如下:
[0033]
s201:针对步骤s1所述的目标域测试集、源域数据集和目标域训练集,将其中所有用电数据序列分别以日、周、月为时间周期,转化为用电数据矩阵,所述用电数据矩阵的每一行代表单个时间周期内的用电数据,构建日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
如下:
[0034][0035][0036][0037]
其中,o表示电表采样的天数;p表示电表采样的周数;q表示电表采样的月数;
[0038]
s202:将日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
进行缺失值恢复、数据清洗、数据归一化处理。
[0039]
本方案中,步骤s4所述的搭建源域和目标域cnn神经网络模型,其具体组成步骤如下:
[0040]
s401:所述的cnn神经网络模型有三个输入层,包括日周期数据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month
,其大小分别为o
×
(24
×
60/n)、p
×
(24
×
60
×
7/n)和q
×
(24
×
60
×
30/n);
[0041]
s402:分别使用多个卷积层对三组输入数据进行卷积操作:
[0042]
s1=f(wx
day
+b)
[0043]
s2=f(wx
week
+b)
[0044]
s3=f(wx
month
+b)
[0045]
其中,s1、s2和s3分别三组输入经过多个卷积层后的特征输出;w和b分别表示卷积层的权重和偏置;f(.)表示卷积层的激活函数;
[0046]
s403:使用融合层对s1、s2和s3进行融合,得到s4;
[0047]
s404:使用多个卷积层和全连接层对s4进行特征提取,并输出检测目标的类型:
[0048]
s5=f(ws4+b)
[0049]
y=g(vs5+c)
[0050]
其中,s5为融合层后多个卷积层的特征输出;v和c分别表示全连接层的权重和偏置;g(.)表示全连接层的激活函数;y表示检测目标的类别,y=1表示窃电,y=0表示正常。
[0051]
本方案中,步骤s5所述的使用源域训练集对源域cnn神经网络模型进行预训练,使用源域测试集对源域cnn神经网络模型进行评估,其具体组成步骤如下:
[0052]
s501:将源域训练集和源域测试集中各个分区域的日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
分别作为步骤s4所述源域cnn神经网络模型的日周期数据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month

[0053]
s502:使用源域训练集和源域测试集的用电数据及其窃电状态标签对步骤s4所述的cnn神经网络模型进行预训练和评估。
[0054]
本方案中,步骤s6所述的对目标域cnn神经网络模型参数进行初始化,具体为:将步骤s5所述源域cnn神经网络模型的权重和偏置迁移到目标域cnn神经网络模型,作为其权重和偏置的初始化值。
[0055]
本方案中,步骤s7对已初始化的目标域cnn神经网络模型进行训练,具体为:将目标域训练集中少量历史用户的日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
分别作为步骤s6所述目标域cnn神经网络模型的日周期数据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month

[0056]
与现有技术相比,本发明技术方案的有益效果是:
[0057]
采用迁移学习技术和cnn神经网络模型对目标区域内用户进行检测,克服了现有深度学习窃电检测方法依赖大量含有窃电状态标签数据的问题,只需少量含有窃电状态标签的用电数据,即可获得良好的窃电检测性能;另外,仅使用少量的源域数据和目标域训练数据对cnn神经网络模型进行训练,大幅度减少窃电检测深度神经网络的训练时间,并能准确识别窃电用户。以日、周、月周期数据作为cnn神经网络模型的输入,分别提取日、周、月周期特征,使所提取的特征能够更准确地描述用电行为,从而提高cnn神经网络模型窃电检测性能。
附图说明
[0058]
图1为本发明提出的一种基于迁移学习的窃电检测方法流程图;
[0059]
图2为本发明实施例的cnn神经网络模型。
具体实施方式
[0060]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0061]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0062]
在一个具体的实施例中,如图1所示,一种基于迁移学习的窃电检测方法,包括以下步骤:
[0063]
s1:获取检测目标区域内所有用户的子表读数,构建目标域测试集d
target
;将目标区域划分为多个分区域,检测分区域总表读数,并根据分区域总表读数、分区域内所有用户子表读数、电能技术损耗和误差阈值判断分区域是否存在窃电,并设置窃电状态标签,构建源域数据集d
source
;获取少量历史用户的用电数据及其窃电状态标签,构建目标域训练集d
train

[0064]
s2:将步骤s1所述的目标域测试集、源域数据集、目标域训练集分别进行数据预处理,将其中所有用电数据序列分别以日、周、月为时间周期转化为用电数据矩阵,然后进行缺失值恢复、数据清洗、数据归一化;
[0065]
s3:将步骤s2所述的源域数据集划分为源域训练集和源域测试集;
[0066]
s4:搭建源域和目标域cnn神经网络模型,所述cnn神经网络模型包括三个输入层、多个卷积层和多个全连接层;
[0067]
s5:使用源域训练集对源域cnn神经网络模型进行预训练,使用源域测试集对源域cnn神经网络模型进行评估;
[0068]
s6:保存步骤s5评估合格的源域cnn神经网络模型参数,并将其迁移到待训练的目标域cnn神经网络模型中,对目标域cnn神经网络模型参数进行初始化;
[0069]
s7:采用目标域训练集中所有用户的用电数据及其对应的窃电状态标签对步骤s6所述已初始化的目标域cnn神经网络模型进行训练;
[0070]
s8:将目标域测试集中所有用户的用电数据输入到步骤s7训练的目标域cnn神经网络模型,分类用户类型,寻找目标区域内窃电用户。
[0071]
本方案中,步骤s1所述的目标域测试集d
target
、源域数据集d
source
和目标域训练集d
train
,其具体组成步骤如下:
[0072]
s101:记录目标区域内所有用户子表的读数作为对应用户的用电数据,并构建目标域测试集d
target
如下:
[0073][0074]
其中,dm表示用户m的用电数据序列;d
m,n
表示用户m第n个采样记录的数据;
[0075]
s102:将目标区域划分为多个分区域,检测分区域总表读数,作为分区域用电数据如下:
[0076][0077]
其中,d
sub,g
表示分区域g的用电数据序列;d
sub,g,n
表示分区域g第n个采样记录的数据;
[0078]
s103:按所在区域将各个分区域内的用户子表读数相加,得到各个分区域用户总用电数据如下:
[0079][0080]
其中,d
reg,g
表示分区域g的用户总用电数据序列;d
reg,g,n
表示分区域g第n个采样记录的数据;
[0081]
s104:计算各个分区域总表到用户子表之间输电线路的电能技术损耗d
tl,g
;根据下式计算各分区域的窃电状态标签:
[0082][0083]
其中,y
reg,g
表示分区域g的窃电状态标签,y
reg,g
=1表示为窃电状态,y
reg,g
=0表示为正常状态;α为误差阈值;
[0084]
s105:将各个分区域的用户总用电数据序列及其窃电状态标签组合构建源域数据集d
source

[0085][0086]
s106:根据少量历史用户的用电数据及其窃电状态标签,构建目标域训练集d
train
如下:
[0087][0088]
其中,d
his,k
表示历史用户k的用电数据序列;d
his,k,n
表示历史用户k第n个采样记录的数据;y
his,k
表示历史用户k的窃电状态标签。
[0089]
本方案中,步骤s2所述的数据预处理,其具体组成步骤如下:
[0090]
s201:针对步骤s1所述的目标域测试集、源域数据集和目标域训练集,将其中所有用电数据序列分别以日、周、月为时间周期,转化为用电数据矩阵,所述用电数据矩阵的每
一行代表单个时间周期内的用电数据,构建日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
如下:
[0091][0092][0093][0094]
其中,o表示电表采样的天数;p表示电表采样的周数;q表示电表采样的月数;
[0095]
s202:将日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
进行缺失值恢复、数据清洗、数据归一化处理。
[0096]
本方案中,步骤s4所述的搭建源域和目标域cnn神经网络模型,如图2所示,其具体组成步骤如下:
[0097]
s401:所述的cnn神经网络模型有三个输入层,包括日周期数据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month
,其大小分别为o
×
(24
×
60/n)、p
×
(24
×
60
×
7/n)和q
×
(24
×
60
×
30/n);
[0098]
s402:分别使用多个卷积层对三组输入数据进行卷积操作:
[0099]
s1=f(wx
day
+b)
[0100]
s2=f(wx
week
+b)
[0101]
s3=f(wx
month
+b)
[0102]
其中,s1、s2和s3分别三组输入经过多个卷积层后的特征输出;w和b分别表示卷积层的权重和偏置;f(.)表示卷积层的激活函数;
[0103]
s403:使用融合层对s1、s2和s3进行融合,得到s4;
[0104]
s404:使用多个卷积层和全连接层对s4进行特征提取,并输出检测目标的类型:
[0105]
s5=f(ws4+b)
[0106]
y=g(vs5+c)
[0107]
其中,s5为融合层后多个卷积层的特征输出;v和c分别表示全连接层的权重和偏置;g(.)表示全连接层的激活函数;y表示检测目标的类别,y=1表示窃电,y=0表示正常。
[0108]
本方案中,步骤s5所述的使用源域训练集对源域cnn神经网络模型进行预训练,使用源域测试集对源域cnn神经网络模型进行评估,其具体组成步骤如下:
[0109]
s501:将源域训练集和源域测试集中各个分区域的日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
分别作为步骤s4所述源域cnn神经网络模型的日周期数
据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month

[0110]
s502:使用源域训练集和源域测试集的用电数据及其窃电状态标签对步骤s4所述的cnn神经网络模型进行预训练和评估。
[0111]
本方案中,步骤s6所述的对目标域cnn神经网络模型参数进行初始化,具体为:将步骤s5所述源域cnn神经网络模型的权重和偏置迁移到目标域cnn神经网络模型,作为其权重和偏置的初始化值。
[0112]
本方案中,步骤s7对已初始化的目标域cnn神经网络模型进行训练,具体为:将目标域训练集中少量历史用户的日周期数据矩阵d
day
、周周期数据矩阵d
week
、月周期数据矩阵d
month
分别作为步骤s6所述目标域cnn神经网络模型的日周期数据输入x
day
、周周期数据输入x
week
和月周期数据输入x
month

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1