针对不平衡数据的模型评判


当得到一个模型时的评价标准。 确定该模型分数的阈值。

根据AUC ROC KS值去判断 和确定该模型的好坏和阈值。


AUC值:

AUC是一个基于ROC图的面积。一般是一个上凸形状。面积越接近1,则说明模型判别效果越好。如下图:


其横坐标是FPR-假正率。其纵坐标是TPR-真正率。

FPR=FP/(FP+TN) 即 认为是正例的 实际却是负例 / 所有负例

TPR=TP/(TP+FN) 即 认为是正例的 实际也是正例 /所有正例

假象中 若需要实现上凸的结果。则需要 横坐标较小时,纵坐标较大。

我们一般让模型输出一个分数,在授信阶段的这个分数,我们业界一般称为A卡分,即 Application Score Card,申请评分卡。在贷中环节有B卡分,即 Behavior Score Card。在贷后催收环节,还有C卡分,Collection Score Card。

一般而言A卡分,分数越小用户越差,分数越大用户越好。这也和大多数的征信分意义一致,如芝麻分、百维分、华策分。

假设A卡分的取值是0-100分。那么设拒绝阈值为X。当X=20时,会拒绝一部分用户,这部分用户里面可能是有真正坏的人,也有好用户。


如以cita为阈值时,TP和FP是拒绝的用户,而TP则是真正坏的人,FP是好人。那一般好模型会希望如上图好坏用户的分布比例。先是坏用户比例高,然后是好用户比例高。

由于TPR和FPR是以总体的正样本数和负样本数单独计算的,所以如果AUC大,可以回答:不论正负样本的分布比例,这个模型的区分能力总体上是很好的!

在风控模型里面,一般认为 坏人是正例,是需要我们找出来的。 而好用户是负例。

那么当X=20时,如果模型有效,那么真正坏的比例应该高,而好用户比例低。

那么应该 TPR 大,FPR小。为了实现上凸的效果,需要FPR为横坐标,TPR为纵坐标。

ROC曲线是使阈值X遍历所有,预测的正样本和负样本在不断变化,直到覆盖了总体,此时TPR=1 TPR=1。

AUC值的一个意义是,反应模型对正负样本的排序能力强弱。理论上,当模型把所有正样本排在负样本之前时,auc=1,为理论最大值。


但是AUC本身不提供一个最优阈值,只是表示这个模型分数对正负样本有一定的区分能力。

具体需要 确定最优阈值时,我们选用了 KS值,来进行确定。

KS值一般取值范围为【0,1】,KS值越大,表示模型能将正负样本区分开来的程度越大。但并非越大越好,尤其是在征信模型中。

征信模型中,最期望得到的信用分数分布是正态分布。如果KS过大,如超过0.8,就可以认为正负样本分得过开,这可能表明信用分数和样本分布不呈正态分布,可能是极端分布,如U字形,像这种分数的使用,需要谨慎。


KS值=max(TPR-FPR) ,此时阈值则为最佳阈值,可用模型和这阈值进行用户区分。

KS值得计算,可以是分组计算,也可以是逐个逐个数据进行计算,此时仍然可以算出TPR和FPR,进而算出KS值。

============================

还有一些不常用的评价指标

precision 准确率=TP/(TP+FP) 即拒绝的用户中真正坏的用户/拒绝的用户数 【这个指标,会随着测试集的正负比例的改变而改变】

TPR=recall = 召回率=TP/(TP+FN) 即 拒绝且真正坏的用户/ 全部坏的用户

specificity =1-FPR=1-FP/(FP+TN)=TN/(FP+TN)


TPR 和 FPR都是条件概率,不受样本情况影响。


对于恶劣分类情况,即【宁可杀错一千,不过放过一个】,那需要在设定合理的 precision下,提高recall。找到这个情况下的阈值。