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

一种基于MSL-XGBoost模型的智能电表故障不平衡分类方法与流程

2022-07-02 12:48:15 来源:中国专利 TAG:

一种基于msl-xgboost模型的智能电表故障不平衡分类方法
技术领域
1.本发明属于智能电表故障数据集不平衡分类分析技术领域,具体的涉及一种可以进行智能电表故障不平衡多分类的方法,特别是一种基于msl-xgboost模型的智能电表故障不平衡分类方法。


背景技术:

2.随着智能电能表在电网中的广泛应用,电能表的故障多样性问题也逐渐凸显出来,如何准确快速的预测智能电能表的故障类型将直接影响到电网的运行效率。传统的智能电表故障预测方法大都使用数据挖掘及分析算法,对智能电表的故障数据进行分类,挖掘影响智能电表运行的相关特征。但在实际研究中发现,由于智能电表的功能日益丰富,随之而来的便是智能电表的故障类型越来越多,其在运行中产生的故障数据也存在严重的类不平衡问题,这使得模型在多数类故障类型中表现良好而在少数类故障中表现较差,也进一步阻碍了智能电表故障识别效果。因此,如果更好的解决在智能电表故障分析中的类不平衡问题也成为了非常重要的研究课题。
3.传统的解决类不平衡问题的方法主要为过采样和欠采样,通过调整数据的分布进而使得数据达到近似平衡状态,然后再使用分类模型进行类别分类。然而,不论是过采样还是欠采样,均是在原始数据分布的基础上进行数据的复制或减少,会带来严重的过拟合或欠拟合问题。此外,不同于智能电表故障平衡分类问题,单一的分类模型并不能很好的适应类不平衡问题,而集成学习算法通过集成不同的弱分类器,赋予不同弱分类器不同的权重,进而可以提升分类效果。


技术实现要素:

