一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于电能参数特征和改进Boruta-XGBoost算法的窃电检测方法与流程

2022-09-04 05:52:30 来源:中国专利 TAG:

一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法
技术领域
1.本发明涉及电网监控技术中的窃电检测领域,具体涉及一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法。


背景技术:

2.窃电行为广泛存在于电网系统的配电网络中,不仅给电网公司带来了重大的经济损失,还影响着电力系统的安全稳定运行与有效发展。传统的窃电检测方法主要是技术人员定期巡检,效率低下且时效性差,同时随着科技的发展,越来越多的高科技手段被应用于窃电,窃电手法越来越隐蔽,技术人员在发现存在窃电行为时,往往已经有大量的电能被不法分子窃用。窃电行为导致线损居高不下,给国家的电能资源带来了巨大的损失。因此,重视窃电问题,加强窃电稽查工作的效率,提高电网的防窃电水平,具有十分重要的意义。
3.传统的窃电检测方法不能很好的适应电力系统的发展,而智能电表的广泛使用,使得电力计量系统收集了大量的用户用电数据,基于数据驱动的窃电检测方法成为了研究的热点。数据驱动的窃电检测方法可对智能电表提取的海量数据进行处理和分析,快速的识别出存在窃电行为的用户,针对检测结果对用户进行有针对性检查和处理,相对于传统的定期巡检,可以大大的提升窃电检测效率。
4.现有的基于数据驱动的窃电检测方法主要有基于回归、基于聚类、基于分类三种。基于回归的方法使用用户的历史用电数据对用户未来一段时间的用电数据进行预测,通过实际用电数据与预测数据的偏差判断是否发生异常用电,而用户用电的随机性对此方法的准确性有较大的影响。基于聚类的方法是一种无监督机器学习算法,不需要带有标签的样本数据,通过计算样本之间的距离将样本聚为多个种类,根据新样本与不同聚类中心的距离判断是否窃电,但聚类算法的结果易受到用户用电行为多样性影响,且算法参数设置主观性强,难以达到较高的检测精度。基于分类的方法,将窃电检测转化为一个二分类问题,经过大量学者研究,精确度达到了较高水平,但是给出的用户分类结果仅仅只有是否窃电一个信息,技术人员现场检查时仍然难以进行针对性的查验。


技术实现要素:

5.为了克服上述问题,本发明针对如何给技术人员现场检查时,提供更加准确、更加有参考性的信息,提高窃电检测效率,降低窃电检测的人力物力成本。提出了一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法。该方法是一种基于数据驱动的机器学习窃电检测方法,将窃电检测转化为了多分类问题,包含数据预处理、特征工程和模型训练三个步骤。该方法基于用户用电数据样本的特征和窃电类型的对应关系,使用改进boruta算法选择xgboost模型敏感的特征,在根据特征优选结果构造的数据集上训练一个基于改进xgboost算法的分类器,使用训练好的分类器实现窃电类型的检测,模型能够根据电能参数的特征准确判断用户是否存在窃电行为以及窃电的类型。
6.本发明为解决上述技术问题采用以下技术方案:
7.一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法,具体步骤如下:
8.步骤一、从电力计量大数据中提取正常用户和不同种类窃电用户的电能参数数据,并进行预处理;
9.步骤二、对步骤一中预处理后的电能参数数据进行特征变换,并使用改进了特征评分方式的boruta算法对变换得到的特征数据进行优选,根据选择结果构造用于建立xgboost窃电类型检测模型的数据集;
10.步骤三、使用步骤二中得到的数据集,对改进了正则项的xgboost模型进行训练,建立xgboost窃电类型检测模型,使用训练后的模型对用户是否存在窃电行为以及窃电的类型进行检测。
11.进一步地,所述步骤一中预处理具体为:对提取的电能参数进行剔除异常值和填充缺失值的处理。
12.进一步地,所述异常值剔除的方法为:对任一用户的任一种电能参数数据采用无监督学习的k-means聚类法进行聚类,直接删除聚类中心与其他聚类中心之间距离超出设定距离阈值的且其中样本数少于设定样本阈值的聚类簇内的所有样本;
13.所述缺失值填充的方法为:
14.(1)对负荷数据中的缺失值,使用拉格朗日插值法进行填充;
15.(2)除负荷数据外的电能参数数据,按采集时间的顺序扫描存在的缺失,依次填充缺失值,具体为:
①ai
缺失且a
i 2
,a
i 1
,a
i-1
,a
i-2
不缺失时,
②ai
,a
i 1
缺失且a
i 2
,a
i-1
,a
i-2
不缺失时,
③ai
,a
i 1
,a
i 2
缺失且a
i-1
,a
i-2
不缺失时,

