美文网首页机器学习小组评分卡
评分卡|分类学习器的评估

评分卡|分类学习器的评估

作者: JSong1122 | 来源:发表于2017-09-14 00:04 被阅读692次

信用评分卡主要有三种(A卡、B卡、C卡):

  • A卡:申请评分卡,侧重贷前,在客户获取期,建立信用风险评分,预测客户带来违约风险的概率大小;
  • B卡:行为评分卡,侧重贷中,在客户申请处理期,建立申请风险评分模型,预测客户开户后一定时期内违约拖欠的风险概率,有效排除了信用不良客户和非目标客户的申请;
  • C卡:催收评分卡,侧重贷后,在帐户管理期,建立催收评分模型,对逾期帐户预测催收策略反应的概率,从而采取相应的催收措施。

简单来讲,评分卡用分数来预测客户的好坏。当一个评分卡已经构建完成,并且有一组个人分数和其对应的好坏状态的数据时,我们想知道所构建的评分卡是否可靠?可靠程度如何?而这取决于如何去定义这个“好”字。一般有三种角度可以来评估:

  • 评分卡分类划分的准确程度,如错误率、准确率、召回率、F1
  • 评分卡的判别能力,评估评分卡将好人和坏人分离开的程度,如KS统计量、ROC曲线、GINI系数
  • 评分卡概率预测的校准精度

令s是分类学习器预测的结果,可以是好人坏人这样的类别,也可以是一个概率值,大于多少才进一步判定为坏人,还可以是一个信用评分,大于多少才进一步判定为好人。至于是哪种跟我们选用的模型有关,不过目前逻辑回归和随机森林等都支持输出概率值或者信用评分。

从测度论的角度来看,模型评估的是预测变量和实际变量之间的相似度或距离。在这块有很多的指标,有统计检验的,有信息论的,也有概率论的,每个指标都有其优劣和适用场景。

因为是分类器,所以实际分类变量比较简单,肯定是因子型的离散变量,在评分卡中其分布就是pG 和pB。而预测变量的类型就不确定,不过没关系,我们统一考虑它的密度函数f(s)和分布函数F(s)。

当预测变量的阈值选好后,即每一个样本都被预测了,这时候预测变量也变成了与实际类别变量相同的离散变量,则预测类别变量和实际类别变量的混淆矩阵为:

实际坏人 实际好人
预测坏人 TP(真正例) FP(假反例)
预测好人 FN(假正例) TN(真反例)

要注意的是,此时预测变量虽然是离散的,但我们仍然可以用概率来表示混淆矩阵。设样本数为N,f(s|G)和f(s|B)分别为好人和坏人的条件密度函数,nG和nB分别表示总体中好人和坏人的数量,则上述的混淆矩阵可以表示为:

实际坏人 实际好人
预测坏人 p(s ∈ 坏人|B) nB p(s ∈ 坏人|G) nG
预测好人 p(s ∈ 好人|B) nB p(s ∈ 好人|G) nG
总体 nB nG

接下来我们就可以定义和分析各种距离/指标啦。

1、分类学习器的性能度量

性能度量反映了任务需求,在对比不同的模型能力时,使用不同的性能度量往往会导致不同的评判结果;这意味者模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。

在预测任务中,给定样例集

(a)好人、坏人均值相差很大,(b)好人、坏人均值相差不大

3.1 马氏距离

马氏量比较简单,它就是两个概率密度函数的众数之差/标准差

