首页 > 编程知识 正文

多项指标联合检测的roc曲线,r语言 自变量是二分类的roc

时间:2023-05-06 20:24:23 阅读:51324 作者:3887

目录

1、ROC曲线

2、绘制ROC曲线的方法

3、为什么要使用ROC曲线

4、信用评分的简要总结(ROC、IV、WOE ) )。

5、KS

6、群体稳定指数(PSI ) ————模型的稳定性

精度(Accuracy )、精度(Precision )、召回率(Recall )、F1-Measure

关于混淆矩阵. png 1,ROC曲线需要事先说明的是,这里只讨论二值分类器。 关于分类器,或者分类算法,评价指标主要是precision、recall、F-score,以及我们今天讨论的ROC和AUC。 下图是ROC曲线的示例。 从该ROC曲线的样本图可以看出,ROC曲线的横轴为falsepositiverate(FPR ),纵轴为truepositiverate (TPR ) )。 下图详细说明了如何定义FPR和TPR。 (真阳性/假阳性=roc ) ) acu为roc曲线下面积0.5至1 ) )。

考虑一下ROC图表中虚线y=x上的点。 这个对角线上的点实际上表示了采用随机推测策略的分类器的结果。 例如,(0.5,0.5 )表示该分类器随机对一半样本将其推测为正样本,另一半样本为负样本。

更好的ROC参考

2、如何绘制ROC曲线。 如果我们已经得到了所有样本的概率输出(属于正样本的概率),现在的问题是如何改变“discrimination threashold”? 根据每个测试样本属于正样本的概率值,按从大到小的顺序排序。 下图为一个示例,图中共有20个测试样本,“Class”栏显示每个测试样本的真实标签,“p”为正样本,“n”为负样本),“Score”表示每个测试样本属于正样本

样本. png接下来,从高到低依次将" Score "的值设为阈值threshold,如果测试样本属于正样本的概率在该threshold以上,则认为是正样本,否则认为是负样本。 例如,对于图中的第四个样本,如果" Score "的值为0.6,则所有样本1、2、3和4都被视为正样本。 这是因为它们的“Score”值大于或等于0.6,所有其他样本都被视为负样本。 每次选择不同的threshold时,都可以获得ROC曲线上的一组点: FPR和TPR。 这样,得到了FPR和TPR共计20组的值。 将它们绘制在ROC曲线上的结果如下图所示。

3、为什么要使用ROC曲线有这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡现象(class imbalance),或负样本明显多于正样本,且测试数据中正负样本的分布也可能随时间而变化。 下图比较了ROC曲线和Precision-Recall曲线。

4、信用评分的简单总结(ROC、IV、WOE ) )信用评分常用的模型是逻辑回归,这是一种

处理二分类因变量的广义线性模型。这种模型的理论基础比较扎实,但是对于不同的问题当然也存在一些特殊的处理方式,我最大的困惑就在于建模时对分类自变量的处理方法。由于制作评分卡的某些需要,通常会在建立评分模型时将自变量做离散化处理(等宽切割,等高切割,或者利用决策树来切割),但是模型本身没办法很好地直接接受分类自变量的输入,因此需要对自变量进行再次的处理。比较常规的做法有两种:做dummy变量,做基于目标的变量编码。

dummy变量是比较顺其自然的操作,例如某个自变量m有3种取值分别为m1,m2,m3,那么可以构造两个dummy变量M1,M2:当m取m1时,M1取1而M2取0;当m取m2时,M1取0而M2取1;当m取m3时,M1取0且M2取0。这样,M1和M2的取值就确定了m的取值。之所以不构造M3变量,是基于信息冗余和多重共线性之类的考虑。但是,构造dummy变量也存在一些缺点,例如无法对自变量的每一个取值计算其信用得分,并且回归模型筛选变量时可能出现某个自变量被部分地舍弃的情况。

另一种处理分类变量的方法是基于目标对其进行编码,在信用评分中比较常见的就是用WOE编码。WOE叫做证据权重(Weight of Evidence),表示的其实是自变量取某个值的时候对违约比例的一种影响。

直观地可以认为WOE蕴含了自变量取值对目标变量(违约概率)的某种影响,因此可以自然地将自变量重新编码:当自变量取值Ai时,编码为相应的WOEi。

参考:信用评分的简单小结(ROC,IV,WOE) 

5、KS

风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)、区分度指标(KS)是度量具体模型下正常样本和违约样本分布的最大差距,首先按照样本的信用分数或预测违约率从小到大进行排序,然后计算每一个分数或违约率下好坏样本的累计占比。正常和违约样本的累计占比差值的最大值即为区分度指标(KS)。区分度指标(KS)的示意如图2所示。区分度指标(KS)小于0.2代表模型准确性差,超过0.75则代表模型准确性高。

实际上是就是你建立好模型后,按照评分从大到小排列后:检验你所谓的好客户和坏客户两类客户分布的差异性,即模型区分度。分布根据好坏两个客户评分的累积密度分布曲线,画出来的:比如好坏客户共100个,按照评分排序后前百分之十的客户即10个,其中好的客户有8个,坏的客户有2个(总体样本中好客户80个,坏客户20个),那么前10%的客户的累积密度为:好客户10%,坏客户10%。同理前20%的客户中其中好的客户有15个,坏的客户有5个那么前20%的客户的累积密度为:好客户18.75%,坏客户25%
以此类推可以得出前30%,40%。。。。100%的累积密度。以10%,20%,30%。。。100%为横坐标,以两类客户累积密度为纵坐标,即可画出KS曲线图。

6、群体稳定指数(PSI)————模型的稳定性

群体稳定性指标(population stability index),公式: psi = sum((实际占比-预期占比)/ln(实际占比/预期占比))

psi.png

举个例子解释下,比如训练一个logistic回归模型,预测时候会有个概率输出p。你测试集上的输出设定为p1吧,将它从小到大排序后10等分,如0-0.1,0.1-0.2,......。现在你用这个模型去对新的样本进行预测,预测结果叫p2,按p1的区间也划分为10等分。实际占比就是p2上在各区间的用户占比,预期占比就是p1上各区间的用户占比。意义就是如果模型跟稳定,那么p1和p2上各区间的用户应该是相近的,占比不会变动很大,也就是预测出来的概率不会差距很大。一般认为psi小于0.1时候模型稳定性很高,0.1-0.25一般,大于0.25模型稳定性差,建议重做。

模型的稳定性用PSI指标来检验

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。