用于非技术损失检测的机器学习分类器性能分析

摘要

电力公司负责生产电网所需的电量,并将其输送到每个家庭。许多国家由于供电公司的非技术损失(NTL)而遭受数十亿美元的巨大损失。为了解决NTL问题,近年来出现了许多机器学习分类器。然而,在NTL检测中,用于评价分类器在预测非技术损失方面的好坏的性能评价指标却很少被研究。本文首先利用随机森林、k近邻和线性支持向量机三种分类器对某供电公司包含约80000个月消费记录的真实数据集预测NTL的发生。然后,它计算了三个分类器的14个性能评估指标,并确定它们之间的关键科学关系。这些关系可以帮助我们判断在给定的NTL检测场景下,哪种分类器更有用。这项工作不仅为电力行业的NTL检测提供了依据,而且为选择合适的NTL检测性能评价指标提供了依据。

1 Introduction

电力供应公司被认为是任何国家的支柱。这些公司使用几公里长的线路,将电力从生产单位转移到单个电表上。随着世界各地对电能的需求日益增长,电力公司必须生产足够的电力,以满足所需的能量。除了满足生产需求的挑战外,这些公司还面临着分销网络非技术损失(NTL)带来的巨大挫折。NTL是指由于意外的电表故障或故意绕过电表、减慢或停止电表、错误的电表读数或甚至非法连接而造成的损失。电力行业的NTL已经动摇了世界许多经济体。例如,印度每年因NTL损失45亿美元。在发展中国家,这种损失可能高达总发电量的50% (McDaniel和McLaughlin, 2009)。发达国家,包括美国和英国,每年也遭受了16亿美元的损失(Alam et al. 2004)。可能是无意的或故意的NTL,任何电力供应公司都希望通过首先检测它,然后适当地解决它来最小化它。如果检测到的NTL不是故意的,公司会解决问题,如果检测到的NTL是故意的,它会对欺诈者发出不同级别的惩罚。用于检测这两个ntl的技术是相同的。但是,从电力公司中去除所有的ntl是不现实的。有些公司会聘请专业技术人员来识别潜在的ntl。这包括确定哪些家庭的用电量已经减少或停止。现场视察员对这些家庭进行核查,以发现可能的NTL。这种现场检查的过程给公司带来了沉重的成本,而且实际上不可能对大量的家庭进行检查。只有当检查导致大量的NTL检测时,这样做才有成效。在现实中,对于公司来说,NTL检测数量与检查数量的比率通常很低(ComaPuig et al. 2016)。这也可以解释为,人们可能已经有了第二套房子,或者他们可能正在度长假等等。将他们列入检验名单只会增加检验成本。

在过去的十年中,研究界一直关注利用机器学习分类器与电力供应商合作检测NTL。这包括使用支持向量机(SVM)、最优路径森林(OPF)、随机森林、多层感知器神经网络(NN)、k -最近邻(KNN)、Adaboost、朴素贝叶斯、决策树和深度学习。包含ntl记录的训练集用于训练模型,测试集用于评估模型。分类人员识别出的欺诈者名单然后用于现场检查。与随机猜测潜在骗子相比,使用机器学习分类器检测NTL的命中率非常有希望。为了比较这些分类器的性能,使用了不同的性能评估指标。这些指标可以帮助在给定场景下筛选用于NTL检测的分类器。

在进行NTL检测时,仍需要对性能评估指标进行详细的比较研究,以诊断不同指标之间的关系。这些关系在NTL的文献中还没有得到充分的讨论,可以被证明是为NTL检测选择适当的性能评估指标的基线。在巴基斯坦,电力供应公司会进行随机现场检查,以查明盗窃案。这是在NTL检测方面取得很小成功的主要原因。本文通过使用机器学习分类器识别和筛选潜在的盗窃案件以进行现场检查,有助于提高巴基斯坦一家电力供应公司的命中率。这项工作是在一个包含80,244个月消费记录的真实数据集上进行的。这也将有助于降低公司的现场检查成本。本文首先使用三种分类器:随机森林、KNN和线性支持向量机来预测NTL在数据集中的出现。然后,我们通过三个分类器计算14个性能评估指标,以确定这些性能指标与NTL检测之间的关键科学关系。对于分类器的适当选择,这些关系是至关重要的。因此,在本文中,我们重点确定了NTL检测领域中性能评价指标之间的关键科学关系,如图1所示。这项工作可以进一步推广到天然气行业潜在盗窃行为的预测。使用天然气消费者的消费模式,这组分类器和性能指标可以用于识别天然气盗窃企图。

这项工作的目标如下:

1. 对最先进的NTL检测方案进行分类,并给出它们的全面分类。

2. 确定用于NTL检测的最先进方法的优缺点,并确定用于NTL检测的常用性能指标池。

3.将机器学习分类器应用于NTL检测,并在包含约80000个月度用电记录的真实数据集上计算和验证它们的性能。