这其中常用的有:

  • 卡方散度(f(t)=(t-1)2):

    KS统计量

    KS值反映的判别能力没有一个确定的标准,经验上KS统计量至少要等于0.4才反应一个较好的判别能力。

    KS统计量的缺点在于它描述的是在“最优区分分数”下的情形,但商业决策中需要一个相关或合适的临界分数。我们只能理解成,实际临界分数处的条件分布的距离比KS统计量小,换句话说,KS统计量仅是好坏距离或区分度的上限。

    3.5 ROC曲线

    信用评分中最常用的判别能力的度量工具是ROC(Receiver Operating Characteristic)曲线和与之很相似的CAP(Cumulative Accuracy profile)曲线。这些曲线下方的区域引出了两种判别能力的度量:Gini系数和准确率AR。

    ROC曲线是好人条件分数相对于坏人条件分数的累计分布的图形。如下图,x轴代表 ROC曲线

    注:在很多机器学习的书中,ROC曲线是通过混淆矩阵来定义的,本质上与上述定义是等价的。给定一个判定分数s,当分数大于s时,模型判定为好人,当分数小于s*时,模型判定为坏人。这样真正率(正样本预测为正的比例,此时坏人是正样本)TPR=F(s|B),假正率(负样本预测为正)FPR=F(s|G)。且用概率表示的混淆矩阵如下:

    ROC曲线下的面积(Area under the ROC curve,简称AUROC或者AUC)可评价判别能力的大小。一般评分卡的AUROC通常介于0.5~1之间,且面积越大,判别能力越好。

    AUROCAUROC

    我们更倾向于用范围0到1来标准化测量结果,0代表完全随机,1代表完美随机能力。此时我们可以将AUROC转换成Gini系数,其等于ROC曲线与对角线之间面积的两倍。

    GINI系数GINI系数

    每个分数在ROC曲线上的点(F(s|G),F(s|B)),该点垂直投射到对角线上的点的横纵坐标相等。所以曲线上这点的垂直距离变成了|F(s|G)-F(s|B)|。很明显,KS统计量就是这个最大距离的最大值,而Gini系数是这个距离在整个曲线上积分的两倍,因此GINI<2KS。

    另外可以证明GINI>KS,如果进一步放缩GINI系数,还可以证明GINI<2KS-(KS)2,于是我们有:

    GINI系数估计不等式GINI系数估计不等式

    注:ROC曲线的绘制

    在画ROC曲线和计算Gini系数时,分值大小并不重要,真正重要的是这些人分数的相对排序。将分数按升序排列,得到BGBBGGBGGG·······。依次将前n个样本预测为B即可得到ROC曲线。

    3.6 CAP曲线

    在市场营销文献中,有一个和ROC曲线很类似的方法叫做累积准确性(cumulative accuracy profile,CAP),或者成为提升曲线(lift curve)。与ROC曲线不同,它的横纵坐标不是F(s|G)和F(s|B),而是F(s)和F(s|B)。所以横坐标表示的是总体被拒绝的比例,纵坐标表示好人被拒绝的比例。

    完美判别评分卡的CAP曲线会经过B(pB,1)点,其中 pB 是总体中坏人的比例。

    就像ROC曲线和Gini系数一样,曲线到对角线的面积与完美判别到随机判别面积的比例可以整合CAP曲线包含的信息。这个比例成为准确率(accuracy rate,AR)

    可以证明AR=GINI,但两个曲线并不一样。ROC曲线不需要指导原始总体的分布,而只看评分卡本身。但CAP曲线包含了总体的信息,随总体变化而变化。

    注:可用数据集:
    UCI澳大利亚信用卡数据UCI德国信用卡数据LendingClub数据集

    操盘过程见文章:评分卡实践(先挖坑,待续)

    参考文献

    [1]. 机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
    [2]. 消费信用模型:定价、利润与组合
    [3]. 机器学习
    [4]. 统计学习方法
    [5]. 评分卡模型构建介绍
    [6]. 信用评分的简单小结(ROC,IV,WOE)
    [7]. 利用LendingClub数据建模
    [8]. 知乎:分布的相似度(距离)用什么模型比较好?
    [9] 概率分布之间的距离度量以及python实现

相关文章

  • 评分卡|分类学习器的评估

    信用评分卡主要有三种(A卡、B卡、C卡): A卡:申请评分卡,侧重贷前,在客户获取期,建立信用风险评分,预测客户带...

  • python week 15

    分类器评估学习

  • 信用评分模型开发-基于R语言(1)

    目录 评分卡开发流程 数据的获取与整合 探索性数据分析 特征选择 粗分类与WOE变换 模型评估 评分卡开发 模型监...

  • 《机器学习(周志华)》学习笔记(二)

    Q:怎样评估一个学习算法训练出来的学习器的效果好坏? A:评估学习器的基本思想是:1、学习器误差越小越好。对于分类...

  • 开篇:风控评分卡知识总结

    1 基本风控信息 1.1 评分卡的分类: A卡(Application score card)申请评分卡 A卡一...

  • R语言中绘制ROC曲线和PR曲线

    原文链接:http://tecdat.cn/?p=6236 ROC 曲线可能是评估评分分类器的预测性能的最常用的度...

  • Various classifier comparisons o

    加载数据 分类器 评估

  • 深度学习笔记

    1. 线性分类 线性分类有两个主要部分:评分函数和损失函数。评分函数将输入的训练采样数据映射为分类标签的评估得分,...

  • 损失函数

    线性分类器简介 线性评分函数 阐明线性分类器 损失函数多分类SVMsoftmax分类器SVM和softmax的比较...

  • 评分卡模型

    信用评分卡分类A卡:申请评分卡,侧重贷前,在客户获取期,建立信用风险评分,预测客户带来违约风险的概率大小;B卡:行...

网友评论

    本文标题:评分卡|分类学习器的评估

    本文链接:https://www.haomeiwen.com/subject/jxplsxtx.html