CN110458725A - 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端 - Google Patents

一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端 Download PDF

Info

Publication number
CN110458725A
CN110458725A CN201910768081.2A CN201910768081A CN110458725A CN 110458725 A CN110458725 A CN 110458725A CN 201910768081 A CN201910768081 A CN 201910768081A CN 110458725 A CN110458725 A CN 110458725A
Authority
CN
China
Prior art keywords
xgboost model
xgboost
data
value
trained
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
Application number
CN201910768081.2A
Other languages
English (en)
Inventor
王雪晶
苏运东
孙浩淞
上官霞
蔡荣彦
吴骏
倪文书
陈锐
陈爽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Fujian Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd
Original Assignee
State Grid Fujian Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Fujian Electric Power Co Ltd, Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd filed Critical State Grid Fujian Electric Power Co Ltd
Priority to CN201910768081.2A priority Critical patent/CN110458725A/zh
Publication of CN110458725A publication Critical patent/CN110458725A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply

Abstract

本发明涉及一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端。通过获取待判定用电数据,将待判定用电数据输入至已训练完成的xgBoost模型;已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果;本发明通过在数据存储部分,采用Hadoop分布式存储的方式对文件进行存储,并利用分布式计算对数据进行批量的清洗、转换,提升数据处理效率;在数据分析模块,通过xgBoost模型对数据进行分析,进而识别窃电行为,由于xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快,从而使得使用xgBoost算法能提高窃电识别的工作效率和精准度。

Description