4. 研究已识别的用于NTL检测的性能指标池,并突出显示能够以最佳和可靠的方式显示NTL检测的性能指标。

本文的其余部分如下:第2节概述了用于NTL检测的现有技术。第3节介绍了本文提出的用于NTL检测的方法。第4节描述了在数据集上执行的实验,使用的评估指标,并讨论了结果。第五部分是结论和未来的工作。在第6节,致谢被提出。

2 Related work

大数据分析被广泛应用于日常生活的各个领域。它致力于通过应用机器学习算法和数据挖掘方法来解决现实问题。这些应用包括欺诈检测(Jain和Gupta 2019年)、非结构化数据的问题处理(Amalina等人2020年)、疾病共病预测(Lakshmi和Vadivu等人2019年)、物联网(物联网)(ur Rehman等人2019年)、工业物联网(IIoT) (ur Rehman等人2018年)、实时异常检测(Ariyaluran Habeeb等人,2019;Habeeb等人2019年)、利用大数据的预防医学(Razzak等人2019年)和事件检测(Saeed等人2019年)。

NTL识别是一种欺诈检测的应用(韩和肖2019)。Papadimitriou等人(2017)对现有的NTL检测技术进行了调查。该研究将处理NTL的技术分为面向数据的、面向网络的和混合技术。面向数据的技术使用消费者的消费模式来预测NTL。这些技术可以进一步分为监督、半监督和无监督学习范式。当提供了欺诈和非欺诈的类标签时,使用监督学习方法。支持向量机就是监督学习的一个例子。半监督学习方法用于只有一个类标记已知而另一个类标记不确定的情况。半监督学习的一个例子是异常检测。当完全不使用类标签时,使用无监督学习方法。聚类算法就是无监督学习的例子。面向网络的技术包括网络数据和智能电表的使用,智能电表用于检查电网的电力平衡。他们指出,面向网络的技术擅长于检测特定区域的NTL,但无法识别特定的欺诈消费者。混合技术利用了这两种技术的优点,其中网络数据用于定位欺诈区域,消费数据用于识别欺诈消费者。他们列出了TP、TN、FP、FN、召回率、FPR、识别率和贝叶斯检出率作为主要的性能评价指标。与此同时,他们还讨论了有关当局在解决NTL方面的作用和责任。格劳纳等人(2017)对NTL检测的挑战进行了全面的调查。作者对目前应用于NTL检测的多种技术进行了比较。其中包括专家系统、机器学习、支持向量机、神经网络、模糊逻辑、遗传算法、最优路径森林和粗糙集。他们还比较了选择顾客主数据特征的不同搜索技术。该文件确定了一些仍然需要彻底处理的挑战。例如,确定大多数类的未抽样的正确百分比,需要对处理不平衡领域的不同技术进行彻底的比较研究,需要一个将回归与分类问题进行比较的度量,以及创建基准数据集。

根据用于检测NTL的数据类型,这些策略可以分为四种主要类型。基于消费数据的技术包括仅使用安装在消费者端的仪表收集的消费数据来检测NTL。基于网络的技术包括使用总供电量和总计费电量之间的差值来检测NTL。这些技术也使用网格数据。混合技术涉及使用两种类型的数据,即消费数据和网络数据。第四类是基于附加数据的技术,它不仅使用消费数据,也使用其他数据,例如气候和温度数据。每一类都在努力检测NTL。图2描述了一个完整的NTL检测策略分类。

2.1 Consumption‑data based techniques

在过去的十年中,研究人员对NTL的检测特别感兴趣。多种机器学习技术已被用于正确识别NTL。Nagi等人(2010)的作者使用SVM在类标签分布非常不均匀的数据集中识别NTL。他们声称命中率从3%提高到60%。这项工作的重点是识别发现用户消费模式突然变化的NTL,但不讨论逐渐观察到变化的情况。它使用准确率和命中率来比较NTL的结果,但没有讨论它们之间的关系。

grlauner等人(2016)使用布尔规则、模糊逻辑和支持向量机(SVM)来检测大约100万客户的数据集中的NTL,同时分析他们的月度消费模式。结果表明,优化后的模糊逻辑和支持向量机优于布尔规则。他们比较分类器真阳性、真阴性、假阳性、假阴性、recall和特异性等性能评估指标。然而,关于NTL检测,这些指标之间可能存在的关系并没有得到充分的讨论。

Di Martino等人(2012)在乌拉圭的一家电力供应公司使用一组分类器作为套件来检测欺诈行为。他们声称,将一类SVM、CS-SVM、最优路径森林(OPF)和C4.5组合在一起,比单独应用它们能给出更好的措施。用正确率、查全率、查准率和F值对分类器进行比较。然而,本文没有讨论使用这些指标进行NTL检测的影响。