其他情况下,不进行缺失值填充;其中,a
i 2
,a
i 1
,ai,a
i-1
,a
i-2
分别为i 2,i 1,i,i-1,i-2时刻的电能参数数据,为i时刻的填充值。
16.进一步地,所述步骤二中使用不同特征指标对步骤一中预处理后的电能参数数据进行描述。
17.进一步地,所述特征指标包括:电压不平衡度、电流不平衡度、额定电压偏离度、失压缺相标记、功率因数异常指标、电流相关系数、电压稳定程度、电流稳定程度、用电量离散系数、负荷变化趋势。
18.进一步地,使用改进了特征评分方式的boruta算法对特征数据进行优选,具体为:根据xgboost分类器的误差定义boruta算法中特征的重要性评分:
[0019][0020]
其中,z为重要性评分,是误差的平均值,sdmse是误差的标准差。
[0021]
进一步地,所述步骤三中对xgboost算法中正则项的改进为:对xgboost算法中目标函数的正则项增加随机因子,增加随机因子后的目标函数如下:
[0022][0023]
其中,obj是目标值,是损失函数,yj表示预测值以及真实值,ω(fk)是
目标函数的正则项,fk表示第k颗树的复杂度,ρ为增加的随机因子,ρ的表达式如下:
[0024][0025]
其中,σ为常量,n(0,1)为取值服从0-1的正态分布,rand(0,1)为0~1之间的随机数,μ为中间变量,μ
max
、μ
min
分别为预设中间变量的最大值和最小值。
[0026]
进一步地,所述步骤三中采用贝叶斯搜索和k折交叉验证完成xgboost模型的训练。
[0027]
相较于现有窃电检测技术,本发明具有以下有益效果:
[0028]
1)数据预处理的方法针对电能参数提出,相比于通用方法,更加适合本发明的窃电检测方法;
[0029]
2)进行特征选择时,使用xgboost分类器的误差改进boruta算法对特征的评分方式,使选择结果更加的适用于xgboost模型,提升了窃电类型检测模型的训练效果;
[0030]
3)训练窃电类型检测模型时,对xgboost算法的正则项增加了随机因子,每次训练迭代建立树的过程中,对树的复杂性有着不同的惩罚程度,有利于增加树的多样性,提升模型的训练效果;
[0031]
4)将窃电检测转化为多分类问题,模型的检测结果为窃电类型,而不同窃电类型有着对应的窃电手段,技术人员可以根据模型的检测结果进行有针对性的现场检查,有利于提高窃电稽查的工作效率,降低人力物力成本;
[0032]
5)模型可以使用用户用电时的实时电能参数进行特征计算和检测,提升了窃电检测的时效性。
附图说明
[0033]
图1为本发明一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法的流程图。
具体实施方式
[0034]
本发明提供了一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法。该方法是一种基于数据驱动的机器学习窃电检测方法,将窃电检测转化为了多分类问题,包含数据预处理、特征工程和模型训练三个步骤。以用户用电时的各种电能参数数据为驱动,使用特征对电能参数进行描述,让特征选择算法自动的针对分类模型对特征进行选择,使用选择后的特征训练多分类模型,通过训练后的多分类模型实现窃电类型的检测。对用户的各种电能参数数据存在的异常与缺失,使用提出的对电能参数异常值与缺失值预处理的方法进行处理。进行特征选择时,使用xgboost分类器的误差改进boruta算法对特征的评分方式,选择结果更加的适用于xgboost模型。训练窃电类型检测模型时,对xgboost算法的正则项增加了随机因子,有利于增加树的多样性,提升模型的训练效果。
[0035]
在本发明算法的窃电检测方法具体实施前,首先对窃电类型进行定义。通过对不同窃电手段下的异常情况进行分析,以及不同异常对电能参数的影响,将窃电异常分为四种类型,分别为:电压型窃电、电流型窃电、移相型窃电以及扩差型窃电。其中,电压型窃电是指通过某些手段干扰计量装置采集回路采集到的电压,使测量电压小于实际电压,并通
过这种方式在电能表计算电能时来减少电能的计量;电流型窃电是指窃电者改变电流计量线路运行或正常接线,使电流计量回路线路发生短路或者断路等问题来减少电流计量回路的电流,使电表只通过部分电流或者无电流,从而导致电量少计量;移相型窃电是窃电者使用各种方式使得计量装置测得的功率因数减小甚至变成负值,使得电能表的电能计量值比实际值小,电能表表现出少计量甚至停止计量的现象,以达到少计量电量的目的;扩差型窃电是指通过更改或破坏计量装置内部结构、工作机理或固有参数,进而扩大计量装置计量误差,并以此来完成对电能表正确计量的干扰。
[0036]
下面结合附图以及具体实施例对本发明的技术方案进行具体说明。
[0037]
如图1所示,本发明一种基于电能参数特征和改进boruta-xgboost算法的窃电检测方法,具体步骤如下:
[0038]
步骤一、数据预处理阶段
[0039]
从电力计量大数据中提取正常用户和不同种类窃电用户的电能参数数据,使用提出的电能参数异常值剔除方法和缺失值填充方法对异常值和缺失值进行处理。处理方法如下:
[0040]
(1)电能参数异常值剔除方法
[0041]
用户的某种参数存在缺失(如电压),对该用户的此参数采用无监督学习的k-means聚类法进行聚类,直接删除聚类中心离其他聚类簇远且包含样本数少的聚类簇内的所有样本。
[0042]
(2)电能参数缺失值填充方法
[0043]
对于电压、电流等参数,按采集时间的顺序扫描存在的缺失,依次处理缺失值,填充公式如下:
[0044][0045]
其中,a
i 2
,a
i 1
,ai,a
i-1
,a
i-2
分别为i 2,i 1,i,i-1,i-2时刻的电能参数数据,为i时刻的填充值。当电压、电流等参数连续存在缺失值时,不进行填充,这种情况在特征工程阶段被当作缺相处理。
[0046]
对于负荷中存在的缺失,使用拉格朗日插值法进行填充。
[0047]
步骤二、特征工程阶段
[0048]
对预处理后的用电数据进行特征变换,此处的特征变换实际为根据预处理后的数据,使用不同特征指标对用户的用电数据进行描述,描述用电数据的特征包括:电压不平衡度、电流不平衡度、额定电压偏离度、失压缺相标记、功率因数异常指标、电流相关系数、电压稳定程度、电流稳定程度、用电量离散系数、负荷变化趋势等。根据计算所得特征数据构造原始特征数据集,然后使用改进boruta算法对原始特征进行选择。改进boruta算法在运行时,训练一个xgboost分类器,其作为boruta算法的一部分,在boruta算法运行时会自动训练。使用这个xgboost分类器的误差定义特征的重要性评分,评估每个特征的重要性,分数计算公式为:
[0049]
[0050]
其中,z为重要性评分,是误差的平均值,sdmse是误差的标准差。分数越高则意味着特征越重要,将各种特征在训练xgboost模型时的重要程度进行排名,筛选出重要性最高的五种特征,删除其余特征,根据选择结果构造用于训练xgboost模型的数据集。
[0051]
步骤三、模型训练阶段
[0052]
使用特征工程阶段中得到的数据集对基于改进xgboost算法的窃电类型检测模型进行训练与测试评价,直到得到性能令人满意的模型。采用贝叶斯搜索和k折交叉验证实现模型的超参数寻优和评价。将特征工程中得到的数据集随机划分成k份,每次使用k-1份作为训练集对模型进行训练,剩余一份作为测试集对模型进行测试评价。
[0053]
训练模型时,对xgboost算法的正则项增加随机因子,相当于每次循环迭代建立树的过程使用了不同的正则项,有利于增加树的多样性。增加随机因子后的目标函数如下:
[0054][0055]
其中,是损失函数,ω(fk)是目标函数的正则项,ρ为所增加的随机因子,ρ的表达式如下:
[0056][0057]
其中σ为常量,n(0,1)为取值服从0-1的正态分布,rand(0,1)为0~1之间的随机数,μ为中间变量,μ
max
、μ
min
分别为中间变量的最大值和最小值。
[0058]
经过以上过程得到的模型,能够根据用户用电时电能参数的特征,对用户的用电情况进行检测,判断用户是否存在窃电行为以及存在窃电行为时的窃电类型。
[0059]
在本发明的实施例中,将特征工程处理后的数据集随机划分成训练集与测试集,在训练集上训练模型,在测试集上测试模型的性能,以所有类别的平均准确率做对比。对xgboost算法的目标函数添加随机因子前后,共进行12次试验,随机因子的添加可能使模型的准确率得到提升,也可能使准确率降低,但是经12次试验结果来看,在多数试验中呈现提升效果。经过计算,12次试验的平均准确率提升为0.65%。
[0060]
以上所述,仅为本发明在实施例上的具体实施方式,但本发明的保护范围并不局限于此,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献