基于集成学习的电费数据异常检测方法

2021-12-31 01:20广东电网有限责任公司客户服务中心冼文祥伍广斌
电力设备管理 2021年13期
关键词:命中率电费用电

广东电网有限责任公司客户服务中心 康 峰 冼文祥 伍广斌 舒 畅

随着供电企业智能电网的不断建设发展,智能电网终端能够采集海量用户用电数据,采集到的海量电力数据将存储在供电企业内部的电力营销系统的服务器中,供电企业通过结合电费核算的人为经验,建立相应的用户电费数据异常检测数学模型,对大批量的用户电费数据进行处理分析,设计出相关的电费异常检测规则。供电企业通过对用户电费数据异常检测规则的配置与优化,达到过滤排除绝大部分用电正常客户,筛选出电费数据异常的客户进行再次复核,从而缩小了电费数据复核的范围,提高电费复核工作的效率。

据调研,广东电网公司现有的用户电费数据异常检测判断规则达100多条,如果在电费数据核查过程中每一条电费数据都需要遍历一次全部的规则,将会给电力营销部门带来繁重的工作量,并且核查时间长,极大降低了电力营销部门的运行效率,并且通过规则筛选出的异常电费数据命中率低,加重了电费复核工作的负担,急需引入智能化的用户电费数据异常检测手段,提高检出率和准确性。近年来,随着计算机智能化的机器学习技术的逐渐成熟,电网企业和高校的研究人员开始关注用户用电数据计算机智能筛选的潜在价值,基于机器学习的用户用电行为分析逐渐成为电力数据挖掘的一个热门的应用场景。

周李等[1]利用用电数据的时序特征,使用稀疏编码的模型方法来挖掘用户的原始用电数据,通过各个特征的使用频率来判断用户用电行为模式和异常行为。庄池杰等[2]提出局部离群因子检测算法,计算不同类别的用户的不同用电模式,按登记的用户类型事先分类,然后对每一类用户分别运用离群因子检测算法检测用电异常。许刚等[3]建立用户侧行为模式信息簇,利用随机权网络的有监督学习得到随机森林模型,并对其进行稀疏化处理,依据异常积累量指标来判断样本是否存在异常。

随着大数据技术的快速发展,很多学者也在尝试结合大数据平台解决海量用电数据处理问题,取得了一定的成果。其中,赵莉等[4]在Hadoop 平台上实现改进k-means 算法的用电数据分析,提高了数据处理效率。张素香等[5]提出了基于k-means聚类算法的用户用电行为分析模型在云平台上的实现方法。ANGELOS 等[6]提出基于模糊集原理与聚类分析的用户侧异常行为检测方法。DEPURU 等[7]利用历史数据建立了用户模式数据集,并对多用户在线异常检测技术进行了研究。

本文的主要研究内容包括三方面:首先是对电费数据进行预处理;然后是选取深度森林等机器学习算法对电费数据进行检测,测试各机器学习算法的检测性能;最后通过对深度森林等算法的集成学习,测试集成学习的检测性能。

1 研究模型设计

基于集成学习的电费数据异常检测方法模型设计流程如图1所示。在电费数据异常检测方法研究之前,需要对电费数据进行预处理,由于获取的电费数据当中异常电费数据占比极低,存在样本不平衡的问题,若直接采用原始电费数据样本进行实验,将会降低电费数据异常检测的表现性能。

图1 电费数据异常检测方法模型设计流程

为解决样本不平衡的问题,本文采用了过采样算法和欠采样算法对电费数据进行处理。欠采样处理采用了随机欠采样算法,随机欠采样算法通过随机抽取多数类电费数据样本,在本文中为非异常电费数据,异常数据样本保持不变,最终使得非异常数据与异常数据样本的比例趋于平衡。过采样处理采用了SMOTE 算法,它是基于随机过采样算法的一种改进方案,解决了随机过采样容易产生模型过拟合的问题。经过欠采样和过采样算法处理之后,得到了本文实验所用的某供电局的真实电费数据集,通过对电费数据集进行缺失值补全和对文本类数据进行标签编码,进一步使电费数据符合机器学习算法训练的要求。

从上一步获取到了经过数据预处理的电费数据集之后,通过实验选出了表现性能较好的深度森林(DF)、XGBoost、随机森林(RF)、CatBoost、决策树(DT)和GBDT 六种机器学习算法进行电费数据异常检测。后五种机器学习算法在异常检测分类领域应用较为成熟,深度森林算法于2017年提出,这是一种集合了决策树的机器学习方法,借鉴了深度神经网络的结构,由多粒度扫描和级联森林两部分结构组成,作为一种基于决策树的算法,深度森林超参数较少,便于对参数进行调节,从而更易训练得到较好电费数据异常检测结果。

最后,通过对六种机器学习算法的预测结果进行集成学习,对不同机器学习模型进行了融合,综合了六种机器学习算法各自的优点。本文设计了相或集成与相与集成的算法来集成多个机器学习分类器。相或集成算法指的是只要六个机器学习模型中有一个检测到了电费数据异常,集成学习模型就判断该条电费数据存在异常;相与集成算法指的是只有当所有六个机器学习模型都检测到了电费数据异常时,集成学习模型才判断该条电费数据存在异常。