Figueroa等人(2017)使用了三种分类器,即线性支持向量机、非线性支持向量机和多层感知器神经网络来检测来自洪都拉斯一家电力公司的数据集。他们使用过少抽样和过抽样策略来处理舞弊和非舞弊情况的不平衡比例。此外,使用8个性能评价指标来比较分类器的性能。指标包括精度、召回、精度specifcity, AUC, Fβ,F1和马修斯相关Coefcient (MCC)。然而并没有专门针对NTL检测讨论这些度量之间的关系。这些关系可以用来为NTL检测找到合适的度量组合。

在Ford et al.(2014)中,人工神经网络已被用于预测从爱尔兰社会科学数据档案中心收集的一个相对较小的数据集的电力盗窃检测。作者在三种不同的情况下训练了神经网络,从而陈述了三种观察结果。其中一个观察结果是,消费者的消费行为可以提前一年进行预测。另一个观察结果是,对连续3周的数据进行神经网络训练后,第4周就可以预测消费者的消费行为。他们最后观察到,消费模式也可以在相同的天气季节预测。他们使用TP、TN、FP和FN来测量神经网络的性能。作者在Cody等人(2015)中扩展了他们的工作,在相同的情况下使用M5P决策树训练和测试爱尔兰数据集。他们使用均方根误差(RMSE)来测量预测值和实际值的接近程度。RMSE值在所有三种情况的阈值内。

Coma-Puig等人(2016)使用了西班牙一家提供电力和天然气的公司的数据集。他们使用了不同机器学习技术的组合来预测电力和天然气行业的盗窃企图。这包括朴素贝叶斯、KNN、决策树、神经网络、支持向量机、随机森林和AdaBoost。他们的框架有一个功能,可以自动更新数据库中的现场检查结果,从而使框架在一段时间内适应新的盗窃模式。他们使用精度作为唯一的绩效评估指标

在过去的几年中,深度学习的进步已经打开了许多应用领域(Hayat等人,2019)。其应用领域之一是NTL的检测,但仍需引起学术界的关注。Bhat等人(2016)的作者在一个相对较小的包含NTL出现的数据集中测试了卷积神经网络、自动编码器和长短时记忆网络用于NTL检测。实验结果表明,基于深度学习的策略在精度、召回率、F1和接受者操作特征(ROC)曲线等性能指标方面优于决策树、随机森林和神经网络。在Chatterjee等人(2017)中,作者使用深度回归神经网络来识别NTL。所使用的数据与高级计量基础设施(AMI)有关。它来自澳大利亚政府工业、创新和科学部。由于AMI数据相对于时间是连续的,因此采用递归神经网络对其进行处理。用于评估性能的指标是准确度,一个邻域的准确度为65.3%。但是,它没有使用任何其他可能有助于更好地理解NTL检测的性能评估指标

2.2 Network based techniques

Han和Xiao(2014)提出了一种计算计费电量与总电量之差的数学表达式。他们认为这有助于从非回火表中检测回火表。除了用户电表的读数外,还使用一个观察电表来计算提供的总电量。该方法既可用于传统网格系统,也可用于AMI系统。Mutupe等人(2017)也使用了类似的方法。作者在变压器侧和用户侧使用了电表。如果由分销商发送的总电量与用户接收的总电量不相等,则可能的NTL被标记以供现场检查。射频(RF)信号被用来传达消费者和配电极之间的电力使用差异。这项工作在南非电力供应公司Eskom实施

Xia等人(2015)讨论了在邻域智能电网中检测NTL的另一种方法。作者提出了一种基于差异比较的检测算法,该算法使用二叉检测树来计算节点与其子节点之间被盗电量的差异。二叉搜索树的特点使得算法可以跳过大量无用的节点。这有助于快速识别恶意仪表。该算法在一个节点的关联子树中跟踪被盗电量,有助于探测下一个节点。

2.3 Hybrid techniques

特征选择是NTL识别的一个重要任务。Meira等人(2017)将特征按照时间、地理、消费剖面相似性和基础设施划分为四类。随机森林、逻辑回归和支持向量机在所有四类的NTL中所占的比例在10 ~ 90%之间。利用曲线下面积(AUC)对结果进行比较。消费类别所得结果优于基础设施类别所得结果。作者还声称,消费下降不是NTL的唯一模式,而增加的消费模式仍然可能是NTL的一个很好的候选。由于AUC是评价分类器性能的唯一指标,因此在进行NTL检测时,无法识别不同指标之间的关系。

Buevich等人(2016)讨论了两种不同的技术,将NTL从电网的总体损失中分离出来。其中,模型驱动技术考虑了仪表状态的检查、包丢失、线路损耗和消费者的消耗。另一种技术是数据驱动技术,使用分类器SVM对不同家庭的合成数据评估NTL。作者认为,第一种技术有助于评估网格,而第二种技术给出了关于不同NTL水平的真阳性率(TPR)和真阴性率(TNR)的估计。Buevich等人(2016)只比较了TPR和TNR两个绩效评价指标。

