zoukankan      html  css  js  c++  java
  • CAP(Cumulative Accuracy Profile)曲线/AR值释义

    CAP(Cumulative Accuracy Profile)曲线/AR值释义

    CAP(Cumulative Accuracy Profile)曲线以及对应的AR(Accuracy Ratio)值是金融风控模型评价中的一个比较常用的指标,由于和机器学习准确率评价的ROC曲线比较类似,但CAP曲线的具体含义尚未见到有比较好的资料阐述,因此这里对CAP的概念做一详细说明。

    首先,来讲一下CAP曲线针对的问题,以及它是如何做出来的。CAP衡量的是风控模型检出风险(也就是坏用户的)的能力。所谓风控模型实际上就是一个分类模型,它把有风险的客户作为正例进行检出。

    CAP曲线的步骤如下:首先,对于所有预测的结果,按照其概率值降序排列起来,比如我们有5个客户,判断其为坏客户的概率分别为:[0.1,0.4,0.6,0.8,0.9],那么排序后得到 [0.9,0.8,0.6,0.4,0.1]。我们将概率大的判断为正样本,但是需要一个阈值,那么我们就从高到低逐渐降低阈值,这时候发现,我们判断为正的数量越来越多,比如,阈值再0.85,则正的只有一个0.9,如果阈值降低到0.7,那么就有0.9和0.8两个正的预测。

    CAP的横轴就是从排序后概率值头部到尾部的移动过程中,阈值以上的(预测为正的)样本占总样本的比例。写出来就是:

    x = 该阈值下预测为正的样本数 / 样本集中的总样本数

    而CAP的纵轴表示的则是,再当前阈值下,我们拣选出来的这些预测为正的样本中,其中含有的真实的正样本占所有正样本的比例。注意,这里的分母不是所有样本,而是所有正样本。写出来就是:

    y = 该阈值下检出的正样本中真实的正样本数 / 样本集合中的总正样本数

    这里可以看出,阈值实际上是x和y的一个隐变量。

    我们想象一下,最好的情况是:我们将阈值从最大往最小移动,即将正负样本的划分界限从左往右移动的过程中,每增加一个预测为正的样本,它都是真的正样本。这样的结果就是:x和y的分子是一致的,那么随着阈值降低,y和x 的斜率就是一个常数:

    k = y/x

    = (该阈值下检出的正样本中真实的正样本数 / 样本集合中的总正样本数) * (样本集中的总样本数/该阈值下预测为正的样本数 )

    = 样本集中的总样本数/样本集合中的总正样本数

    =1/坏客户比率

    也就是说,再理想状态下,CAP曲线应该是一个斜率为坏客户比例倒数(正样本比例的倒数)的直线。当然,这个直线不能一直递增,因为正样本是有限的,那么当所有正样本都被检出后,曲线就平了,表示再也剪不出正样本了。

    我们再考虑另一种情况,也就是最差的情况。由于斜率表示的是每次增加一点检出样本,正样本的检出率增加量。如果是随机的,也就意味着,不管在那个小区间里,正样本的比例和总体的正样本比例都是一样的(随机猜测)。所以,这个斜率应该是1。比如说,100个样本中,一共20个正例,那么如果我们检出了30个,那么如果是随机猜测,那么应该有6个正例在里面,此时x = 30/100 = 0.3, y = 6/20 = 0.3。斜率是1。也就是说,斜率1是随机猜测的结果。

    如图所示:

    在这里插入图片描述

    实际情况中,我们的模型总是介于最优和随机之间的,而且越是靠近最优就越好。因此我们通常计算上图中黄色的面积与(黄色+灰色)的面积的比来衡量模型的有效性。这个值就是AR:

    AR = (实际CAP曲线与随机曲线之间的面积) / (理想CAP曲线与随机之间的面积)

    显然,AR在0到1之间。AR越大,模型就越有区分度,可以更好地将正负样本分开。

    2019-08-29 20:51:32

  • 相关阅读:
    数据库
    poj上关于回文的题目
    最长上升子序列
    [CodeForces]914D Bash and a Tough Math Puzzle
    [HAOI2011]problem a
    Arc123 D
    [Cnoi2020]线性生物
    [USACO17FEB]Why Did the Cow Cross the Road III P
    ABC 210
    CF1111D Destroy the Colony
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256669.html
Copyright © 2011-2022 走看看