一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及 终端
技术领域
本发明属于电力技术领域,特别涉及一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端。
背景技术
窃电行为是盗用国家电力财产的行为,虽然目前电力企业采用用电检查开展防窃电工作,但是在实践中发现,当前窃电手段是传统窃电手段远远无法比拟的,而且窃电手段更加复杂。总结当前比较主流的窃电手段,可以概括为四类:
一、部分窃电者通过改变电流的方式达到窃电的目的。包括电流短接回路、电流开路回流、改变电流接入方法、将电压联片处于断开的状态或者在电压线圈上增加分压电阻等等;
二、改变电表的接线方式和结构。包括采用零火线、断零窃电、在计量器上将计数线路改变导致计量器不能正常计数、在电表上安装磁铁以减小铝盘之间的缝隙来让电表计数变得很慢、改变电流线圈层数、改变电流与电压之间的线路、在电表上安装可遥控的装置来控制电流的速度等等;
三、是改变电表的编程。因为电表不能改变其时间和时段,所以有些人就从另外的角度改变电能表的编程,在电价比较低的时候增大用电量,电价高的时候减少用电量,从而在保证总的用电量不变的情况减少电费的缴纳;
四、绕越计量装置。这种方式主要体现在私自接公线,这种方式被广泛应用,因为其操作简单,并且比较容易消灭窃电证据,主要是在用电检查人员检查用电情况时直接将窃电电线断开就可以了,等到检查人员走就又可以接上,这样检查人员没有办法找到窃电的证据。这种窃电方式极其容易带来安全隐患,一方面是接线的接头都是用胶布封闭的,这样容易受到强大电流使线路短路,就容易出现安全事故。
在现有技术中,对用电异常的发现主要通过定期巡检、现场校验电表、用户举报窃电等手段来发现窃电或计量装置故障,对人的依赖性太强、目标不清晰、无法量化考核。随着用电信息采集系统的大量应用,大量的供电单位营销稽查人员、用电检查人员和计量工作人员利用系统计量异常报警功能和用电数据查询功能开展用户用电情况的在线监控工作,通过采集电量异常、负荷异常、终端报警、主站报警、线损异常等信息,建立数据分析模型,来实时监测用电异常情况和发现计量装置的故障。根据报警事件发生前后客户计量点有关的电流、电压、负荷数据情况等,实现用户用电异常的在线识别,这种方法严重依赖于投入的人力资源数量、业务人员的业务经验、人员工作敬业程度等,不具备可持续性。
传统的用电异常分析方法,虽然能获得用电异常的某些信息,但由于终端误报或漏报过多,无法达到真正快速精确定位异常用电用户的目的,往往令稽查工作人员无所适从,具有很大的主观性,存在明显的缺陷,所以实施效果往往不尽如人意。
电力公司用电异常分析主要依赖于用电检查、终端报警事件、逐户用电分析等手段,人力资源投入大,效果不明显,故而,急需一种方法来提高窃电识别的工作效率和精准度。
发明内容
本发明的目的在于提供一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端,以提高窃电识别的工作效率和精准度。
为实现上述目的,本发明的技术方案是:
一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,包括如下步骤:
S1、获取待判定用电数据,并将待判定用电数据输入至已训练完成的xgBoost模型;
S2、通过已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待判定用电数据,并将待判定用电数据输入至已训练完成的xgBoost模型;
S2、通过已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果。
相较于现有技术,本发明具有以下有益效果:本发明的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端,在数据存储部分,采用Hadoop分布式存储的方式对文件进行存储,并利用分布式计算对数据进行批量的清洗、转换,提升数据处理效率;在数据分析模块,通过xgBoost模型对数据进行分析,进而识别窃电行为,由于xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快,从而使得使用xgBoost算法能提高窃电识别的工作效率和精准度。
附图说明
图1为本发明实施例的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法的流程示意图;
图2为本发明实施例的xgBoost模型的算法示意图;
图3为本发明实施例的一种基于xgBoost模型和Hadoop架构的窃电识别分析终端的结构示意图。
标号说明:
1、一种基于xgBoost模型和Hadoop架构的窃电识别分析终端;2、处理器;3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图2,一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,包括步骤:
S1、获取待判定用电数据,将所述待判定用电数据输入至已训练完成的xgBoost模型;
S2、已训练完成的xgBoost模型识别所述待判定用电数据,得到窃电行为判定结果。
从上述描述可知,本发明的有益效果在于:在数据存储部分,采用Hadoop分布式存储的方式对文件进行存储,并利用分布式计算对数据进行批量的清洗、转换,提升数据处理效率;在数据分析模块,通过xgBoost模型对数据进行分析,进而识别窃电行为,由于xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快,从而使得使用xgBoost算法能提高窃电识别的工作效率和精准度。
进一步地,得到已训练完成的xgBoost模型具体如下:
初始化xgBoost模型,得到待训练xgBoost模型;
获取训练集,通过所述训练集训练所述待训练xgBoost模型,得到已训练的xgBoost模型,所述训练集包括80%的训练样本数据;
获取测试集,通过所述测试集测试所述已训练的xgBoost模型,判断所述已训练的xgBoost模型的窃电行为判定结果的准确率是否达到预设准确值,若是,则得到已训练完成的xgBoost模型,否则使用训练集继续训练直到得到已训练完成的xgBoost模型,所述测试集包括20%的训练样本数据。
从上述描述可知,为了避免机器学习过程中经常出现将个别训练样本的特异性当作整个数据集的共性,表现在训练结果的准确度非常高,实际应用中对后期数据进行预测准确率显著低于训练结果,即过拟合现象,故而建模过程中需要对样本数据进行划分,其中训练集占总体样本的80%,剩余20%的样本数据作为测试集,依据大数定理在样本足够多的情况下不会改变训练集和测试集的数据分布,因此验证集上预测准确度能够更好的衡量整个模型的准确情况。
进一步地,得到待训练xgBoost模型具体如下:
初始化xgBoost模型,得到目标函数公式一:
xgBoost是可加性的算法模型,其中,Obj代表整体目标函数,t为树模型序号,n为样本数,l为损失函数,i为样本序号,yi为第i个样本真实目标值,为预测值,ft为t次迭代的目标函数,Ω(ft)为正则项,包含正则L1、L2,constant为常数项;
利用泰勒公式对目标函数公式一进行展开,得到目标函数公式二:
其中,为损失函数的一阶导,为损失函数的二阶导;
简化目标函数公式二,代入正则项得到目标函数公式三:
其中,N指代叶子节点个数,γ和λ为分别控制CART树的个数、叶子节点的分数值,其中γ=L1、λ=L2,j表示叶子节点对应的输入实例集合的序号;
对给定的N,该目标函数公式三为一个关于Wj的二次函数,由此将Wj的最优解代入到目标函数公式三,得到目标函数公式四:
根据CART叶子节点,对节点进行分割,得到目标函数公式五:
目标函Obj*指的是所有数据落到当前树的得分情况,每次对树进行一次分支,都要使目标函数的得分减小,这样的树的分支才认为是有效的,才会采纳这样的分支;对树的每次加分支,都会是当前的分为左右两部分,即二分树;因此L和R分别代表对树进行分割后的左、右两个分支。
从上述描述可知,通过上述方法,在生成一颗CART时,由于选取最大增益进行分割,进而只要做一遍从左到右的扫描就可以枚举出所有分割的梯度和GL和GR,同时使用xgBoost算法使得在样本数据量很大的情况下大大提高运算速度、可以输出特征重要程度且以树模型为基础,可同时处理离散特征与连续特征。
进一步地,所述样本数据包括日用电量、线损率和用户基本信息;
所述日用电量包括不同期间日用电量均值、不同期间日用电量均值的离散系数以及样本期间的日用电量的最大值与最小值;
所述线损率包括不同期间线损率均值、不同期间线损率均值的离散系数和样本期间的线损率的最大值与最小值;
所述用户基本信息包括用户编号、用户标识、运行容量、用户分类、用电地址、用电类别、行业分类、供电分类、供电单位编号、用户名称以及异常事件类数据。
从上述描述可知,相对于用户隐蔽的窃电方式,可用数据较为单一。若只通过线损定位台区是否存在窃电用户,则无法定位具体用户,且当台区日用电量基数较大时,台区内个别用户的窃电行为对线损影响微弱,本申请通过使用日用电量、线损率和用户基本信息来分析用户窃电行为,可以有效的分析窃电行为。
进一步地,所述步骤S1中“获取待判定用电数据”之后还包括数据预处理,所述数据预处理包括步骤:
判断均值是否存在负值,若存在负值,则对存在负值的均值不予处理,同时判断为负值的均值的数量是否大于预设异常值,若是,则识别出为负值的均值并记录,所述均值包括不同期间日用电量均值以及不同期间线损率均值;
判断所述离散系数是否存在负值,若存在负值,则对存在负值的离散系数不予处理,同时判断为负值的离散系数的数量是否大于预设异常值,若是,则识别出为负值的离散系数并记录,所述离散系数包括不同期间日用电量均值的离散系数以及不同期间线损率均值的离散系数;
判断所有的样本数据是否存在缺失值,若存在缺失值,则判断同一用户数据中存在缺失值的数量是否大于预设缺失值,若是,则将所述用户数据删除。
从上述描述可知,对数据进行预处理,由于日用电量与线损率均为连续性数值变量,无需转换,通过判断出异常值,从而保证数据的有效性,同时异常值将作为判断是否存在窃电行为的重要特征参与模型运算识别。
请参照图3,一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待判定用电数据,将所述待判定用电数据输入至已训练完成的xgBoost模型;
S2、已训练完成的xgBoost模型识别所述待判定用电数据,得到窃电行为判定结果。
从上述描述可知,本发明的有益效果在于:在数据存储部分,采用Hadoop分布式存储的方式对文件进行存储,并利用分布式计算对数据进行批量的清洗、转换,提升数据处理效率;在数据分析模块,通过xgBoost模型对数据进行分析,进而识别窃电行为,由于xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快,从而使得使用xgBoost算法能提高窃电识别的工作效率和精准度。
进一步地,得到已训练完成的xgBoost模型时,所述处理器执行所述计算机程序时还实现以下步骤:
初始化xgBoost模型,得到待训练xgBoost模型;
获取训练集,通过所述训练集训练所述待训练xgBoost模型,得到已训练的xgBoost模型,所述训练集包括80%的训练样本数据;
获取测试集,通过所述测试集测试所述已训练的xgBoost模型,判断所述已训练的xgBoost模型的窃电行为判定结果的准确率是否达到预设准确值,若是,则得到已训练完成的xgBoost模型,否则使用训练集继续训练直到得到已训练完成的xgBoost模型,所述测试集包括20%的训练样本数据。
从上述描述可知,为了避免机器学习过程中经常出现将个别训练样本的特异性当作整个数据集的共性,表现在训练结果的准确度非常高,实际应用中对后期数据进行预测准确率显著低于训练结果,即过拟合现象,故而建模过程中需要对样本数据进行划分,其中训练集占总体样本的80%,剩余20%的样本数据作为测试集,依据大数定理在样本足够多的情况下不会改变训练集和测试集的数据分布,因此验证集上预测准确度能够更好的衡量整个模型的准确情况。
进一步地,得到待训练xgBoost模型时,所述处理器执行所述计算机程序时还实现以下步骤:
初始化xgBoost模型,得到目标函数公式一:
xgBoost是可加性的算法模型,其中,Obj代表整体目标函数,t为树模型序号,n为样本数,l为损失函数,i为样本序号,yi为第i个样本真实目标值,为预测值,ft为t次迭代的目标函数,Ω(ft)为正则项,包含正则L1、L2,constant为常数项;
利用泰勒公式对目标函数公式一进行展开,得到目标函数公式二:
其中,为损失函数的一阶导,为损失函数的二阶导;
简化目标函数公式二,代入正则项得到目标函数公式三:
其中,N指代叶子节点个数,γ和λ为分别控制CART树的个数、叶子节点的分数值,其中γ=L1、λ=L2,j表示叶子节点对应的输入实例集合的序号;
对给定的N,该目标函数公式三为一个关于Wj的二次函数,由此将Wj的最优解代入到目标函数公式三,得到目标函数公式四:
根据CART叶子节点,对节点进行分割,得到目标函数公式五:
目标函Obj*指的是所有数据落到当前树的得分情况,每次对树进行一次分支,都要使目标函数的得分减小,这样的树的分支才认为是有效的,才会采纳这样的分支;对树的每次加分支,都会是当前的分为左右两部分,即二分树;因此L和R分别代表对树进行分割后的左、右两个分支。
从上述描述可知,通过上述方法,在生成一颗CART时,由于选取最大增益进行分割,进而只要做一遍从左到右的扫描就可以枚举出所有分割的梯度和GL和GR,同时使用xgBoost算法使得在样本数据量很大的情况下大大提高运算速度、可以输出特征重要程度且以树模型为基础,可同时处理离散特征与连续特征。
进一步地,所述样本数据包括日用电量、线损率和用户基本信息;
所述日用电量包括不同期间日用电量均值、不同期间日用电量均值的离散系数以及样本期间的日用电量的最大值与最小值;
所述线损率包括不同期间线损率均值、不同期间线损率均值的离散系数和样本期间的线损率的最大值与最小值;
所述用户基本信息包括用户编号、用户标识、运行容量、用户分类、用电地址、用电类别、行业分类、供电分类、供电单位编号、用户名称以及异常事件类数据。
从上述描述可知,相对于用户隐蔽的窃电方式,可用数据较为单一。若只通过线损定位台区是否存在窃电用户,则无法定位具体用户,且当台区日用电量基数较大时,台区内个别用户的窃电行为对线损影响微弱,本申请通过使用日用电量、线损率和用户基本信息来分析用户窃电行为,可以有效的分析窃电行为。
进一步地,所述步骤S1中“获取待判定用电数据”之后还包括数据预处理,所述处理器执行所述计算机程序时还实现以下步骤:
判断均值是否存在负值,若存在负值,则对存在负值的均值不予处理,同时判断为负值的均值的数量是否大于预设异常值,若是,则识别出为负值的均值并记录,所述均值包括不同期间日用电量均值以及不同期间线损率均值;
判断所述离散系数是否存在负值,若存在负值,则对存在负值的离散系数不予处理,同时判断为负值的离散系数的数量是否大于预设异常值,若是,则识别出为负值的离散系数并记录,所述离散系数包括不同期间日用电量均值的离散系数以及不同期间线损率均值的离散系数;
判断所有的样本数据是否存在缺失值,若存在缺失值,则判断同一用户数据中存在缺失值的数量是否大于预设缺失值,若是,则将所述用户数据删除。
从上述描述可知,对数据进行预处理,由于日用电量与线损率均为连续性数值变量,无需转换,通过判断出异常值,从而保证数据的有效性,同时异常值将作为判断是否存在窃电行为的重要特征参与模型运算识别。
请参照图1至图2,本发明的实施例一为:
一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,包括步骤:
S1、获取待判定用电数据,将待判定用电数据输入至已训练完成的xgBoost模型;
S2、已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果。
其中,GBDT是以决策树(CART)为基学习器的GB算法,xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快。xgBoost算法与gbdt都是boosting方法,boosting方法如图2所示。
由此,得到已训练完成的xgBoost模型具体如下:
初始化xgBoost模型,得到目标函数公式一:
xgBoost是可加性的算法模型,其中,Obj代表整体目标函数,t为树模型序号,n为样本数,l为损失函数,i为样本序号,yi为第i个样本真实目标值,为预测值,ft为t次迭代的目标函数,Ω(ft)为正则项,包含正则L1、L2,constant为常数项;
利用泰勒公式对目标函数公式一进行展开,得到目标函数公式二:
其中,为损失函数的一阶导,为损失函数的二阶导;
简化目标函数公式二,代入正则项得到目标函数公式三:
其中,N指代叶子节点个数,γ和λ为分别控制CART树的个数、叶子节点的分数值,其中γ=L1、λ=L2,j表示叶子节点对应的输入实例集合的序号;
对给定的N,该目标函数公式三为一个关于Wj的二次函数,由此将Wj的最优解代入到目标函数公式三,得到目标函数公式四:
根据CART叶子节点,对节点进行分割,得到目标函数公式五:
目标函Obj*指的是所有数据落到当前树的得分情况,每次对树进行一次分支,都要使目标函数的得分减小,这样的树的分支才认为是有效的,才会采纳这样的分支;对树的每次加分支,都会是当前的分为左右两部分,即二分树;因此L和R分别代表对树进行分割后的左、右两个分支。
获取训练集,通过训练集训练待训练xgBoost模型,得到已训练的xgBoost模型,训练集包括80%的训练样本数据;
获取测试集,通过测试集测试已训练的xgBoost模型,判断已训练的xgBoost模型的窃电行为判定结果的准确率是否达到预设准确值,若是,则得到已训练完成的xgBoost模型,否则使用训练集继续训练直到得到已训练完成的xgBoost模型,测试集包括20%的训练样本数据。
其中,对上述的算法进行分析发现,由于在分割过程中引入新叶子的惩罚项,优化这个目标对应了树的剪枝,当引入的分割带来的增益小于一个阀值的时候,我们可以剪掉这个分割。另外在生成一颗CART时,由于选取最大增益进行分割,进而只要做一遍从左到右的扫描就可以枚举出所有分割的梯度和GL和GR。
其中可用于窃电行为判定的数据主要有用户日用电量、线损率、用户用电类型等,相对于用户隐蔽的窃电方式,可用数据较为单一。若只通过线损定位台区是否存在窃电用户,则无法定位具体用户,且当台区日用电量基数较大时,台区内个别用户的窃电行为对线损影响微弱。综合考虑以上因素,模型使用日用电量、线损率和用户基本信息来分析用户窃电行为。
其中,如下表1,日用电量包括不同期间日用电量均值、不同期间日用电量均值的离散系数以及样本期间的日用电量的最大值与最小值;
表1
其中,线损率包括不同期间线损率均值、不同期间线损率均值的离散系数和样本期间的线损率的最大值与最小值,即与用户日用变量方面的变量选取相同,用户所在变压器的线损率也包括12个变量,如表2所示;
表2
avg_7days_ll 7天线损率均值
avg_1mon_ll 1个月线损率均值
avg_3mon_ll 3个月线损率均值
avg_6mon_ll 6个月线损率均值
avg_12mon_ll 12个月线损率均值
avg_7days_ll_f 7天线损率均值离散系数
avg_1mon_ll_f 1个月线损率均值离散系数
avg_3mon_ll_f 3个月线损率均值离散系数
avg_6mon_ll_f 6个月线损率均值离散系数
avg_12mon_ll_f 12个月线损率均值离散系数
min_ll 最小线损率
max_ll 最大线损率
其中,用户基本信息包括用户编号、用户标识、运行容量、用户分类、用电地址、用电类别、行业分类、供电分类、供电单位编号、用户名称以及异常事件类数据,具体变量选取可见表3。
表3
其中,步骤S1中“获取待判定用电数据”之后还包括数据预处理,数据预处理包括步骤:
将文本类型转化为数字类型:日用电量与线损率均为连续性数值变量,无需转换。表3的用户基本信息中,用户分类与用电类别为类别变量,将其转换为数字后代入模型计算,用电地址(用户所在省市县区乡村等)赋予相应的地区编号后带入模型运算。表3中的其他变量不参与模型运算,只用来对具体用户进行定位。
异常值处理:判断均值是否存在负值,若存在负值,则对存在负值的均值不予处理,同时判断为负值的均值的数量是否大于预设异常值,若是,则识别出为负值的均值并记录,均值包括不同期间日用电量均值以及不同期间线损率均值,即对于均值,无论均值为何值均不影响模型计算,若均值记录为负值,则其本身即表现异常。详细来说,由于我们所取的均值求取周期最短为7天,若7天中存在较少的负值,则对均值影响不大,可能是由于统计误差造成,不予处理;若7天中存在较多负值,以至于影响到了均值的结果,则将此异常值识别出来并记录在案,同时,异常值将作为判断是否存在窃电行为的重要特征参与模型运算识别;
判断离散系数是否存在负值,若存在负值,则对存在负值的离散系数不予处理,同时判断为负值的离散系数的数量是否大于预设异常值,若是,则识别出为负值的离散系数并记录,离散系数包括不同期间日用电量均值的离散系数以及不同期间线损率均值的离散系数;
缺失值处理:判断所有的样本数据是否存在缺失值,若存在缺失值,则判断同一用户数据中存在缺失值的数量是否大于预设缺失值,若是,则将用户数据删除。在本实施例中,由于所取数据均为某一时期内均值,所以少量缺失值不影响取均值。样本包含数据量非常庞大,若缺失值较大,可将相应的用户数据删除。
在本实施例中,在对参数进行设置中,主要的目的是要找到xgboost模型和BP神经网络算法的最优参数。结合以上选取的变量,本文经过实验优化,将神经网络的学习速率设定为0.03,隐含层设定为2层;xgboost模型主要包含以下重要参数:earning_rate、n_eatimators、控制CART生长的max_depth、min_child_weight和gamma;控制行采样的subsample、colsample_bytree;正则项系数reg_lambda。
同样根据试验,将上述参数设定为:reg_lambda=5E-05,subsample和colsample_bytree分别为0.9和0.8;max_depth、min_child_weight和gamma分别为9、1、0。
在上述最优参数设置的情况下,以召回率和精确率作为对上述模型评价的标准,通过数据集(41个特征)对上述模型进行验证,从而得到表4所示的结果。
表4
XGBoost算法 BP神经网络
精确率 55.71% 38.71%
召回率 43.16% 35.07%
时间 628s 1422s
其中,精确率=预测窃电且预测正确/所有被预测为窃电;召回率=预测窃电且预测正确/实际窃电。
通过上述的结果看出,XGBoost算法无论是在精确率还是召回率方面,都要明显优于传统的BP神经网络算法,同时也缩短了处理时间,提高了窃电识别的效率。由此说明,本文采用的XGBoost算法对窃电行为进行识别相较于传统的BP神经网络算法来说,具有较好的优势。
请参照图3,本发明的实施例二为:
一种基于xgBoost模型和Hadoop架构的窃电识别分析终端1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,处理器2执行计算机程序时实现实施例一种的步骤。
综上所述,本发明提供的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端,在数据存储部分,采用Hadoop分布式存储的方式对文件进行存储,并利用分布式计算对数据进行批量的清洗、转换,提升数据处理效率;在数据分析模块,通过xgBoost模型对数据进行分析,进而识别窃电行为,由于xgboost扩展和改进了GDBT,算法上xgboost对单棵树的计算进行了并行优化能够充分发挥多核计算,而gbdt没有使用多核优化,所以xgboost的速度更快,从而使得使用xgBoost算法能提高窃电识别的工作效率和精准度;依据大数定理在样本足够多的情况下不会改变训练集和测试集的数据分布,因此验证集上预测准确度能够更好的衡量整个模型的准确情况;使用xgBoost算法使得在样本数据量很大的情况下大大提高运算速度、可以输出特征重要程度且以树模型为基础,可同时处理离散特征与连续特征;通过使用日用电量、线损率和用户基本信息来分析用户窃电行为,可以有效的分析窃电行为;,对数据进行预处理,可以保证数据的有效性,同时异常值将作为判断是否存在窃电行为的重要特征参与模型运算识别。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,包括如下步骤:
S1、获取待判定用电数据,并将待判定用电数据输入至已训练完成的xgBoost模型;
S2、通过已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果。
2.根据权利要求1所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,所述已训练完成的xgBoost模型的训练过程具体如下:
初始化xgBoost模型,得到待训练xgBoost模型;
获取训练集,通过训练集训练待训练xgBoost模型,得到已训练的xgBoost模型,所述训练集包括80%的训练样本数据;
获取测试集,通过测试集测试所述已训练的xgBoost模型,判断所述已训练的xgBoost模型的窃电行为判定结果的准确率是否达到预设准确值,若是,则得到已训练完成的xgBoost模型,否则使用训练集继续训练直到得到已训练完成的xgBoost模型,所述测试集包括20%的训练样本数据。
3.根据权利要求2所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,所述初始化xgBoost模型,得到待训练xgBoost模型的具体过程如下:
初始化xgBoost模型,得到目标函数公式一:
xgBoost是可加性的算法模型,其中,Obj代表整体目标函数,t为树模型序号,n为样本数,l为损失函数,i为样本序号,yi为第i个样本真实目标值,为预测值,ft为t次迭代的目标函数,Ω(ft)为正则项,包含正则L1、L2,constant为常数项;
利用泰勒公式对目标函数公式一进行展开,得到目标函数公式二:
其中,为损失函数的一阶导,为损失函数的二阶导;
简化目标函数公式二,代入正则项得到目标函数公式三:
其中,N指代叶子节点个数,γ和λ为分别控制CART树的个数、叶子节点的分数值,其中γ=L1、λ=L2,j表示叶子节点对应的输入实例集合的序号;
对给定的N,该目标函数公式三为一个关于Wj的二次函数,由此将Wj的最优解代入到目标函数公式三,得到目标函数公式四:
根据CART叶子节点,对节点进行分割,得到目标函数公式五:
目标函Obj*指的是所有数据落到当前树的得分情况,每次对树进行一次分支,都要使目标函数的得分减小,这样的树的分支才认为是有效的,才会采纳这样的分支;对树的每次加分支,都会是当前的分为左右两部分,即二分树;因此L和R分别代表对树进行分割后的左、右两个分支。
4.根据权利要求2所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,所述训练样本数据包括日用电量、线损率和用户基本信息;
所述日用电量包括不同期间日用电量均值、不同期间日用电量均值的离散系数以及样本期间的日用电量的最大值与最小值;
所述线损率包括不同期间线损率均值、不同期间线损率均值的离散系数和样本期间的线损率的最大值与最小值;
所述用户基本信息包括用户编号、用户标识、运行容量、用户分类、用电地址、用电类别、行业分类、供电分类、供电单位编号、用户名称以及异常事件类数据。
5.根据权利要求4所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,步骤S1中,在获取待判定用电数据后,还包括对待判定用电数据进行预处理的步骤,具体如下:
判断均值是否存在负值,若存在负值,则对存在负值的均值不予处理,同时判断为负值的均值的数量是否大于预设异常值,若是,则识别出为负值的均值并记录,所述均值包括不同期间日用电量均值以及不同期间线损率均值;
判断离散系数是否存在负值,若存在负值,则对存在负值的离散系数不予处理,同时判断为负值的离散系数的数量是否大于预设异常值,若是,则识别出为负值的离散系数并记录,所述离散系数包括不同期间日用电量均值的离散系数以及不同期间线损率均值的离散系数;
判断所有的样本数据是否存在缺失值,若存在缺失值,则判断同一用户数据中存在缺失值的数量是否大于预设缺失值,若是,则将所述用户数据删除。
6.一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取待判定用电数据,并将待判定用电数据输入至已训练完成的xgBoost模型;
S2、通过已训练完成的xgBoost模型识别待判定用电数据,得到窃电行为判定结果。
7.根据权利要求6所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,其特征在于,得到已训练完成的xgBoost模型时,所述处理器执行所述计算机程序时还实现以下步骤:
初始化xgBoost模型,得到待训练xgBoost模型;
获取训练集,通过训练集训练待训练xgBoost模型,得到已训练的xgBoost模型,所述训练集包括80%的训练样本数据;
获取测试集,通过测试集测试所述已训练的xgBoost模型,判断所述已训练的xgBoost模型的窃电行为判定结果的准确率是否达到预设准确值,若是,则得到已训练完成的xgBoost模型,否则使用训练集继续训练直到得到已训练完成的xgBoost模型,所述测试集包括20%的训练样本数据。
8.根据权利要求7所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,其特征在于,得到待训练xgBoost模型时,所述处理器执行所述计算机程序时还实现以下步骤:
初始化xgBoost模型,得到目标函数公式一:
xgBoost是可加性的算法模型,其中,Obj代表整体目标函数,t为树模型序号,n为样本数,l为损失函数,i为样本序号,yi为第i个样本真实目标值,为预测值,ft为t次迭代的目标函数,Ω(ft)为正则项,包含正则L1、L2,constant为常数项;
利用泰勒公式对目标函数公式一进行展开,得到目标函数公式二:
其中,为损失函数的一阶导,为损失函数的二阶导;
简化目标函数公式二,代入正则项得到目标函数公式三:
其中,N指代叶子节点个数,γ和λ为分别控制CART树的个数、叶子节点的分数值,其中γ=L1、λ=L2,j表示叶子节点对应的输入实例集合的序号;
对给定的N,该目标函数公式三为一个关于Wj的二次函数,由此将Wj的最优解代入到目标函数公式三,得到目标函数公式四:
根据CART叶子节点,对节点进行分割,得到目标函数公式五:
目标函Obj*指的是所有数据落到当前树的得分情况,每次对树进行一次分支,都要使目标函数的得分减小,这样的树的分支才认为是有效的,才会采纳这样的分支;对树的每次加分支,都会是当前的分为左右两部分,即二分树;因此L和R分别代表对树进行分割后的左、右两个分支。
9.根据权利要求7所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析终端,其特征在于,所述训练样本数据包括日用电量、线损率和用户基本信息;
所述日用电量包括不同期间日用电量均值、不同期间日用电量均值的离散系数以及样本期间的日用电量的最大值与最小值;
所述线损率包括不同期间线损率均值、不同期间线损率均值的离散系数和样本期间的线损率的最大值与最小值;
所述用户基本信息包括用户编号、用户标识、运行容量、用户分类、用电地址、用电类别、行业分类、供电分类、供电单位编号、用户名称以及异常事件类数据。
10.根据权利要求9所述的一种基于xgBoost模型和Hadoop架构的窃电识别分析方法,其特征在于,步骤S1中,在获取待判定用电数据后,还包括对待判定用电数据进行数据预处理的过程,所述处理器执行所述计算机程序时还实现以下步骤:
判断均值是否存在负值,若存在负值,则对存在负值的均值不予处理,同时判断为负值的均值的数量是否大于预设异常值,若是,则识别出为负值的均值并记录,所述均值包括不同期间日用电量均值以及不同期间线损率均值;
判断离散系数是否存在负值,若存在负值,则对存在负值的离散系数不予处理,同时判断为负值的离散系数的数量是否大于预设异常值,若是,则识别出为负值的离散系数并记录,所述离散系数包括不同期间日用电量均值的离散系数以及不同期间线损率均值的离散系数;
判断所有的样本数据是否存在缺失值,若存在缺失值,则判断同一用户数据中存在缺失值的数量是否大于预设缺失值,若是,则将所述用户数据删除。
CN201910768081.2A 2019-08-20 2019-08-20 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端 Pending CN110458725A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910768081.2A CN110458725A (zh) 2019-08-20 2019-08-20 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910768081.2A CN110458725A (zh) 2019-08-20 2019-08-20 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端