Zhou等人(2014)提出了一种负荷分析技术,该技术利用了两种方法的优势进行客户分类。其中一种方法是基于地理位置。客户根据相似的地点被分组在一起。另一种方法是基于客户展示的类似的消费模式。然后将这些客户分组到同一个类别中。作者将这两种方法结合起来,利用frefy算法对相似区域的相似客户进行分类,从而检测出NTL。他们对从中国一家供电公司收集的数据进行了实验。准确度是用来评估性能的唯一指标。因此,无法与用于NTL检测的其他指标进行比较。

Terciyanli等人(2017)采用了一种基于评分的NTL检测方法。作者使用了三个步骤来检测NTL。第一步包括给每个消费者分配三个不同的分数。第一个分数代表了消费者所居住区域的评价。第二个分数代表消费者使用趋势的变化。第三个得分代表月度消费与预期消费的偏离。第二步涉及到计算每个消费者的最终得分,使用三个不同的权重为三个相应的得分。作为第三步,如果发现最终得分高于阈值,则建议对可能的NTL进行现场检查。这项工作是在土耳其一家电力供应商的小型数据集上进行的。然而,本文没有使用任何已知的性能评估指标。

2.4 Additional‑data based techniques

Hartmann等人(2015)创建了基于时间、客户类型(即住宅或工业)和天气的不同消费曲线。他们的系统使用实时机器学习来模拟每个客户关于时间、客户类型和天气信息的消费情况。根据概率分布和置信度,如果客户的消费价值超过阈值,系统就会生成可能的NTL检测警报。这项工作是在收集自卢森堡电力运营商Creos Luxembourg的数据集上进行的。利用准确率、精密度、召回率和F1评分对结果进行评价。

2.5 限制

在不同的公司、地区和国家,已经有许多降低NTL的尝试。通过应用不同的机器学习分类器,在识别NTL方面取得了很好的成功。使用不同的性能指标来评估分类器在预测NTL方面的好坏。然而,这些性能指标与NTL之间的关系并没有得到太多讨论。在评估机器学习分类器的NTL问题时,仍然需要强调特别适合的性能评估指标。表1包含了所有参考文献的描述及其局限性。

3 Methodology

在本节中,我们首先描述在配电公司中用于NTL检测的拟议方法。然后,我们概述了NTL检测需要单独的性能评估指标。最后,我们将讨论一些已被证明适合于NTL检测的现有指标。建议的方法包括七个步骤,将在下面的小节中描述。第一步是从公司收集数据。该数据包含了每月电力消费者的消费记录。数据以逗号分隔值(CSV)的形式收集,需要转换成适合分析处理的形式。数据munging通过重复删除和处理NULL值等步骤来实现这个功能。并不是所有的特性都对分析过程有用。特征选择步骤列出了在预测NTL时最有用的特征。该公司单独维护风险消费者的数据。数据合并步骤将选择的特征与风险消费者的数据相结合。一旦特性和记录完成,下一步就是规范化所有的特性。这是通过缩放步骤完成的。接下来,对分类器进行训练和测试。在测试结果的基础上,计算出不同的性能评价指标,为选择合适的NTL检测分类器奠定了坚实的基础。完整的方法如图3所示。

3.1数据收集

如果没有真实的数据集,就无法对NTL检测进行彻底的研究。我们从巴基斯坦一家电力供应公司收集了一个数据集。收集的数据包含了2016年1月至2017年3月消费者的月度消费记录。它包括80,244个月消费记录。数据分为训练集和测试集。训练集包含64195条月度消费记录,测试集包含16049条月度消费记录。训练数据有2739个盗窃实例和61456个正常实例。测试数据有683个盗窃实例和15,366个正常实例。

3.2 Data munging

从电力公司获得的数据是在逗号分隔值(CSV)浮板中。最初,从供电公司收集的原始数据包含110个特征。有些功能是冗余的和无用的。例如,“邮政编码”功能包含所有记录的相同代码,“米号”功能和“注册号码”功能都用于唯一标识,“Write-Of”功能包含任何实际包含所有零条目的会费减免。剔除无用特征后,特征集缩减为71个特征。它需要从原始格式进一步转换为适合下游分析处理的形式。在这个过程中要执行许多步骤。例如,将多个特性的空值替换为适当的默认值。“最后断开日期”存储从用户所在位置断开电源的日期。对于大多数事务,该特性包含空值,并用默认的未来日期替换。该特性的初始余额存储了消费者需要支付的总金额的信息。它被转换为1和0。1表示未支付上个月的账单,0表示已支付。在执行数据收集之后,每月的总交易记录为80,244。如果缺失的值没有得到适当的处理,记录的数量就会减少到惊人的限度。

3.3特征选择

从71个特性中,14个有用的特性的子集根据特性的重要性被入围。它是一种发现每个特征重要性的方法(Breiman 2001)。当模型的预测误差随着特征值的变化而增大时,特征值就具有重要意义。模型预测误差的增加表明模型依赖于该特征。因此,这个特性很重要。相反,如果模型的预测误差不随特征值的改变而改变,那么特征的重要性就会降低。模型预测误差的稳定性表明该模型不依赖于该特征。因此,特性并不重要。为了得到有用的特征列表,71个特征按照特征的重要性从高到低排列在最前面。然后,使用基尼指数,为最优特征数量选择一个阈值,超过该阈值,包括任何其他特征都不应影响f测量。这样,我们不仅找到了f测度最优的特征组合,而且大大减少了分类器的计算时间。候选特性的列表、它们的描述和特性的重要性列在表2中。

3.4数据合并

此外,公司还提供了潜在风险消费者(PRC)的数据。这些消费者在现场检查时被识别。在将类标签的值赋值为true或false时,该数据非常有用。类标签true表示偷窃的实例,类标签false表示正常消费的实例。这个过程如图4所示。PRC数据与特征选择模块的入围数据合并。

3.5扩展

在进行训练和测试之前,需要对所选特征的数据进行规范化处理。应用归一化的目的是使所有的数值特征在相同的尺度上,而不干扰范围差异。每个特征的归一化尺度由式(1)求得,其中FV为当前特征值,min(FV)为当前特征中的最小特征值,max(FV)为当前特征中的最大特征值。

3.6 Training and testing

在本节中,我们将介绍在本文中用于培训和测试的分类器,并展示它们如何适用于NTL检测。归一化后的数据用于训练和测试三个分类器,即KNN、随机森林和SVM。

3.7后处理和NTL检测

在过去的几年里,研究界一直致力于推导出专注于分别代表类的评价的方法。表4显示了基本的混淆矩阵,用于为包含不平衡类分布的数据集制定更复杂的度量。对于NTL,真阳性(TP)是分类器正确分类的盗窃案件实例,真阴性(TN)是分类器正确分类的正常案件实例。假阳性(FP)表示被分类人员认定为盗窃的正常案件,假阴性(FN)表示被分类人员认定为盗窃的正常案件。指标被用来计算更复杂的指标,如准确性,召回率,精度,TNR,FPR,FNR, NPV, Fβ,算术平均,调和平均数,G-Mean和优势度。这些度量标准在第3.8节中讨论。这些指标产生了一组全面的观察结果,特别是与NTL检测相关的。这些意见在第4节中讨论。

3.8评价指标

电力行业数据集的目标变量分布具有很强的不均衡性。在这些数据集中进行预测建模是一项具有挑战性的任务,因为类(目标变量Y)的分布是不均匀的。训练样本和测试样本中99%属于正常类,其余1%属于盗窃类。当用户的选择偏向于代表性最小的类别时,情况就会变得更加复杂。用于平衡数据集的性能指标不能有效地用于目标变量分布不平衡的数据集,因为这些指标往往会忽略性能指标实际需要的窃盗类。因此,针对不需要的和重复次数最多的类给出性能度量,对于访问最少表示的类预测的性能是没有帮助的。因此,准确率和错误率并不是正确的衡量标准,因为它们偏向于正常人群(Manning et al. 2008)。事实上,我们需要分别评估normal类和thief类正确性的度量。为此,使用基本混淆度量来计算真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。基本混淆度量进一步用于评估方程式(5)–(9).中列出的更复杂的度量。

用于分类器的最常见的性能评价指标之一是准确性。它给出了一个衡量分类器预测TP和TN准确性的方法。在用户偏好于FP和FN的不平衡数据集上,这种方法往往会失败。例如,说到NTL, 99%的电力消耗是正常使用,1%的消耗是盗窃。现在,如果一个分类器正确地预测了99%的正常使用情况,而不能预测剩下的1%的盗窃使用情况,那么精确度将被测量为99%。实际上,分类器表现不佳是因为它未能预测盗窃类别。用式(5)计算精度。

由于缺乏预测FP和FN的处理措施,其他措施要么单独照顾两个类,要么更准确地处理代表最少的类。这些是通过方程式来讨论的。(6) -(11)。

真阳性率(TPR)或回忆率是衡量被分类器正确分类为thieves的总人数。recall也被称为敏感性。由于我们想要最小化FN,通过公式(7)最小化FN将最大化召回。这表明NTL需要高召回率模型。召回率越高,对NTL越有利。另一方面,由式(8)可知,如果精度较低,模型仍然可以容忍,因为它不需要很高的精度。真阴性率(TNR)也被称为特异性。它衡量的是,在所有消极的例子中,有多少被正确地归类为消极的。假阳性率(FPR)是用来衡量被错误预测为小偷的正常消费者的总数。假阴性率(FNR)是一种衡量在全部阳性实例中有多少被错误地归类为阴性的方法。阳性预测值(PPV)或精度是在所有预测的阳性类实例中,有多少被正确分类为阳性的度量。阴性预测值(NPV)是在所有预测的阴性类实例中,有多少被正确分类为阴性的度量。

