CN117034115A - 一种基于CNN-Bagging的窃电检测方法及系统 - Google Patents
一种基于CNN-Bagging的窃电检测方法及系统 Download PDFInfo
- Publication number
- CN117034115A CN117034115A CN202311013261.2A CN202311013261A CN117034115A CN 117034115 A CN117034115 A CN 117034115A CN 202311013261 A CN202311013261 A CN 202311013261A CN 117034115 A CN117034115 A CN 117034115A
- Authority
- CN
- China
- Prior art keywords
- electricity
- data
- bagging
- cnn
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005611 electricity Effects 0.000 title claims abstract description 258
- 238000001514 detection method Methods 0.000 title claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 230000006399 behavior Effects 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 238000000605 extraction Methods 0.000 claims abstract description 18
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 238000013135 deep learning Methods 0.000 claims abstract description 12
- 238000010606 normalization Methods 0.000 claims abstract description 12
- 239000013598 vector Substances 0.000 claims description 11
- 230000003442 weekly effect Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000003066 decision tree Methods 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Water Supply & Treatment (AREA)
- Public Health (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Emergency Alarm Devices (AREA)
Abstract
本发明公开了一种基于CNN‑Bagging的窃电检测方法及系统,对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;基于分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN‑Bagging窃电检测模型;利用训练样本数据对CNN‑Bagging窃电检测模型进行训练,将测试样本数据输入训练完成的CNN‑Bagging窃电检测模型中,输出窃电检测结果。本发明提高了窃电检测模型的特征提取能力,降低了检测时延。
Description
技术领域
本发明属于窃电检测技术领域,具体涉及一种基于CNN-Bagging的窃电检测方法及系统。
背景技术
电力产业是国民经济中的重要基础产业,其生产运营不仅关系到我们的日常生活,更关系到国计民生和社会稳定。窃电现象在世界各国都是一个普遍存在的问题。据统计,窃电现象每年造成的经济损失已经超过893亿美元。电力盗窃不仅会对电力公司造成直接经济损失,还会导致电网过载,进而影响正常用电,甚至危及用户的生命财产安全。电力损失问题已经发展成为电力产业发展过程中不容忽视的一个方面。
传统的用户窃电检测方法存在着明显的局限性,如定期巡检、定期校验电表、及时跟进用户举报等方法,不仅需要大量人力、物力、财力,而且都存在一定滞后性。此外,窃电嫌疑人也有可能采用不同的窃电手段来规避这些传统的检测方法。
随着智能电网的普及,智能电表等设备可以产生大量数据,这些数据不仅可以为电力系统的监控和管理提供重要的支持,还为数据驱动的窃电检测方法提供了有力的数据支撑。这些大体量、高维度的用电数据为深度学习提供了契机。深度学习技术可以结合电力用户的用电数据、地理位置、气候环境等信息,对用户用电行为进行特征提取,从而得到具有异常用电行为的用户画像,可以更准确地识别出异常用电的用户。与传统检测方法相比,基于数据驱动和深度学习的用户窃电检测方法具有更高的效率和准确性,已经成为窃电检测的主要研究方向。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于CNN-Bagging的窃电检测方法及系统,用于解决窃电场景中特征提取不全面,窃电检测精度不高的技术问题。
本发明采用以下技术方案:
一种基于CNN-Bagging的窃电检测方法,包括以下步骤:
S1、对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;
S2、基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;
S3、基于步骤S2得到的分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;
S4、利用步骤S1得到的训练样本数据对步骤S3得到的CNN-Bagging窃电检测模型进行训练,将步骤S1得到的测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
具体的,步骤S1中,缺失值处理具体为:
将缺失值前后两天的用电量均值与前后四周的周内同一天用电量均值进行加权求和填充,找到相邻周期内同一时间点的数据值,并计算这些相邻周期内数据值的平均数,最终将平均值作为缺失值的估计值进行填充;加权求和填充如下:
其中,Cw,d表示用户在第w周的第d天的用电负荷,Cn,d表示用户在同一时间点的用电负荷,f(Cw,d)为经计算得到的填充值,α为周期性所占比例,β为时间局部性所占比例,j为周次上限,i为周次下限,NaN为缺失值。
具体的,步骤S1中,异常值处理具体为:
将用户用电数据的上下四分位数计算出来,然后计算四分位距,即Q3-Q1,将超过预测上限Q3+3*(Q3-Q1)的数据视为异常值;针对低于下限Q1-3*(Q3-Q1)的异常值不进行处理,即:
其中,IQR表示四分位距,Cd为原用户用电量,f(Cd)为经处理后的用户用电量。
进一步的,步骤S1中,将归一化处理后的用户用电数据随机打乱,选取其中80%作为训练样本数据,其余20%作为测试样本数据,迭代次数为200次。
具体的,步骤S2中,基于用电周期性分析构建CNN-Bagging窃电检测模型,用电周期性分析包括日负荷特征分析,周负荷特征分析和月负荷特征分析;
在用户用电数据中随机选择一个正常用户,并对一个月内每周的用电负荷进行分析,确定日负荷及特征;
在用户用电数据中随机选择一个正常用户,并对一个月内每周的用电负荷进行分析,确定周负荷特征;
在用户用电数据中随机选择一个正常用户,统计每个月的用电总量,绘制用电月负荷曲线,确定月负荷特征。
具体的,步骤S2中,传统节假日对用电数据影响分析具体为:
在用户用电数据中随机选取多个电力用户,对多个电力用户在非节假日和节假日上的用电量进行可视化比较,确定不同类型节假日下用电量的分布情况,用于构建CNN-Bagging窃电检测模型。
具体的,步骤S3中,CNN-Bagging窃电检测模型包含特征提取模型、Bagging模型、HPCNN模型,HPCNN模型为多维卷积神经网络,构建HPCNN-BG模型时,去掉HPCNN模型中的最后一层全连接层,HPCNN模型的输出是一个32维的用电数据特征向量;将HPCNN输出的32维特征向量作为Bagging模型的输入,并使用Bagging模型训练多个分类器,然后将它们的输出进行平均或投票得到最终的预测结果。
进一步的,特征提取模型分别用于提取用电日负荷数据特征、用电周负荷数据特征和用电月负荷数据特征,具体为:
将原始单个用户的一维用电量数据按照一周7天的形式,处理为m×7维度的用电周负荷数据Am×7如下:
将原始数据处理为n×28维度的用电月负荷数据Bn×28如下:
进一步的,使用50个基分类器构建Bagging模型,从特征提取模型输出的用电数据特征向量集中随机选取50%的样本和70%的特征训练每个基分类器,对于每个基分类器使用相同的决策树算法,将50个基分类器的输出平均,得到窃电检测模型的分类结果。
第二方面,本发明实施例提供了一种基于CNN-Bagging的窃电检测系统,包括:
数据模块,对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;
分析模块,基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;
构建模块,基于分析模块得到的分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;
检测模块,利用数据模块得到的训练样本数据对构建模块得到的CNN-Bagging窃电检测模型进行训练,将数据模块得到的测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
与现有技术相比,本发明至少具有以下有益效果:
一种基于CNN-Bagging的窃电检测方法,考虑用户用电数据的周期性特征,结合周期性和时间局部性对缺失值进行填充,能够更好地还原用电数据,提高检测准确度;提出的融合周期性和传统节假日信息的特征提取模型,能够深度挖掘用户用电数据的深层次特征,提高窃电检测精度;通过现有的智能电网终端设备采集到的用户用电信息,能够在采集到用电数据后,及时判断用户是否存在窃电行为。
进一步的,缺失值处理设置的目的或好处在于:通过结合周期性和时间局部性对缺失值进行填充,提高用电数据的还原度,从而提升窃电检测的准确性。具体原理分析说明如下:缺失值的填充采用了周内同一时间点和周次内相邻周期数据的加权平均,充分考虑了周期性和时间局部性的影响,使得填充后的数据更加真实反映实际用电情况,进而改善了窃电检测的效果。
进一步的,异常值处理设置的目的或好处在于:通过剔除异常值,减少了用电数据中的干扰因素,提升了窃电检测模型的稳定性和可靠性。具体原理分析说明如下:根据四分位数计算异常值的上下界,对超过上界的数据进行剔除,可以有效排除不符合实际情况的异常数据,使得窃电检测模型更加关注真实用电行为,提高了检测的精确性。
进一步的,通过分析不同时间尺度下的用电特征,构建了更加准确的窃电检测模型;不同的时间周期对用电行为产生不同影响,日、周、月不同的负荷特征反映了用户用电的周期性变化,综合考虑这些特征可以更好地识别窃电行为,提高了检测的可靠性和精确性。
进一步的,通过分析传统节假日对用电数据的影响,构建了更加精准的窃电检测模型;不同类型的节假日会导致用户用电行为发生变化,分析节假日与非节假日下的用电量差异,可以更好地区分正常用电和窃电行为,增强了模型的区分能力。
进一步的,通过融合深度学习模型和集成学习方法,构建了更加强大的窃电检测模型;HPCNN模型通过多维卷积神经网络提取用电数据的特征,经过Bagging算法的训练,将多个基分类器的输出进行平均,提高了模型的鲁棒性和准确性,进一步增强了窃电检测能力。
进一步的,通过提取不同时间尺度下的用电特征,更全面地反映用户用电行为。具体原理分析说明如下:用电数据在不同的时间周期内表现出不同的规律,提取日、周、月负荷数据特征可以捕捉到这些规律,从而更准确地描述用户的用电行为,进一步提高了窃电检测模型的精确性。
进一步的,使用50个基分类器构建Bagging模型,通过集成多个基分类器的输出,增强了窃电检测模型的稳定性和泛化能力,Bagging算法通过随机抽样和并行训练构建多个基分类器,将它们的输出进行平均,可以降低模型的过拟合风险,提高了模型的鲁棒性和准确性,进一步增强了窃电检测的效果。
可以理解的是,上述第二方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
综上所述,本发明基于CNN-Bagging的窃电检测方法及系统通过充分考虑用户用电数据的周期性特征、异常值处理、节假日影响和集成学习等策略,实现了更准确、可靠、全面的窃电检测。其特点包括全面特征提取、多维度分析、异常值处理、节假日影响分析、集成学习方法等,从而在提高检测准确度、降低误报率、增强实时性等方面表现出显著优越性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为正常用户日负荷曲线图;
图2为窃电用户日负荷曲线图;
图3为正常用户周负荷曲线图;
图4为窃电用户周负荷曲线图;
图5为正常用户月负荷曲线图;
图6为窃电用户月负荷曲线图;
图7为用户在非节假日和节假日上的用电量箱线图和概率密度图;
图8为CNN-Bagging模型的结构图;
图9为CNN-Bagging模型在测试集上的混淆矩阵热力图。
图10为本发明根据一实施例提供的一种芯片的框图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明提供了一种基于CNN-Bagging的窃电检测方法,结合用电周期性和时间局部性对缺失值进行填充,更加有效地还原真实用电数据。在此基础上,运用改进的卷积神经网络进行用户用电行为特征提取,并将CNN模型和Bagging分类器结合,提高了窃电检测模型的特征提取能力,降低了检测时延。
以中国国家电网公司发布的用户真实用电量数据集为研究对象,该数据集包含了42372位电力用户在1035天内的用电量时序数据。此数据集的代表性非常高,因为它覆盖了不同时间、行业和地理位置的电力用户。此外,该数据集中还包含了一些特殊日期的数据,例如节假日和重大活动期间数据。
本发明一种基于CNN-Bagging的窃电检测方法,包括以下步骤:
S1、用户用电数据预处理
S101、缺失值处理
缺失值是指数据中存在的空缺。在智能电网窃电检测任务中,由于电表故障、数据传输和存储过程中的问题等原因,数据集中可能存在缺失值。经分析发现,在数据集中存在大量缺失值。如果不对这些缺失值进行处理,可能会对模型的准确性和精度产生影响。
在对缺失值进行处理时,将缺失值前后两天的用电量均值与前后四周的周内同一天用电量均值进行加权求和填充,即:
其中,Cw,d表示用户在第w周的第d天的用电负荷,Cn,d表示用户在同一时间点(除了本周外)的用电负荷,即对于缺失值所处的时间点,找到相邻周期内同一时间点的数据值(周内同一天的前一周、前两周、后一周、后两周),并计算这些相邻周期内数据值的平均数,最终将平均值作为缺失值的估计值进行填充。
S102、异常值处理
在智能电网中,由于用电数据采集和传输过程中的各种原因,如传感器故障或数据传输过程的噪声干扰等,可能会导致收集到的用电数据中存在异常值,即与其他观测值明显偏离的数据点。如果不对这些异常值进行处理,可能会对模型的准确性和可靠性造成负面影响,甚至会得到错误的结论。
将数据的上下四分位数计算出来,然后计算四分位距,即Q3-Q1,将超过预测上限Q3+3*(Q3-Q1)的数据视为异常值。在窃电检测中,主要关注的是低于正常用电量的样本。因此,针对低于下限Q1-3*(Q3-Q1)的异常值不进行处理,以避免对数据的误判和干扰,即:
其中,IQR表示四分位距,IQR=Q3-Q1。
S103、归一化
在处理了缺失值和异常值后,需要对用户用电数据进行归一化。因为神经网络对不同的数据变换非常敏感,而归一化可以消除不同特征之间的量纲影响,从而提高提高模型的精度和稳定性,并使得模型的学习和收敛速度更快。
采用MAX-MN规范化方法进行归一化,即:
其中,f(Cd)表示归一化后的数据,Cd表示原始用电量,min(C)和max(C)分别表示该用户用电数据的最小值和最大值。
S2、用户用电行为特征分析;
S201、用电周期性分析
(1)日负荷特征分析
在数据集中,随机选择了一个正常用户和一个窃电用户,绘制他们在55天内的用电日负荷曲线,分别如图1和图2所示。可以看出,正常用户的日用电量波动相对较小,该用户在给定时间内的最大负荷与最小负荷的差值仅有7千瓦时左右。相比之下,窃电用户的日用电量波动较大,且在一个时间点(2014年10月28日)后处于一个较低的水平。这表明正常用户的用电量分布比较稳定,而窃电用户则存在较大的波动性和不稳定性。
(2)周负荷特征分析
在数据集中随机选择了一个正常用户,并对其一个月内每周的用电负荷进行分析,结果绘制成图3。从图中可以明显看出,该电力用户的用电负荷存在周期性,即在每周二和周四,其用电量达到峰值,而在每周三,其用电量达到底部(第2周除外)。相反,随机选择的窃电用户,其用电周负荷曲线如图4所示。相比正常用户,该窃电用户的用电负荷呈现出较小的周期性特征,难以明确辨别出周期性的变化规律。因此,通过分析正常用户和窃电用户在用电周负荷上表现出来的不同特征,可以在一定程度上帮助区分正常用户和窃电用户。
(3)月负荷特征分析
在数据集中随机选取了一个正常用户,统计其每个月的用电总量,绘制用电月负荷曲线,如图5所示,图6为随机选择的窃电用户的用电月负荷曲线。从图中可以看出,正常用户的月负荷具有强烈的周期性,其中7月用电量最高。相反,随机选取的窃电用户没有表现出明显的周期性,且该用户在2014年的用电量整体较高,而2015年和2016年的用电量整体相对较低。推测该窃电用户可能在2014后发生了窃电现象。
S202、传统节假日对用电数据影响分析
在数据集中随机选取了20个电力用户,并对这些用户在非节假日和节假日上的用电量进行可视化比较。具体地,使用箱线图和概率密度图展示了不同类型节假日下用电量的分布情况,如图7所示。从图中可以看到,在一些特殊的节假日,如春节和清明节,用户的用电量明显下降,而在另一些节假日中,如端午节和中秋节,用户的用电量则有所上升。这种趋势表明,不同的节假日对用电量有着不同的影响,需要在模型中加以考虑。
S3、构建窃电检测模型;
使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型,CNN-Bagging窃电检测模型包含四部分输入,即用电日负荷特征,用电周负荷特征,用电月负荷特征和节假日信息,特征提取模型部分包含日负荷及特征提取,周负荷特征提取及月负荷特征提取三部分,特征提取模型输出的32维特征向量输入到Bagging模型中进行分类,网络结构如图8所示。
用电日负荷输入向量为[c1 c2 c3 … cd],传统节假日信息输入向量为[0 0 1 00 1 0 … hd]。
为了能提取用电周负荷数据特征,需要将原始单个用户的一维用电量数据按照一周7天的形式,处理为m×7维度的用电周负荷数据,即:
同样的方法,将原始数据处理为n×28维度的用电月负荷数据,即:
将HPCNN(Holiday Periodic Convolutional Neural Network)输出的32维特征向量作为Bagging模型的输入,并训练多个分类器。
使用50个基分类器来构建Bagging模型,从特征提取模型输出的用电数据特征向量集中随机选取50%的样本和70%的特征来训练每个基分类器。对于每个基分类器,都使用相同的决策树算法,但是使用不同的数据和特征子集来训练。最终,将50个基分类器的输出进行平均,得到窃电检测模型的分类结果。
S4、对CNN-Bagging窃电检测模型进行训练、验证。
每次训练CNN-Bagging模型前,先将数据集随机打乱,选取其中80%作为训练样本数据,其余20%作为测试样本数据,迭代次数为200次。
利用测试样本数据测试经训练样本数据训练后的CNN-Bagging窃电检测模型,得到混淆矩阵如图9所示。通过图9可见,721次窃电行为中被正确判定为窃电行为的次数为697次,被误判为正常用电行为的次数为24次,漏报率仅为3.3%。在误报率上,2171次正常用电行为中,被误判为窃电行为的次数累计为10次,误报率仅为0.46%。模型整体分类准确率为(2161+697)/(721+2171)=98.82%。
通过分析可知,本发明基于CNN-Bagging的窃电检测方法的分类准确率较高,正常用电行为的误报率较低,窃电行为的漏判较低,基本能够满足电力应用的需求,对于窃电管理工作具有实际意义。
本发明再一个实施例中,提供一种基于CNN-Bagging的窃电检测系统,该系统能够用于实现上述基于CNN-Bagging的窃电检测方法,具体的,该基于CNN-Bagging的窃电检测系统包括数据模块、分析模块、构建模块以及检测模块。
其中,数据模块,对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;
分析模块,基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;
构建模块,基于分析模块得到的分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;
检测模块,利用数据模块得到的训练样本数据对构建模块得到的CNN-Bagging窃电检测模型进行训练,将数据模块得到的测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于CNN-Bagging的窃电检测方法的操作,包括:
对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;基于分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;利用训练样本数据对CNN-Bagging窃电检测模型进行训练,将测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
请参阅图10,终端设备为芯片,该实施例的芯片600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的基于CNN-Bagging的窃电检测方法。
另外,芯片600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行芯片600的电源管理,该通信组件650可以被配置为实现芯片600的通信,例如,有线或无线通信。此外,该芯片600还可以包括输入/输出(I/O)接口658。芯片600可以操作基于存储在存储器632的操作系统。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-Volatile Memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于CNN-Bagging的窃电检测方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;基于分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;利用训练样本数据对CNN-Bagging窃电检测模型进行训练,将测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
综上所述,本发明一种基于CNN-Bagging的窃电检测方法及系统,在窃电场景中取得了显著的技术突破。通过充分挖掘用户用电数据的周期性特征、深度特征,结合周、月负荷数据分析以及异常值处理等策略,构建了强大的窃电检测模型。该模型不仅能够高度还原用电数据,提高检测的准确度和精确性,而且有效地剔除了干扰因素,增强了模型的稳定性。通过融合集成学习方法,模型能够更好地捕捉潜在的窃电行为,实时判断用户是否存在窃电行为。综上所述,本发明在窃电检测领域具有广泛的应用前景,为智能电网和用电安全领域带来了显著的技术创新和实际应用效益。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (10)
1.一种基于CNN-Bagging的窃电检测方法,其特征在于,包括以下步骤:
S1、对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;
S2、基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;
S3、基于步骤S2得到的分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;
S4、利用步骤S1得到的训练样本数据对步骤S3得到的CNN-Bagging窃电检测模型进行训练,将步骤S1得到的测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
2.根据权利要求1所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S1中,缺失值处理具体为:
将缺失值前后两天的用电量均值与前后四周的周内同一天用电量均值进行加权求和填充,找到相邻周期内同一时间点的数据值,并计算这些相邻周期内数据值的平均数,最终将平均值作为缺失值的估计值进行填充;加权求和填充如下:
其中,Cw,d表示用户在第w周的第d天的用电负荷,Cn,d表示用户在同一时间点的用电负荷,f(Cw,d)为经计算得到的填充值,α为周期性所占比例,β为时间局部性所占比例,j为周次上限,i为周次下限,NaN为缺失值。
3.根据权利要求1所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S1中,异常值处理具体为:
将用户用电数据的上下四分位数计算出来,然后计算四分位距,即Q3-Q1,将超过预测上限Q3+3*(Q3-Q1)的数据视为异常值;针对低于下限Q1-3*(Q3-Q1)的异常值不进行处理,即:
其中,IQR表示四分位距,Cd为原用户用电量,f(Cd)为经处理后的用户用电量。
4.根据权利要求1或2或3所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S1中,将归一化处理后的用户用电数据随机打乱,选取其中80%作为训练样本数据,其余20%作为测试样本数据,迭代次数为200次。
5.根据权利要求1所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S2中,基于用电周期性分析构建CNN-Bagging窃电检测模型,用电周期性分析包括日负荷特征分析,周负荷特征分析和月负荷特征分析;
在用户用电数据中随机选择一个正常用户,并对一个月内每周的用电负荷进行分析,确定日负荷及特征;
在用户用电数据中随机选择一个正常用户,并对一个月内每周的用电负荷进行分析,确定周负荷特征;
在用户用电数据中随机选择一个正常用户,统计每个月的用电总量,绘制用电月负荷曲线,确定月负荷特征。
6.根据权利要求1所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S2中,传统节假日对用电数据影响分析具体为:
在用户用电数据中随机选取多个电力用户,对多个电力用户在非节假日和节假日上的用电量进行可视化比较,确定不同类型节假日下用电量的分布情况,用于构建CNN-Bagging窃电检测模型。
7.根据权利要求1所述的基于CNN-Bagging的窃电检测方法,其特征在于,步骤S3中,CNN-Bagging窃电检测模型包含特征提取模型、Bagging模型、HPCNN模型,HPCNN模型为多维卷积神经网络,构建HPCNN-BG模型时,去掉HPCNN模型中的最后一层全连接层,HPCNN模型的输出是一个32维的用电数据特征向量;将HPCNN输出的32维特征向量作为Bagging模型的输入,并使用Bagging模型训练多个分类器,然后将它们的输出进行平均或投票得到最终的预测结果。
8.根据权利要求7所述的基于CNN-Bagging的窃电检测方法,其特征在于,特征提取模型分别用于提取用电日负荷数据特征、用电周负荷数据特征和用电月负荷数据特征,具体为:
将原始单个用户的一维用电量数据按照一周7天的形式,处理为m×7维度的用电周负荷数据Am×7如下:
将原始数据处理为n×28维度的用电月负荷数据Bn×28如下:
9.根据权利要求7所述的基于CNN-Bagging的窃电检测方法,其特征在于,使用50个基分类器构建Bagging模型,从特征提取模型输出的用电数据特征向量集中随机选取50%的样本和70%的特征训练每个基分类器,对于每个基分类器使用相同的决策树算法,将50个基分类器的输出平均,得到窃电检测模型的分类结果。
10.一种基于CNN-Bagging的窃电检测系统,其特征在于,包括:
数据模块,对用户用电数据中的缺失值和异常值进行处理,然后对用户用电数据进行归一化处理,划分训练样本数据和测试样本数据;
分析模块,基于用电周期性和传统节假日对用电数据的影响,对用户用电行为特征进行分析;
构建模块,基于分析模块得到的分析结果,使用基于Python的深度学习框架PyTorch框架建立CNN-Bagging窃电检测模型;
检测模块,利用数据模块得到的训练样本数据对构建模块得到的CNN-Bagging窃电检测模型进行训练,将数据模块得到的测试样本数据输入训练完成的CNN-Bagging窃电检测模型中,输出窃电检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311013261.2A CN117034115A (zh) | 2023-08-11 | 2023-08-11 | 一种基于CNN-Bagging的窃电检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311013261.2A CN117034115A (zh) | 2023-08-11 | 2023-08-11 | 一种基于CNN-Bagging的窃电检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117034115A true CN117034115A (zh) | 2023-11-10 |
Family
ID=88633168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311013261.2A Pending CN117034115A (zh) | 2023-08-11 | 2023-08-11 | 一种基于CNN-Bagging的窃电检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117034115A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117611393A (zh) * | 2024-01-24 | 2024-02-27 | 国网安徽省电力有限公司合肥供电公司 | 一种基于大数据的反窃电数据采集方法 |
-
2023
- 2023-08-11 CN CN202311013261.2A patent/CN117034115A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117611393A (zh) * | 2024-01-24 | 2024-02-27 | 国网安徽省电力有限公司合肥供电公司 | 一种基于大数据的反窃电数据采集方法 |
CN117611393B (zh) * | 2024-01-24 | 2024-04-05 | 国网安徽省电力有限公司合肥供电公司 | 一种基于大数据的反窃电数据采集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Electricity theft detection in power grids with deep learning and random forests | |
Bifet et al. | Pitfalls in benchmarking data stream classification and how to avoid them | |
CN111967512B (zh) | 一种异常用电检测方法、系统和存储介质 | |
CN102291392B (zh) | 一种基于Bagging算法的复合式入侵检测方法 | |
CN108198408B (zh) | 一种基于用电信息采集系统的自适应反窃电监控方法及系统 | |
CN117034115A (zh) | 一种基于CNN-Bagging的窃电检测方法及系统 | |
CN114414935A (zh) | 基于大数据的配电网馈线故障区域自动化定位方法和系统 | |
CN115630045B (zh) | 基于人工智能的数据溯源追踪方法及ai系统 | |
Mir et al. | Anomalies prediction in radon time series for earthquake likelihood using machine learning-based ensemble model | |
CN115329839A (zh) | 一种基于卷积自编码器和改进回归算法的窃电用户辨识和窃电量预测方法 | |
CN114066261A (zh) | 一种电表的篡改检测方法、装置、计算机设备和存储介质 | |
WO2019038527A1 (en) | DETECTION OF ABNORMAL SYSTEMS | |
Irfan et al. | Energy theft identification using AdaBoost Ensembler in the Smart Grids | |
CN111489073A (zh) | 一种基于分类算法的用户用电廉情预警方法 | |
CN115563477A (zh) | 谐波数据识别方法、装置、计算机设备和存储介质 | |
CN114723554B (zh) | 异常账户识别方法及装置 | |
CN112256735B (zh) | 一种用电监测方法、装置、计算机设备和存储介质 | |
CN115905654A (zh) | 业务数据的处理方法、装置、设备、存储介质和程序产品 | |
CN114140246A (zh) | 模型训练方法、欺诈交易识别方法、装置和计算机设备 | |
CN109189775B (zh) | 一种工业监控平台海量数据处理系统及方法 | |
Salman Rahman et al. | Modeling the smart factory manufacturing products characteristics: The perspective of energy consumption | |
Ceschini et al. | Multivariate Time Series Analysis for Electrical Power Theft Detection in the Distribution Grid | |
Shoman et al. | Limitations for Data-driven Safeguards at Enrichment Facilities. | |
Shoman et al. | Insights from Applied Machine Learning for Safeguarding a PUREX Reprocessing Facility. | |
CN113537363B (zh) | 一种异常对象检测方法及装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |