技术 | 揭秘不平衡数据在金融行业运用

今天讨论的是: 分类中的不平衡数据。一般解与案例研究! 不平衡数据集在所有行业中都很常见,尤其是金融行业!

在处理分类问题时,如何处理一个数据集,它的一个二元分类中的数据点比另一个类中的数据点要多得多?这种数据集被称为不平衡数据集。在不平衡的数据上简单地实现一个分类模型并希望得到最好的结果是明智的吗?有很多重采样技术可以“平衡”不平衡的数据集和大量的分类模型。我们如何为手头的问题选择最优的一个?

本文旨在向数据科学领域非技术人员介绍“不平衡分类:客观评价”这一学术研究的综述[https://arxiv.org/abs/2002.04592]。这篇文章对读者来说是最基本的机器学习的先验知识。

一、导言

不平衡数据集在所有行业中都很常见,尤其是金融行业。假设你在一家银行工作,你有一个带有欺诈标签的信用卡交易数据。你会发现欺诈类是高度不平衡的(0.17%的数据是欺诈=0而99.83%的数据是非欺诈=1)。在这种不平衡的数据上,如果只是简单地直接用现成的分类模型可能会导致非常低的预测精度。在分类问题中,几乎不可能同时对两类(欺诈和非欺诈)进行完美的预测。这是因为分类模型包含两种类型的错误,即类型I和类型II,并且两者之间存在内在的权衡。I类错误表示将欺诈交易错误分类为非欺诈交易的可能性。第二类错误意味着相反的情况:将非欺诈交易误分类为欺诈的可能性。通常情况下,I类错误比II类错误代价更高。我们这里的案例就是一个例子,因为你可能会因为错误地将客户的交易标记为欺诈而激怒他们,从而有可能失去他们。但是,一般来说,根据问题的性质,你可以选择不同的方式来处理类型I和类型II错误的权重,这相应地决定了要操作的分类范式。

我们将简要概述分类范式和重采样。然后,我们将以上述信用卡欺诈数据为例,将每种重采样技术与不同分类范式下的分类模型进行配对。目的是为每一个范例寻找再采样技术与分类模型的最佳组合。在本文的最后,我们提供了应用分类范式和重采样技术编写R代码的示例。

二、三种分类范式

每种分类范式对类型I和类型II错误的权重都有不同的处理:

1. 经典分类(CC)范式将总体分类误差降到最小,这意味着I型和II型错误的权重相等。在类型I错误可能比类型II错误更严重或反之亦然的情况下,它不能很好地工作。因此,我们接下来将介绍另外两个解决非对称错误重要性问题的范例。

2. 成本敏感型(CS)学习范式将不同的成本分配给类型I和类型II错误,然后将它们的总成本最小化。它有多种方法,但是我们将在我们的案例研究中应用后处理方法。另一个缺点是,即使我们将经验I型误差调整为等于预先指定的水平(α),真正的总体水平I型误差仍有一些超过α的可能性。然而,内曼·皮尔森处理了这个问题。

3. Neyman-Pearson范式是一个新兴的统计框架,它通过在理想水平下控制I类错误,同时将II类错误最小化来控制非对称错误。

三、重采样技术

我们利用重采样技术来减轻类别大不平衡对分类模型预测能力的影响。重采样技术通过平衡少数类和多数类中的数据点数量来创建新的训练数据集。我们将讨论三种不同的技术:欠采样、过采样和混合。

1. 欠采样方法使用两种通用方法消除了大多数类中数据点的子集。第一种是随机欠采样,它随机丢弃大多数类中的数据点,以平衡它们与少数类的大小。虽然这是一种简单且省时的方法,但它可以通过抛出信息,使数据样本不太能代表真实的整个总体,从而在数据中产生偏差。第二种技术,基于聚类的欠采样,可以削弱这种偏见。它对大多数类应用一种聚类算法,以获得与少数类大小相平衡的少数类。如果大多数类的大小很大,这种技术可能会很慢。欠采样的一个普遍缺点是,如果大多数类的大部分数据被丢弃,它可能会导致关键信息丢失。

2. 过采样会增加少数类中的数据点数量,以使其与多数类的大小保持平衡。随机过采样通过随机复制少数类中的数据点来实现,直到它们与多数类的大小相等。合成少数过采样技术(SMOTE)利用k个最近邻为少数类生成与多数类大小相等比例的新数据点。过采样方法会导致过拟合,相对于欠采样,通常需要更长的训练时间。

3. 混合采样只是欠采样和过采样技术的结合。它同时应用过采样以增加少数类中的数据点数量,同时应用欠采样以减少多数类中的数据点数量。

四、真实案例研究:信用卡欺诈数据

1. 数据集描述

2. 数据集来源:

Kaggle[https://www.Kaggle.com/mlg-ulb/creditcardfrulaud]

3. 预测量:30

4. 记录/交易数量:284807

5. 响应变量:“类”,在欺诈的情况下取1,否则取0。在我们的数据处理中,我们在研究中颠倒了标签,因此如果是欺诈,则归0类;否则归1类。

6. 不平衡率:0.17%(284807中492笔欺诈交易,492÷284807)

数据处理

我们从上面的大数据集中提取一个子样本。并且指定不平衡比(IR)为100,即IR=100。我们随机选择0类(欺诈)的n0=300个数据点,选择1类的n1=n0*IR=30000。这构成了我们的训练集。测试集包括剩余的m0=192,[492-300]用于0级,m1=m0*IR=19200用于1级。这种分割机制保证训练集和测试集的IR相等。

下面是我们使用的重采样技术:

无重采样:使用训练集而不修改原始数据(在图表中,我们称之为“原始数据”)随机欠采样(我们称之为“欠采样”)过采样(“SMOTE”):我们使用R Package smotefalliy,v1.3.1,siriseiwan 2019混合:将随机欠采样与SMOTE相结合

以下是我们应用的分类模型,以及R包(注意:我们使用包的默认参数):

Logistic回归(基础R中的glm函数)支持向量机(R包e1071,v1.7.2)XGBoost(R包XGBoost,v0.90.0.2)

对于分类范式,我们指定以下参数:

CS学习范式:我们指定成本C0=IR=100和C1=1;阈值=C0/(C0+C1)=100/101NP范式:我们指定α=0.05,违反率δ=0.05

| S |表示集S的基数。设O={C C,CS,NP},T={Original,Under,SMOTE,Hybrid},C={LR,SVM,XGB}。因此,它包含| O=3 |×| T=4 |×| C=3 |=36个元素,如下图所示,我们稍后将对其进行研究。

五、评价指标

请注意,我们将少数类(欺诈)标记为0,多数类(无欺诈)标记为1。我们称之为0类(负面类,欺诈)和1类(正面类,欺诈)。

分类模型通常汇总在一个称为混淆矩阵的表中,如下所示。之所以称之为“混淆”,是因为分类模型在识别正类和负类(即,它们混淆了正类和负类)方面并不完美。右对角线表示错误预测的标签,左对角线表示正确预测的标签。

混淆矩阵包括:

真阴性(TN):正确预测为阴性的数据点数量(欺诈)假阴性(FN):错误预测为阴性的数据点数量真阳性(TP):正确预测为阳性的数据点数量(无欺诈)假阳性(FP):错误预测为阳性的数据点的数目

-I类错误:将欺诈交易错误分类为非欺诈交易的比例:

=FP/(TN+FP)

=22/(170+22)=0.1146

-第二类错误:将非欺诈交易误分类为欺诈的比例:

=FN/(FN+TP)

=477(477+18723)=0.0248

下面我们概括在计算经验风险和分类成本时使用该信息的每个类别的比例:

-总体分类错误(或“经验风险”):两个类别中错误分类数据点的百分比。表示如下:

=Prop0*I型+Prop1*II型

=(FP+FN)/(TP+FP+TN+FN)

=0.0257

-在将成本分配给第一类和第二类错误(分别为C0=100和C1=1)的情况下,经验分类成本的计算如下:

=C0*Prop0*Type1+C1*TypeII

=100*0.0099*0.1146+1*0.9901*0.0248

=0.1380

-在处理不平衡分类问题时,F-score是一种常用的度量方法。它来源于测量精度和召回率,其计算见下表。如果相应的精度或召回未定义或等于0,则F-score设置为0。

精度: 测量模型在每个类的预测标识(即正确和错误预测)中做出正确预测的次数。

召回: 测量模型从每个类的真实标识中做出正确预测的次数。

通过上述精确性和召回率计算,我们计算了每一类的F-score:

Receiver Operating Characteristic(ROC)曲线是分类模型在辨别阈值变化时识别正类和负类的性能的图示(参见下图)。此外,它反映了第一类和第二类错误之间的权衡。当我们在数据中成功地识别出更多的真阴性(欺诈)时,会以错误地将非欺诈记录识别为欺诈(假阳性)为代价。ROC曲线下的面积(AUC)是一个单一的数字摘要,用于量化模型在区分正类和负类方面的性能。它通常介于0和1之间。值越大,就越能反映出模型的性能。值为0.5并不比随机猜测更好。如图所示,ROC-AUC为0.9734907,这表明该模型在识别欺诈交易和非欺诈交易方面做得很好。

精确召回(PR)曲线及其AUC(PR-AUC)是处理不平衡数据时的替代指标。在图3中,欺诈类和非欺诈类的PR-AUC分别为0.857943和0.9995953。

总之,对于第一类和第二类错误、经验风险和经验分类成本来说,较小的值表示分类模型的性能更好。然而,对于F-score、ROC-AUC和PR-AUC,较大的值表示更好的性能。

六、结果与解释

为了稳定我们的结果,这个过程重复了50次,并报告了在三种分类范式下所有分类器的平均性能(评价指标的平均值)。结果汇总如下:

经典分类范式

上图展示了在CC范式下将每个重采样技术与分类模型配对的结果。我们观察到,没有重新取样的所有分类公司的经验风险比所有重新取样技术的经验风险更小(更好)。此外,F-score对于所有没有重采样技术的分类器来说也更好(更高)。因此,我们得出结论,如果我们的学习目标是最小化风险(在CC范式下操作),那么在不执行重采样技术的情况下对原始数据应用XGBoost分类模型是最佳选择(“XGB+original”)。

值得注意的是,最小化不平衡数据的总体分类误差可能会导致较大的I型误差,如上图所示。然而,通过利用重采样技术,我们可以更好地控制I型错误。

为了方便读者,我们根据几个评估指标,总结了CC范式下重采样技术与分类模型的最佳组合:

下图中的ROC-AUC和PR-AUC测量整个模型的性能,无需指定分类范式。这些指标表明,XGBoost在所有重采样技术中都最有效。然而,根据ROC-AUC,重采样技术不能改善逻辑回归的性能。然而,在ROC-AUC和PR-AUC(非欺诈类)下,它们可以显著地提高支持SVM的性能。最后,以ROC-AUC和PR-AUC(非欺诈类)为标准,“XGB+混合”是最佳组合,“XGB+SMOTE”是以PR-AUC(欺诈类)为标准的最佳组合。

成本敏感(CS)学习范式

如果我们的目标是最小化总的错误分类成本,那么我们应该在CS学习范式下操作。从上面的图6中,我们发现所有的模型都从使用I型误差作为评估指标的重采样技术中受益匪浅。下表通过对不同指标的评估,总结了在CS学习范式下重采样技术与分类模型的最佳组合。

内曼皮尔逊(NP)范式

如果我们的目标是在目标水平下控制一类错误的同时最小化二类错误,那么我们应该在NP范式下操作。其结果如图7所示。我们观察到,在所有重采样技术与分类模型的组合中,I型误差均在α下得到很好的控制。最后,我们在下表中总结了NP范式的最佳组合。

七、总结和案例研究的局限性

在处理不平衡的数据时,关键是首先要问自己,在问题中,哪种错误代价更高:类型I还是类型II?这个问题将帮助你确定适当的分类范式。一旦你确定了合适的范例,从这里给定的图表中选择再采样技术和分类模型的最佳组合应用到你的数据集上。你的选择应该基于要用于评估分类器性能的评估度量。尽管有几个评估指标可用,但请选择一个重点放在相对重要的错误上。

好了,以上就是这篇文章的全部内容了,希望读者朋友们下次遇到不平衡数据集时可以运用今天介绍的方法!