2 数据来源与评估指标选取

本文选取的是广东电网某供电局2020年9个月的真实电费数据,为了确保用电用户隐私,获取的电费数据均经过了脱敏处理,本文研究所用的电费数据集仅用以学术研究。原始的电费数据集共有1600余万条,经过数据欠采样及过采样算法处理之后,最终获取了30万条电费数据用以实验,其中包括1139条真实异常电费数据,其余均为非异常电费数据。电费数据集包括了88个原始字段,其中包括了一个人为添加的异常标记字段。经过分析发现,这88个字段当中部分字段存在一定的相关性,为了避免电费数据的信息冗余以及模型过拟合,本文采用基尼重要性来对全部电费数据字段进行重要性排序,基尼重要性由随机森林算法训练和计算得出。

根据特征重要性排序的结果以及人为经验的分析,最终删除了21个字段,保留了67个字段的电费数据进行实验。电费数据异常检测基于用户分类的角度完成异常检测工作,首先所有的电费数据都是未知异常数据,检测出为异常数据标记为1,其他非异常数据标记为0。表1所示的误差矩阵比较清晰的展示了机器学习模型的电费数据异常检测结果。

表1 误差矩阵

本文中将电费异常数据分为正类,电费非异常数据分为负类,机器学习算法在测试集上预测异常或者非异常,最终是为了生成一个泛化程度高的机器学习模型。在误差矩阵中TP 是正确预测异常电费数据的数量,FN 是正确预测非异常电费数据的数量,FP 和TN 是异常和非异常电费数据错误分类的数量。以下介绍本文选取的评估指标:

查准率(Precision)本文中又称命中率,表示所有预测为异常数据的结果中,真正的电费数据异常的比例,其表达式为;查准率(Recall)本文中又称检出率,表示测试集中所有真正的电费异常数据中,被机器学习模型找出来的比例,其表达式为。

F值(F-Score),是命中率与检出率的加权调和平均值,度量了命中率对检出率的相对重要性,其表达式为,当α 为1时,就是常用的机器学习模型评估指标F1值,F1值综合考虑了电费数据异常命中率与检出率的影响,通常F1值越大说明机器学习模型的检测效果越好,其表达式为。

3 实验及结果分析

将电费数据集以8:2的比例随机抽样划分为训练数据集和测试数据集,并且进行五折交叉验证,以避免因为电费数据集划分引起的偶然误差,保证所得电费数据异常检测结果的可靠性。首先使用全量数据集分别对深度森林、XGBoost、随机森林、CatBoost、决策树和GBDT 六种机器学习算法模型进行实验验证,对比各个机器学习算法对电费数据异常检测的评估指标并对结果进行分析,其查准率、查全率、F1值分别为0.889/0.692/0.778/0.778/0.5/0.583,0.8/0.9/0.7/0.7/0.9/0.7,0.842/0.783/0.737/0.737/0.643/0.636。

通过实验结果可以看出,深度森林的表现效果在六种机器学习算法中整体最优,GBDT 算法的电费数据异常检测效果较差。随后使用相或集成与相与集成的算法来集成多个机器学习模型的电费数据异常检测结果,查准率、查全率、F1值的相或集成与相与集成学习算法的实验结果分别为0.357/1、1/0.6、0.526/0.75,可看出二算法分别能够最大化提高电费数据异常检测的查全率和查准率,相比当前供电企业采用传统的规则筛选电费异常数据的方法,虽然可以保证检出的电费异常数据数量最大化,但命中率低于10%,相或集成算法的实验结果展示了在测试集中查全率接近100%的情况之下,电费数据异常的命中率能够达到35%左右,已经高于当前供电企业规则筛选异常电费数据的方法。

相与集成算法结果表明,在舍弃电费数据异常查全率的前提下,电费异常数据的命中率能够达到将近100%的水平,相与集成算法能够帮助供电企业发现部分难以发掘的异常电费数据,为供电企业后续电费核算工作的完善提供支持。

综上,集成学习的应用能够帮助供电企业在满足电费异常数据的检出率最大化的同时提高电费异常数据的命中率,与传统规则筛选异常电费数据的方法相比,具有更快的响应时间和更高的命中率,能够满足当前智能电网的发展要求,有利于减轻电费数据复核部门的工作负担,为供电企业服务水平的提高提供了新的借鉴价值。

猜你喜欢
命中率电费用电
基于ε-SVR模型的日电费回收预测
安全用电知识多
对输配电及用电工程的自动化运行的几点思考
为生活用电加“保险”
夜夜“奋战”会提高“命中率”吗
用电安全要注意
2015男篮亚锦赛四强队三分球进攻特点的比较研究
基于大用户电费回收的风险管控
投篮的力量休斯敦火箭
关于县级供电企业电费对账的研究