Publications (1)

Publication Number Publication Date
CN110458725A true CN110458725A (zh) 2019-11-15

Family

ID=68487865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910768081.2A Pending CN110458725A (zh) 2019-08-20 2019-08-20 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端

Country Status (1)

Country Link
CN (1) CN110458725A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222556A (zh) * 2019-12-31 2020-06-02 中国南方电网有限责任公司 一种基于决策树算法识别用电类别的方法及系统
CN111428804A (zh) * 2020-04-01 2020-07-17 广东电网有限责任公司 一种优化加权的随机森林窃电用户检测方法
CN112257784A (zh) * 2020-10-22 2021-01-22 福州大学 一种基于梯度提升决策树的窃电检测方法
CN112485491A (zh) * 2020-11-23 2021-03-12 国网北京市电力公司 电力窃取的识别方法及装置
CN112685461A (zh) * 2020-12-15 2021-04-20 国网吉林省电力有限公司电力科学研究院 一种基于预判模型的窃电用户判断方法
CN113408676A (zh) * 2021-08-23 2021-09-17 国网江西综合能源服务有限公司 一种结合云端与边端的窃电用户识别方法及装置
CN113724117A (zh) * 2020-12-28 2021-11-30 京东城市(北京)数字科技有限公司 用于房屋异常使用识别的模型训练方法和装置
CN114240105A (zh) * 2021-12-03 2022-03-25 南京南瑞信息通信科技有限公司 一种台区线损分析方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077285A1 (zh) * 2016-10-31 2018-05-03 腾讯科技(深圳)有限公司 机器学习模型训练方法、装置、服务器及存储介质
CN109034585A (zh) * 2018-07-18 2018-12-18 国网湖北省电力有限公司 基于用电信息和地理位置的台区户变关系判别算法及系统
CN109981749A (zh) * 2019-01-30 2019-07-05 北京理工大学 一种基于极限梯度提升的云工作流任务执行时间预测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077285A1 (zh) * 2016-10-31 2018-05-03 腾讯科技(深圳)有限公司 机器学习模型训练方法、装置、服务器及存储介质
CN109034585A (zh) * 2018-07-18 2018-12-18 国网湖北省电力有限公司 基于用电信息和地理位置的台区户变关系判别算法及系统
CN109981749A (zh) * 2019-01-30 2019-07-05 北京理工大学 一种基于极限梯度提升的云工作流任务执行时间预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙向阳: "基于XGBoost算法的窃电用户行为研究", 《中国优秀硕士学位论文全文数据库》 *
蒋菱 等: "基于分布式计算的海量用电数据分析技术研究", 《计算机技术与发展》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222556A (zh) * 2019-12-31 2020-06-02 中国南方电网有限责任公司 一种基于决策树算法识别用电类别的方法及系统
CN111222556B (zh) * 2019-12-31 2023-12-05 中国南方电网有限责任公司 一种基于决策树算法识别用电类别的方法及系统
CN111428804A (zh) * 2020-04-01 2020-07-17 广东电网有限责任公司 一种优化加权的随机森林窃电用户检测方法
CN112257784A (zh) * 2020-10-22 2021-01-22 福州大学 一种基于梯度提升决策树的窃电检测方法
CN112485491A (zh) * 2020-11-23 2021-03-12 国网北京市电力公司 电力窃取的识别方法及装置
CN112685461A (zh) * 2020-12-15 2021-04-20 国网吉林省电力有限公司电力科学研究院 一种基于预判模型的窃电用户判断方法
CN113724117A (zh) * 2020-12-28 2021-11-30 京东城市(北京)数字科技有限公司 用于房屋异常使用识别的模型训练方法和装置
CN113408676A (zh) * 2021-08-23 2021-09-17 国网江西综合能源服务有限公司 一种结合云端与边端的窃电用户识别方法及装置
CN114240105A (zh) * 2021-12-03 2022-03-25 南京南瑞信息通信科技有限公司 一种台区线损分析方法、装置及系统