Fβ,如12所示,是另一个指标,用于评价classifers在不平衡数据集(布兰科et al . 2016年)。它使用召回(完整性)和精密(精确)β coefcient 用于设置召回和精度之间的优先级。β= 1召回和精度具有相同的优先级。如果β设置为一个值大于1,召回被高 权重,如果它被设置为一个值小于1,精度得到了高 权重。通常人们在处理不平衡域时使用值1。我们已经测试了两种不同的,即β= 1和β= 1.5。在后一种情况下,召回率的优先级高于精度。当回忆和精度都很高, Fβ变得很高。

算术平均值是指查准率和查全率的平均值,如式(13)所示。它很少用作不平衡数据集的评估指标,因为它不能洞察这两个性能指标。相反,建议采用调和平均数,如式(14)所示。看这个方程,很明显,它总是小于两者的算术平均值。实际上,调和平均数更接近两个值中较小的那个。因此,如果调和均值很高,那就表明精确度和召回率都很高(Sun et al. 2007)。Fβ= 1调和平均数的精度和召回。当考虑TPR和TNR的绩效衡量时,使用公式(15)所示的几何平均值(G-Mean)。这是一个衡量分类器对两个类有多好。

García et al.(2008)提出了一种新的绩效指标,Dominance。它给出了一个衡量积极阶层和消极阶层之间支配地位的指标。由式(16)可知,其取值范围为1 ~ +1。接近+1的值表示正类分类器的精度较好,接近1的值表示负类分类器的精度较好。

4 Results and analysis

在本节中,我们首先使用Python的开源库scikit-learn (Pedregosa et al. 2011b)对训练和测试数据进行随机森林、KNN和SVM的广泛模拟。然后,我们对三种分类器的性能评价指标进行了详细的比较分析,并对三种分类器进行了比较。仿真参数表如表5所示。

4.1实验装置

实验在Intel Xeon 2.2 GHz处理器和32gb RAM的64位Windows服务器上进行。所有算法都在Python 3中实现。交易记录总数为80244条,其中选取64195条用于训练随机森林、KNN和SVM三个分类器。剩下的16049条记录被选中用于测试分类器。记录随机森林、KNN和SVM的训练时间分别为22秒、2秒和30秒。三个分类器的测试集的TP、TN、FP和FN值列在表6中。表7列出了这三个分类器的其他复杂性能指标的值。分类器的性能会随着数据集的变化而变化,因为它取决于所选的特征。具有不同特性集的不同数据集可能会导致性能的提高甚至降低。所以,功能集越好,性能就越高。KNN out对TP分别执行了随机森林和SVM。它有最大的盗窃检测实例,是678。对于随机森林,TP为677,对于SVM为672。三种分类器的正确率都接近99%,但从正确率来看,随机森林的表现要优于KNN和SVM,而在召回率方面,KNN的表现要优于随机森林和SVM,其召回率最高,达到99.27%。随机森林具有最高的算术均值和调和均值

4.2 precision和recall的比较

关于NTL检测问题的一个重要观察是,具有高召回率的模型最适合用于盗窃检测。为了理解这种关系,考虑FP和FN的情况。假阳性是那些被分类器预测为小偷的正常用户,而假阴性是那些被分类器预测为普通用户的小偷。考虑到这两种情况,FP值较大只会增加现场检查的人工工作量,而FN值较高则会导致分类器无法正确识别小偷。因此,对于NTL,推荐推广FN值较低的分级器。现在,考虑式(6),可以观察到召回率随着FN的降低而增加。这为NTL检测分类器的选择提供了一个很好的度量,即精度和召回率不应该具有同等的优先级。事实上,对于NTL检测,无论精度值是多少,召回率高的分类器都是最合适的。从表6中可以看出,KNN的FN数最低,为5。因此,如图5所示,它在三个分类器中具有最高的召回率。SVM的召回率最低,为98.39%。因此,使用SVM到KNN的召回率提高了0.89%。这清楚地表明,对于我们的真实数据集,KNN是进行NTL检测的更好选择。对于查全率相同但查准率不同的两个分类器,应该选择查准率高的分类器。精度将随着FP的降低而提高。因此,当两个分类器具有相等的召回值时,应优先考虑FP最低的分类器。这一观察结果可以通过式(10)进行验证。三种分类器的查全率都高于其对应的precision值。进一步观察,SVM在三种分类器中准确率和召回率最低,如图5所示。

只关注FN值,越低越好

召回率,与TP,FN相关,FN越低,Recall越高

precision和recall的比较,优先考虑召回率,召回率相同时,精确率越高越好

4.3精度、FPR、FNR比较

预测为小偷的正常用户总数由FPR测量。高FPR增加了盗窃验证的现场检查,从而增加了人工工作量。另一方面,较高的FPR也表明该分类器成功地识别了被归类为公司普通用户的小偷。另一种可以近距离观察被错误归类为正常用户的小偷数量的方法是FNR。低FNR在NTL检测中是理想的。观察精度测量,所有三个分类器看起来都表现得非常好,但观察FPR和FNR,发现准确性并没有描述FP和FN的事实。图6显示了这三个分类器的FPR非常低。对于KNN, FNR在三种分类器中最小,表明其FN值最低,因此在我们的真实数据集中,KNN是一个很好的NTL选择。