4.本发明提出基于msl-xgboost模型的智能电表故障数据不平衡分类方法,针对在智能电表故障分析中存在的类别数据不平衡问题,采用基于曼哈顿距离的smote算法进行过采样,通过计算智能电表设备类别、设备规格、安装时间、发生故障时间等特征在空间中的曼哈顿距离,进而在少数类样本中通过插值法生成新的样本数据,以此达到数据近似平衡状态。在采样完成后,使用lof算法进行采样后异常样本检查,并剔除异常数据。最后使用xgboost集成学习算法进行智能电表故障不平衡多分类。
5.本发明的技术方案是,一种基于msl-xgboost模型的智能电表故障不平衡分类方法,用于智能电表的故障分析,包括将数据进行预处理、对处理后的数据进行采样生成样本数据、以及建立模型进行故障分类的步骤,关键是:所述的数据采样步骤完成后,采用lof检测算法生成数据中的异常点,并对其进行剔除,再建立模型进行故障分类。
6.进一步的,所述的对处理后的数据进行采样生成样本数据步骤采用曼哈顿改进smote算法进行数据采样后,再进行lof检测算法生成数据中的异常点,并对其进行剔除,具体步骤为:
7.s21、对数据预处理步骤后的数据进行统计,统计智能电表各个类别的故障数据,
选取其中少数类故障类别数据,进行数据采样工作,少数类故障是该故障类型的样本数站所有样本数中百分比低于10%的故障类别;
8.s22、对上述采样后的数据中的每一个样本x,通过曼哈顿距离计算其到少数类样本集的所有样本的距离,得到其邻近样本,其中,曼哈顿距离计算方式:
9.其中,x,y分别代表空间中的两个样本点,其维度为n,xi,yi代表两个样本在第i个维度上的值;
10.s23、根据样本不平衡比例,设置采样倍率n=5,对于每一个样本x,从步骤22中得到的样本中随机选择不同的样本;
11.s24、对于每一个随机选出的近邻样本,分别与原样本按照如下方式构建新的样本:x
新样本
=x
原样本
rand(0,1)*|x
原样本-x
近邻
|;
12.s25、使用异常点lof检测算法生成以上样本数据中的异常点,并对其进行剔除,形成高质量的样本数据。
13.进一步的,所述的建立模型进行故障分类步骤包括如下细节步骤:
14.s31、将数据采样后生成的样本数据和非少数类故障类别进行组合,生成智能电表故障分类的初平衡数据集;
15.s32、建立xgboost模型,将得到的初平衡数据集按6:2:2的比例构建xgboost模型所需的训练集、验证集、测试集,在初平衡数据集中,将智能电表的属性特征作为模型的输入特征x,智能电表故障类型作为xgboost模型的输出y,形成模型所需数据集(x,y);
16.s33、设置xgboost模型的参数,并通过网格搜索算法寻找最优参数组合,其中参数包括弱分类树的个数、树的最大深度、学习率、样本随机采样比例、特征随机采样比例、l1范数正则化和l2范数正则化后的数据项;
17.s34、根据s33步骤中得到的最优参数组合构建xgboost分类器,并依据s31步骤中得到的初平衡数据集进行训练、验证与测试;
18.s35、生成智能电表故障分类的终平衡数据集,得到训练好的xgboost模型进行智能电表故障预测。
19.进一步的,所述的智能电表的属性特征包括工作时长、到货批次号、所属供电单位、安装月份、故障识别月份、设备所属省份、设备规格。
20.进一步的,所述的数据进行预处理步骤包括:
21.s11、缺失值处理,如果某一属性缺失率大于90%,则将该字段直接丢弃;如果缺失率在大于30%小于等于90%,则通过标记的形式填充缺失值,具体方法为:缺失用1填充,不缺失用0填充;如果缺失率小于30%,则采用平均值填充的方法进行缺失值填充;
22.s12、对于重复值,直接删除;
23.s13异常值处理,通过箱线图等方法查找异常值,对于异常值,采用均值填充异常值;
24.s14、统计数据不平衡率,统计各个故障类别的样本数量在总样本数量中所占的比例,进而分析出故障类别数据的不平衡率。
25.本发明的有益效果是,
26.1、本发明提出的类别数据不平衡处理方法结合数据过采样及数据去异操作,可以生成质量更高的少数类样本,从而解决多分类数据不平衡问题,进而提高模型在智能电表故障多分类中的精度。
27.2、本发明提出的msl-xgboost模型可以对智能电表故障类型准确快速分类定位,提供电网的运行效率,并可以降低在智能电表故障抢修中的人力及时间运营成本。
附图说明
28.图1是本发明的不平衡分类方法流程示意图。
具体实施方式
29.相关英文或术语解释:
30.msl:manhattan-distance smote lof的缩写,其中manhattan-distance代表曼哈顿距离,smote代表处理非平衡数据算法,lof代表异常点离群点检测算法。
31.xgboost:优化的分布式梯度增强库,机器自学习算法。
32.不平衡数据集及分类:通常将一个数据集评价为不平衡数据集时需要具备两个条件:类别数量不均衡、同等样本数量下的信息量不均衡(或是分类时错分代价不均衡),数据集中样本数量较多的多数类样本类别一般称为负类,反之少数类称为正类。对这样的数据集进行类别判断的问题称为不平衡数据分类问题。
33.参看附图的图1,在本发明中,数据预处理主要是对智能电表故障业务数据进行数据清洗,统计数据不平衡率等,主要包括以下几个方面:
34.s11、缺失值处理。如果某一属性缺失率大于90%,则将该字段直接丢弃。如果缺失率在30%~90%,则通过标记的形式填充缺失值,具体方法为:缺失用1填充,不缺失用0填充。如果缺失率小于30%,则采用平均值填充的方法进行缺失值填充。
35.s12、重复值处理。对于重复值,直接删除。
36.s13、异常值处理。通过箱线图等方法查找异常值,对于异常值,采用均值填充异常值。
37.s14、统计数据不平衡率。统计各个故障类别的样本数量在总样本数量中所占的比例,进而分析出故障类别数据的不平衡率。参看表1具体的实施例,其中有3个类别的故障数据为多数类,在总数据中占比为64%,剩余12个类别的故障数据为少数类,在总数据中占比为36%,数据严重不平衡。
38.s21、统计智能电表各个类别的故障数据,选取其中少数类数据,进行数据采样工作。
39.s22、针对步骤s21中提取出的少数类中的每一个样本x,通过曼哈顿距离计算其到少数类样本集的所有样本的距离,得到其邻近样本,其中,曼哈顿距离计算方式如下:
40.其中,x、y分别代表空间中的两个样本点,其维度为n,xi、yi代表两个样本在第i个维度上的值。
41.s23、根据样本不平衡比例,设置采样倍率n=5,对于每一个少数类样本x,从s22中
得到的样本中随机选择不同的样本。
42.s24、对于每一个随机选出的近邻样本,分别与原样本按照如下方式构建新的样本:x
新样本
=x
原样本
rand(0,1)*|x
原样本-x
近邻
|。
43.s25、通过步骤s22至步骤s24,可以生成少数类样本对应的类别样本。实际研究中发现,使用该方法尽管可以完成对数据的采样工作,但也会生成少量的异常点样本。为进一步提高数据采样的精度,本发明使用异常点检测方法lof检测生成数据中的异常点,并对其进行剔除,形成质量更高的样本数据。
44.s31、将步骤s25得到的新样本与故障类别中多数类样本组合,生成新的智能电表故障分类近似平衡的数据集。
45.s32、利用s31中得到的分类数据集按6:2:2的比例构建模型所需的训练集、验证集、测试集。在数据集中,智能电表的工作时长、到货批次号、所属供电单位、安装月份、故障识别月份、设备所属省份、设备规格等7类属性作为模型的输入特征x,智能电表故障类型作为模型的输出y,形成模型所需数据集(x,y)。
46.s33、设置分类模型xgboost的模型参数,并通过网格搜索算法寻找最优参数组合。其中,弱分类树的个数n_estimators范围为[50,300],树的最大深度max_depth范围为[3,12],学习率learning_rate范围为[0.01,0.5],样本随机采样比例subsample范围为[0.7,1],特征随机采样比例colsample_bytree范围为[0.6,1],l1、l2正则项reg_alpha、reg_lambda分别设置为0.8、1。通过网格搜索算法得出最优的参数组合为:{n_estimators:200,max_depth:8,learning_rate:0.2,subsample:0.8,colsample_bytree:0.6}。
[0047]
s34、利用s33得到的最佳参数组合,构建xgboost分类器,并使用步骤s31中得到的数据集进行模型训练及验证。
[0048]
最后,使用训练好的模型进行智能电表故障预测。
[0049]
可以看出上述具体实施方式中,通过数据预处理步骤可以发现智能电表各个故障类别间存在严重的数据不平衡问题,为解决该问题,本发明采用改进后的smote算法以及lof异常值检测方法解决数据不平衡问题。其中,smote是一种过采样方法,通过在少数类样本周围和其他少数类之间插值来生成新的样本,并添加到原始类不平衡的数据集中,一定程度上可以降低过拟合问题。然而,smote算法在计算样本间距离的时候采用的是欧式距离,不能很好的反应样本在高维空间中的分布情况,从而造成生成新样本的边界点不明确。基于此,本发明采用曼哈顿距离(manhattan distance)改进smote算法,从而解决新样本边界点不明确问题。此外,使用采样方法会生成噪声数据,进而影响到分类模型的准确性,为此本发明采用lof异常点检测算法来检测并剔除生成样本中的异常数据,进一步提高数据分布的合理性。最后,针对构建好的样本集,使用xgboost算法进行故障分类。
[0050]
本发明提出的msl-xgboost模型解决类不平衡采样及故障分类具体实现步骤如下。其中,步骤s21至步骤s25是里利用msl算法进行数据重采样,以解决故障数据分类不平衡问题,步骤s31至步骤s34是利用xgboost模型进行智能电表故障多分类。
[0051]
为验证本发明中模型有效性,对真实场景下的智能电表故障多分类数据进行分析。其中,原始数据分布如下表1:
[0052]
表1
[0053][0054]
为更好的反应模型的泛化能力,本发明使用每类准确性的平均值m
mava
作为性能评价指标,其计算方式如下:
[0055][0056]
其中,a
acc,i
表示每个类别中正确分类的数量与该类别的总数量之比,n代表智能电表故障类别总数,在本发明中为15。该数越大,说明模型分类性能越好。
[0057]
同时,本发明对比随机森林(random forest,rf)、支持向量机(svm)等分类模型。在直接使用原始数据进行多分类,即数据不平衡情况下,各个模型的对比结果如下表2,m
mava
值越大,代表平衡效果越好:
[0058]
表2
[0059]
模型rfsvmxgboostm
mava
0.54560.58780.6235
[0060]
同时,本发明对比随机过采样、随机欠采样、smote算法进行数据采样后,即进行了初平衡数据后的模型性能,对比结果如下表3,m
mava
值越大,代表平衡效果越好:
[0061]
表3
[0062][0063]
从验证结果中可以看出,本发明提出的msl-xgboost(md-smote-lof xgboost)模型的智能电表故障不平衡的分类方法是有效可行的,并且不平衡分类的性能最佳。
再多了解一些

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

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

相关文献