Similar Documents

Publication Publication Date Title
CN110458725A (zh) 一种基于xgBoost模型和Hadoop架构的窃电识别分析方法及终端
CN110097297A (zh) 一种多维度窃电态势智能感知方法、系统、设备及介质
Qin et al. Blockchain: a carbon-neutral facilitator or an environmental destroyer?
CN109784388A (zh) 窃电用户识别方法和装置
CN107818344A (zh) 用户行为进行分类和预测的方法和系统
CN109858679A (zh) 一种结合人机物的反窃电稽查监控系统及其工作方法
CN102622552A (zh) 一种基于数据挖掘的b2b平台欺诈访问的检测方法和系统
CN110141220A (zh) 基于多模态融合神经网络的心肌梗死自动检测方法
CN110141219A (zh) 基于导联融合深度神经网络的心肌梗死自动检测方法
CN110706096A (zh) 基于捞回用户管理授信额度的方法、装置和电子设备
CN110659985A (zh) 一种捞回误拒潜在用户的方法、装置和电子设备
US11887013B2 (en) System and method for facilitating model-based classification of transactions
CN115422788B (zh) 一种配电网线损分析管理方法、装置、存储介质及系统
CN106952190A (zh) 虚假房源录入行为识别与预警系统
CN109345076A (zh) 一种全过程工程咨询项目风险管理方法
CN108154311A (zh) 基于随机森林和决策树的优质客户识别方法及装置
CN115547466B (zh) 基于大数据的医疗机构登记评审系统及其方法
CN110675020A (zh) 一种基于大数据的高价低接用户识别方法
CN109978619A (zh) 机票定价策略筛选的方法、系统、设备以及介质
CN109101594A (zh) 一种检测窃电嫌疑用户的方法、装置及终端
CN111612149A (zh) 一种基于决策树的主网线路状态检测方法、系统及介质
CN107122919A (zh) 一种基于智能运营的配网效能评估方法及系统
CN114548494A (zh) 一种可视化造价数据预测智能分析系统
CN113837488B (zh) 能源消耗数据预测方法、系统、设备
CN112862182A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191115