在三个分类器中,支持向量机的FNR最高,表明支持向量机的FN值最高,这也可以在表6中得到验证。因此,对于我们的真实数据集,SVM是NTL检测的最后选择。

只关注FN值,越低越好

FNR,FN越低,FNR越低

误报率(FPR)与漏报率(FNR)

精度、FPR、FNR比较,优先考虑FNR

4.4 Comparison of Fβ=1 and Fβ=1.5

Fβ = 1和Fβ = 1.5在所有classifer readings接近对方。这三个分类器的精度和查全率都很高,表明这三个分类器的查全率和查全率都很高。SVM的两个指标的读数最低,表明SVM的精度和召回值低于对应值,这也可以通过表7验证。因此,SVM是这个真实数据集中用于NTL检测的最后一个选择。

Fβ = 1,随机森林的价值高于KNN和Fβ = 1.5,随机森林和KNN有相等的值。

考虑Fβ= 1,随机森林的表现比KNN好,考虑Fβ= 1.5,随机森林和KNN都有相同的性能。

鉴于召回weightage高在Fβ= 1.5中,所有classifers Fβ= 1.5高与相应的Fβ= 1。这表明所有分类器的查全率都比查准率高。随机森林、KNN和SVM的查全率分别提高了1.9%、2.65%和2.49%。最高比例的增加是观察到的KNN,因此,它也有最高的差值,Fβ= 1和Fβ= 1.5, 即0.5。这表明KNN的性能优于随机森林和支持向量机。同时,Fβ值观察所有classifers召回和精度值之间,如图7所示。这表明Fβ的精度和召回的行为就像the harmonic mean。如第4.2节所述,对于NTL检测,召回率应给予比精度更高的优先级。这可以通过使用Fβ,β值大于1。

只关注FN值,越低越好

召回率应给予比精度更高的优先级。这可以通过使用Fβ,β值大于1。

4.5调和平均数

所有分类器的调和均值都低于算术均值。谐波均值也更接近于所有分类器的查准率和查全率。随机森林具有最高的调和均值。这说明随机森林的查准率和查全率不仅很高,而且非常接近。这可以通过一个事实来验证,即随机森林从精度到召回的增长百分比最小,为1.9%。三种分类器中,SVM的调和均值最小,说明SVM对应的查准率和查全率也较低,如图8所示。因此,在NTL检测中,谐波均值也可以用来评价分类器,而不是同时保持精度和查全率。

调和平均数 和 F1 等价

4.6 TPR、TNR、G均值比较

所有分类器的g -均值都很高。这说明三种分类器的TPR和TNR也都很高。SVM的G-Mean在三种分类器中最低,即TPR也最低,如图9所示。因此,可以推断对于NTL检测,高g -均值的分类器优于低g -均值的分类器。因此,KNN的性能优于随机森林和支持向量机。

4.7 TPR、TNR及优势度比较

优势度接近1的分类器表现为TNR高,TPR低。相反,优势度接近于0的分类器表明它可以很好地预测NTL检测的两个类。对于NTL检测,TPR和TNR提供了对分类器性能的近距离观察。结合TPR和TNR,优势度为NTL检测提供了良好的性能评价指标选择。对于我们的数据集,TPR、TNR和优势度的比较如图10所示。可以观察到,在三个分类器中,KNN具有最接近于0的优势度。这表明,对于我们的数据集,KNN对两个类的预测都是最好的。

4.8 NPV与FNR的比较

在NTL检测中,盗窃事件很少发生,而正常消费者数量巨大。由于NPV只表示正常消费者的数量,而忽略了盗窃情况,因此NPV不是NTL检测的合适指标。可以观察到,对于所有分类器,NPV都接近100%。一个明显的原因是NPV忽略了盗窃案件,只考虑了正常的消费者。相比之下,FNR是一种衡量窃贼数量的方法,可以预测为正常消费者。对于NTL检测,这个比率需要尽可能低。结果表明,KNN的FNR最低。因此,KNN是一个很好的NTL检测选择。对于三种分类器,FNR如图11所示。从图中可以看出,SVM具有最高的FNR,因此对于我们的数据集来说,SVM是NTL检测的最后一种选择。

5 Conclusion and future work

