面向信贷不平衡数据的高斯混合欠采样算法
2020-02-08韩旭,贾宁,朱宁
韩 旭,贾 宁,朱 宁
(天津大学 管理与经济学部,天津 300072)
0 引 言
数据不平衡现象的出现导致传统的分类器难以在信贷领域获得良好的性能。目前解决不平衡分类问题的策略可以分为4类:数据重采样、代价敏感方法、算法级方法、集成策略[1-9]。在文献中受到广泛关注的是数据重采样方法。它可以独立地执行数据预处理和分类器来训练任务。根据Galar等[10]对许多著名的方法进行了比较研究,数据预处理方法与分类器的组合的性能比其它方法更好,并且侧重于数据角度有利于人们的理解和实现。在重采样策略中,欠采样已被证明是比过采样更好的选择[11]。然而欠采样也存在将重要信息删除的可能性。为了克服欠采样的局限性,文献[12]考虑了利用Kmeans聚类算法来优化欠采样策略。但Kmeans算法有局限性,由于Kmeans算法是根据各个样本距离聚类中心的距离来进行聚类,并依据此进行删减数据,这样会破坏掉两类数据之间的空间结构,造成边界样本的损失,影响分类的效果。
基于此,本文提出一种基于高斯混合聚类的欠采样方法(GMMUSA)。第一,本文利用了高斯混合模型作为聚类算法核心来提高算法精度。在保证多数类的空间结构不变的情况下,根据聚类集群的聚集程度适当地删除冗余样本,从而减少多数类的大小。第二,金融领域存在大量的不平衡数据,将关注点放置于信贷不平衡问题上的研究相对匮乏。本文将其应用在了真实业务的信贷数据集中,使研究更加符合实际情况。实验结果表明,该算法有效改善了不平衡数据的分类问题,提升了传统分类器的分类性能,有利于提升信贷风险领域的整体利益。
1 相关理论研究
1.1 不平衡分类问题
不平衡分类问题是指训练样本的数目在不同类别上分布的很不平衡时,传统的分类算法大多倾向于把样本数较少类别的样本错误的分到样本数较多的类别中。从而导致少数类样本的分类正确率很低[13]。不平衡问题存在于许多应用中,例如故障诊断[14]、医学诊断[15]、制造业生产[16]、金融欺诈检测[17]等。
目前从已有的4类方法来看,数据重采样方法是从数据层面着手,通过改变训练集样本的分布,降低不平衡程度[18]。主要技术有两种:欠采样(under-sampling)和过采样(over-sampling)技术;代价敏感(cost-sensitive)算法主要考虑在分类中,针对不同类型的错误分配不同的成本,使得分类中的高成本误差的数量和误差分类的成本最小。这种方法尚未被学者广泛使用的主要原因是成本矩阵的建立是非常困难的[3-5];集成策略(ensemble strategy)则是通过组合多个学习器来解决相同的机器学习问题。集成策略具有很好的学习效果和很强的泛化能力[7]。目前大致可以分为两类:串行生成的序列化方法(如Boosting)和并行化方法(如Bagging)[8],但是选择哪种组合方法以及如何选择基本学习器是一个挑战;另一种是算法级方法。此类方法通过创建新的分类器,或修改现有的分类以解决类失衡问题。这种方法很大程度上依赖于分类器的性质,并且该方法中的大部分工作都集中于解决特定的问题,此外开发新的算法或修改现有的算法是困难的[19,20]。
1.2 高斯混合模型
通过将基本的概率分布(例如高斯分布)进行线性组合,可以被形式化为概率模型,这被称为混合分布(mixture distributions)。为了使采样算法产生的样本与真实数据分布更加一致,所提出的采样算法是基于高斯混合模型概率分布的。GMM参数估计的常用方法是期望最大化EM算法(expectation maximization algorithm)[21]。
高斯混合模型是指多个高斯函数的线性组合。GMM可以看成是L个高斯分布在一定比例下的混合。每个高斯分量由平均μ和协方差矩阵δ确定
(1)
1.3 轮廓系数
为了提高聚类的效率,引入轮廓系数(silhouette coefficient)来确定聚类的簇数。轮廓系数是聚类的有效性度量。轮廓系数将数据集中的任一对象与本簇中其它对象的相似性以及该对象与其它簇中对象的相似性进行量化,且将量化后的两种相似性以某种形式组合,获得聚类的优劣评价标准。
轮廓系数定义为
Sil=(b(i)-a(i))/max(b(i),a(i))
(2)
Silhouettes=1时,表示对象i与其它簇中的对象相异性较大。
Silhouettes=0时,表示对象i分类不明显。
Silhouettes=-1时,表示对象i被分配到一个错误的簇中。
其中,a(i)是对象i与所属集群的任何其它对象之间的平均相异性。此外b(i)是从i到任何不属于其它簇的任何点的最低平均距离。轮廓系数在(1,1)的范围内,较高的值表明对象与其自身的簇匹配良好,但与相邻的簇不匹配。如果大多数对象具有高值轮廓系数,则聚类配置是合适的。
2 基于高斯混合聚类的欠采样算法
本文利用了一种基于高斯混合模型聚类的欠采样方法解决了信贷数据集不平衡的问题,随后进行了建模分析。关于GMMUSA算法具体流程如图1所示。
图1 GMMUSA算法流程
在图1中给出了基于高斯混合模型的欠采样算法的流程图。具体过程如下。算法的第一步是将基于K-折叠交叉验证方法的不平衡数据集划分为训练集和测试集。第二步是将训练集划分为一个多数类子集和一个少数类子集。其次,采用GMMUSA方法来减少多数类中的数据样本数。然后将减少的多数类子集与原有的少数类子集相结合,得到均衡的训练集。最后,利用新的训练和测试集分别对分类器进行训练和测试。
GMMUSA算法的详细步骤如下:
步骤1 计算两个类别之间的数据数目差异
若数据集D中两个类别的数据分别是DMajor和Dminority,则针对多数类样本进行欠采样的样本数量为Munder=DMajor-Dminority。
步骤2 对多数类进行欠采样操作
首先利用轮廓系数来决定多数类数据集需要聚成的类别个数。
其次根据高斯混合聚类后的每个类别的样本大小以及需要欠采样数据的总量,按照比例确定每个子类的欠采样数量。
然后针对每个多数类的子类,删除靠近聚类中心的样本,这是因为在保证不破坏子类的空间结构信息的基础之上,有必要减少冗余样本的数量,删除中心区域的部分样本是因为每个子类的中心区域相对于其它地方更密集。因此它应该具有更高的欠采样概率,这样就能保证在多数类数据被压缩的同时保留代表性的边界样本。
步骤3 合并数据集,形成新的样本集
通过图2可以更好地解释GMMUSA算法的性能。原始数据分布D如图2(a)所示,其中三角形标志位少数类样本,圆圈标志为多数类样本。原始数据的分布相对分散,多数类数据远多于少数类数据。在图2(b)中,针对数据集利用GMM建模和分解多数类数据,将多数类数据分解两个群体,分别进行欠采样,从而使多数类的一些冗余数据被删除,并且空间的相对结构没有改变,缓解了两类的不平衡关系。相对于传统的利用Kmeans进行聚类,GMM能够更好地考虑数据的样本分布情况,更加合理,效果更佳。
图2 采样后的数据分布对比(例二维数据集)
3 实验分析与验证
3.1 数据集介绍
本文一共选用了3个数据集进行实验。前两个数据集是来自公开数据集UCI的小规模数据集,分别为澳大利亚(Australian)和德国(German)的信贷数据集。第3个数据集来自从某汽车金融公司得到的真实数据集(该公司是中国的消费金融服务提供商,其主要业务是为个人提供汽车贷款服务)。数据集基本信息见表1。
表1 数据信息
此外,为了更好探讨数据的不平衡比例对算法的影响,本文通过减少原始数据集的部分样本数来调整这两个数据集的比例,并生成了几个新的数据集来验证算法在不同不平衡比例下的分类性能,不同不平衡比例下的数据集信息见表2。
表2 不同不平衡比例下的数据集
最后,为了探究所提出算法的鲁棒性,本文以German数据集为例,根据噪声数据比例将数据集划分成几个子例进行算法鲁棒性分析,鲁棒性分析数据信息见表3。
表3 鲁棒性分析数据信息
3.2 模型性能评估度量
分类模型的性能常用正确率来衡量,但是对于类别不平衡的数据,用正确率度量会使多数类样本占优势。所以在处理不平衡数据时,仅仅使用正确率或者错误率度量将会导致性能评价产生偏差。为了更准确全面地评价非平衡学习性能,本文引入AUC标准来进行评价。二分类问题的混淆矩阵见表4。
表4 二分类问题的混淆矩阵
注:TP表示被正确识别的正类数量,FN表示被错误识别成负类的正类数量,FP表示被错误识别成正类的负类数量,TN表示被正确识别的负类数量
ROC曲线(receiver operating characteristic curve)是有效的性能评价指标。ROC曲线的纵轴为真正例率(true positive rate,TPR),横轴为假正例率(false positive rate,FPR)。
结合表4,两者的定义如下
(3)
(4)
如果对多个分类器进行评估,多条ROC曲线有时会出现部分区域相互交叉的现象,不利于优劣的判断,这时可以使用AUC(area under ROC curve)来评价。AUC是ROC曲线下的面积。AUC值越大,意味着分类器的预测性能越好。为此,本文采用AUC值来综合评价分类器的整体性能。
3.3 GMMUSA算法的性能验证
3.3.1 不同的欠采样算法的性能对比分析
为了验证GMMUSA算法的有效性,除了与不进行重采样处理的原始数据进行对比之外,本文还将其与目前常用的欠采样算法进行对比分析,分别为:NearMiss[22]、OneSided-Selection(OSS)[23]、TomekLinks[24]。此外由于本文采用了高斯混合模型进行聚类从而确定删减数据对象,所以在聚类算法中也选出了两种常用的聚类算法进行欠采样来对比结果,分别为AffinityPropagation(AP)[25]、Kmeans。
本实验采用在信贷风险领域常用的分类模型:逻辑斯特(Logistic)回归模型和C4.5决策树模型(DT)进行预测。所有算法按照80/20比例划分的测试集,并使用5折交叉验证,LR分类器和DT分类器结果见表5和表6。
表5 LR分类器结果信息
通过实验对比发现,GMMSUA算法在11个数据集中都有良好的表现,并且随着数据的不平衡比例的增大,优势逐渐明显,特别是不平衡比例最大的Enterprise data数据集。这是由于GMMUSA算法是基于数据的概率密度函数进行采样,所以其可以准确估计真实的概率密度函数,使聚类效果更佳,删除的冗余样本更精确。此外,GMMUSA算法表现比较稳定,能适应数据集的变化。
3.3.2 算法对噪声数据的鲁棒性分析
在现实世界中数据集不可避免地会具有很多噪声数据,噪声数据是指样本中含有错误的值。为了系统地验证GMMUSA算法对噪声数据的鲁棒性,实验中人为地加入一些噪声数据,并调整噪声数据的级别程度来测试GMMUSA算法对噪声数据的鲁棒性。该实验对原始数据集注入不同程度的噪音数据,观察算法的鲁棒性,LR分类器和DT分类器详细结果见表7和表8。
通过表7和表8可以发现GMMUSA算法相对于其它算法具有更强的抗噪性,特别是在噪音级别较高的情况下,这是因为GMMUSA考虑了数据的真实分布,可以保证两类数据的空间结构不变化前提下根据数据的聚集程度删除数据,从而减少了噪声数据对采样和分类学习的影响。
表6 DT分类器结果分析
表7 LR分类器结果信息
表8 DT分类器结果信息
4 结束语
针对不平衡信贷数据集的分类问题,本文提出了一种基于高斯混合模型聚类的欠采样算法。研究目的是验证在不改变类别空间结构的基础上删除多数类的冗余信息的适应性,并验证其在信贷数据集上的可行性。
在实验中,本文将所提出的算法与其它传统欠采样方法进行了比较,并研究了它们在某汽车金融机构已放款的真实业务数据以及两个UCI的公开信贷数据集中的表现,并应用两种监督学习方法(C4.5决策树和Logistic回归)进行交叉验证建模和测试性能。实验结果表明,GMMUSA相较于其它方法对大多数信用数据集表现性能更好,对噪声数据具有较强的鲁棒性,算法描述更加全面且精度高于以往相关研究,是对以往相关研究的补充完善。
未来可以考虑两个问题。第一,由于信贷数据还存在维数过多的现象,可以考虑研究信贷数据的特征选择问题。第二,可以研究多分类的不平衡分类问题。