本文使用了巴基斯坦一家电力供应公司的真实数据集,通过应用三种分类器即随机森林、k近邻和线性支持向量机来识别非技术损失。研究的目的是使用这些分类器首先识别现有的NTL企图,然后预测新的盗窃案件。它进一步使用14个不同的指标对这三个分类器进行深入的性能分析。其中一个发现是,在NTL检测中,precision和recall的优先级不应该相等。事实上,召回率高的分类器更好。使用KNN对随机森林的召回率提高了1.24%。这说明随机森林是NTL检测的更好选择。该分析可作为NTL检测中分类器的准确选择的基准。这项工作将极大地有利于电力供应商检测NTL。这不仅将提高他们检测NTL的能力,而且还将节省他们已经承受的巨额金钱损失。有必要进一步扩展性能评估指标的使用,这些指标可以估计和比较错误率,在此基础上,可以为NTL检测的指定数据集选择分类器组合。目前,有一个小范围的图形指标用于性能分析。这包括受试者工作特征(ROC)和ROC曲线下面积(AUC) citeBranco。图形性能指标的使用也需要进一步的探索。此外,分类器相对于其类别的性能是NTL检测的另一个未来方向。

Performance analysis of machine learning classifers for non‑technicalloss detection相关推荐

  1. Hierarchical Roofline Performance Analysis for Deep Learning Applications

    Roofline 模型是劳伦斯伯克利国家实验室在2008年提出的一个性能模型,后续很多工作亦出自该实验室.考虑到分层 Roofline 这一概念已在先前的 Hierarchical Roofline ...

  2. IBM Machine Learning学习笔记(一)——Exploratory Data Analysis for Machine Learning

    数据的探索性分析 1. 读入数据 (1)csv文件读取 (2)json文件读取 (3)SQL数据库读取 (4)Not-only SQL (NoSQL)读取 (5)从网络中获取 2. 数据清洗 (1)缺 ...

  3. 【翻译】Database Workload Capacity Planning using Time Series Analysis and Machine Learning

    [翻译]Database Workload Capacity Planning using Time Series Analysis and Machine Learning 基于时间序列分析和机器学 ...

  4. A Comparative Analysis of Deep Learning Approaches for Network Intrusion Detection Systems (N-IDSs)

    论文阅读记录 数据类型 在预定义时间窗口中,按照传输控制协议/互联网协议(TCP/IP)数据包将网络流量数据建模成时间序列数据. 数据:KDDCup-99/ NSL-KDD/ UNSW-NB15 NI ...

  5. Machine Learning week 9 quiz: Anomaly Detection

    Anomaly Detection 5 试题 1. For which of the following problems would anomaly detection be a suitable ...

  6. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  7. An example machine learning notebook

    原文地址 An example machine learning notebook Notebook by Randal S. Olson Supported by Jason H. Moore Un ...

  8. 论文阅读 :A survey of visual analytics techniques for machine learning

    题目:A survey of visual analytics techniques for machine learning A survey of visual analytics techniq ...

  9. Machine Learning for Technical Debt Identification

    目录 Abstract: 1 INTRODUCTION 2 RELATED WORK 3 METHODOLOGY 3.1 Data Collection 3.1.1 Project Selection ...

  10. 【github】机器学习(Machine Learning)深度学习(Deep Learning)资料

    转自:https://github.com/ty4z2008/Qix/blob/master/dl.md# <Brief History of Machine Learning> 介绍:这 ...

最新文章

  1. Mybatis的一对一查询以及延迟加载
  2. 零碎的小知识点 ----------C# ToString()函数注意事项
  3. Java成神之路——重入锁、公平非公平锁、自旋锁、读写锁
  4. vb读取文件的模式和方法
  5. 亲密关系沟通-【表达情绪】如何说出感受却不伤人
  6. okhttp3.4.1+retrofit2.1.0实现离线缓存
  7. UVA 993 Product of digits
  8. 【机器人学】当前工业机器人应用中的机械结构设计方法分析
  9. matlab中数字分频器的,一种基于FPGA的数字分频器设计详解
  10. mysql客户端用什么 知乎_知乎面试记
  11. 使用Arduino连接一个LCD显示屏
  12. Vue实现图形化积木式编程(十三)
  13. python实现颜色RGB转换颜色16进制
  14. 杰里之AI(692X系列)篇
  15. 谷歌的“神秘”小纸盒,居然是个人脸检测相机!
  16. Server2019任务计划配置笔记
  17. 教你文件改名后怎么恢复回原来名字
  18. HDU6112今夕何夕(Java写法)
  19. java毕业设计健身俱乐部管理系统(附源码、数据库)
  20. 方舟投资(ark-invest)的十五大预测

热门文章

  1. 神雕外挂 神雕ol外挂 http://www.shaguayou.com
  2. 重学css 0x3 CSS效果
  3. Poco库学习——1
  4. 计算机锁屏如何取消密码,Win10锁屏密码怎么取消?Win10系统取消锁屏密码的方法教程...
  5. 零基础使用vscode实现python爬取高德地铁数据
  6. STM32F103_study55_The punctual atoms(STM32 PWM output experimental theoretical knowledge)
  7. 如何屏蔽电脑微信自动更新
  8. 初识Kinect之二
  9. 深度学习在搜狗无线搜索广告中的应用
  10. Set 接口实现类-HashSet