写点什么

机器学习 / 评分卡常用指标及计算

作者:Joshua
  • 2022 年 8 月 12 日
    江苏
  • 本文字数:3930 字

    阅读完需:约 13 分钟

1. 信息熵

信息熵 (information entropy) 是度量样本集合纯度最常用的一种指标。假定当前样本集合 D 中第 k 类样本所占的比例为 ,则 D 的信息熵定义为:



Ent(D) 的值越小,则 D 的纯度越高


2. 信息增益

假定离散特征 F 有多个可能的取值: ,则对特征的每个离散值,均可计算出取值为  的样本集合  的信息熵。再考虑到不同的特征值其包含的样本个数不同,给予离散特征值赋予权重 ,即样本数越多的特征值的影响越大。从而可以计算出用特征 F 对样本集 D 进行划分所获得的“信息增益” (infomation gain)

  • 例子:

如下是截取自 德国信用卡数据集 (adult_income) 的部分数据,将 income 标记为 0/1

本数据集中,类别数为 2 , 其中正例样本占比: 812, 负例样本占比: 412. 则初始时包含所有样本,则信息熵为:

接下来选择 workclass 特征计算信息增益:

其中 Private 特征值的样本数为 6,其中标签为 0 的占比为 26 ,标签为 1 的占比为 46. ? 特征值的样本数为 3,其中标签为 0 的占比为 13,标签为 1 的占比为 23. Self-emp-not-inc 特征值的样本数为 3,其中标签为 0 的占比为 13,标签为 1 的占比为 23. 则,各个特征值对应的信息熵为:



其信息增益为:

  • 用处:

特征分箱、决策树划分

3. WOE

WOE (Weight of Evidence) 描述的是变量与目标之间的关系。在变量与目标之间存在如下关系:

 (由贝叶斯公式即可推出。)

上式等式右边第一项为常量,是样本的先验分布的对数几率,第二项即为 WOE,即 ,其中  为条件概率密度函数或离散型变量的概率分布

WOE 一般用于风控模型(逻辑回归/评分卡)建模的编码阶段,在此场景下,变量  包含 M 个离散值,则该变量的 

3.1. WOE 编码在评分卡中的使用

3.1.1. 逻辑回归角度
  • 说回线性回归 (Linear regression)

给定数据集  “线性回归” 试图学得一个线性模型尽可能准确地预测出目标 y,即:

,使得 

  • 对数线性回归 (Log-linear regression)

可否令模型预测值逼近 y 的衍生物呢?譬如,假设 y 不是在常数尺度上变化,而是在指数尺度上变化,即:


这就是“对数线性回归”,它实际上是在试图让  逼近 y. 虽然形式上仍然是线性回归,但实质上已经是在求取输入空间到输出空间的非线性函数映射,如下图所示:

  • 广义线性模型 (Generalized linear model)

更一般地,考虑单调可微函数 g(⋅), 令:, 这样得到的模型称为“广义线性模型”,其中的函数 g(⋅) 称为“联系函数” (link function)。显然,对数线性回归是广义线性模型在 g(⋅)=ln(⋅) 时的特例。

  • 对数几率回归 (Logistic regression / logit regression)

上述模型的输出均是实数,若要应用于分类任务该如何?参考对数线性回归,只需找一个单调可微函数将分类任务的 y 与线性回归的预测值联系起来。

考虑二分类任务,其输出标记 y∈{0,1},于是,我们需要将线性回归的输出实值 z 转换为 0/1 的值。对数几率函数(Logistic function) 正是这样一个常用函数:


它将 z 值转化为一个在 0 和 1 之间的值。代入广义线性回归模型中:


视 y 为输出标记为正例的概率,则 1−y 是其反例的概率值,二者的比值: 称为 “几率” (odds),反映了样本 x 作为正例的相对可能性。对几率取对数则得到了对数几率 (log odds,亦称 logit):

从上式可以看出,这实际上是在用线性回归模型的结果去逼近真实值的对数几率,因此,对应的模型称为“对数几率回归” (logistic regression, 亦称 logit regression). 虽然名字仍然是“回归”,但实际上却是一种分类学习方法。

推广到多元的情形下,假设数据集 D 由 d 个特征组成,此时“多元线性回归”可表示为:

3.1.2. 朴素贝叶斯角度

上式表明“对数几率等于先验对数几率与各特征的 WOE 值之和”。朴素贝叶斯假设各特征  之间相互独立,这个假设过于严格。为此,在各个特征前加入系数 wi:

当然这并不能完全拟合变量间的相关性。

3.1.3. 评分卡

想想我们如何构建一个方法去评估一个人的信用呢?我们可能会从多个角度去考虑:年龄、教育程度、工作性质等。然后根据每个维度的信息“综合考虑” (1),同时不希望每个特征微小的变化不至于对分数产生很大的影响 (2);并且希望得到的分数变化能定性地衡量其违约的概率 (3)

根据条件 (1) 我们给每个维度的信息一个权重,并求和/求积,从简单考虑,线性回归即可根据各维度地分数组合为一个分数值,即 

根据条件 (2),可以对每个维度进行分箱处理;

根据条件 (3),可以假定一个变化的刻度,由于上一步用到了对数几率,则可假设当其可能违约的概率相比不违约的比值增加 2 倍时,其分数增加 PDO (Point to double the odds):

由此解出 A 和 B 的值,得到逻辑回归模型到评分卡的转换:


4. IV

IV 值一般用于二分类中的变量筛选,用 IV 来衡量变量对好坏样本的区分能力。其公式为:

然而,为什么 IV 要如此定义,WOE 不也能代表变量的预测能力么?

在介绍 WOE 后,通过其公式可以看到,变量  的每个 woe 值与对数几率正相关,即 woe 越大,其概率值  越大(m 代表离散变量  的每个可能取值)。那么如何衡量整个变量  的预测能力(重要性)呢?用变量的 是否可行?

从 WOE 的公式上很容易看出,其值有正有负,则相加之后无法对变量的预测值进行比较。这也启发我们需要找到一个像度量两点之间的距离类似的概念,能度量变量对好坏样本的区分度。

KL 散度 (Kullback-Leibler divergence),也称为相对熵 (relative entropy) ,是两个概率分布间差异的非对称性度量。在离散型变量下,其公式为:

其中 Q(x) 是近似分布,P(x) 是我们想要用 Q(x) 匹配的真实分布。如果我们把 P(x) 看作坏样本在变量  上的分布,把 Q(x) 看作是好样本在变量  上的分布,通过 KL 散度,即可度量在变量  上的好坏样本的分布差异,也即变量区分好坏样本的能力。

然而 KL 散度是一个非对称性的度量,即 。作为一个度量,我们希望分布 Q 到分布 P 的“距离”和分布 P 到分布 Q 的“距离”应该一样。可以证明 KL 散度:

在固定概率分布 P(x)(或 Q(x))的情况下,对于任意的概率分布 Q(x)(或 P(x)),都有 ,而且只有当 P(x)=Q(x) 时才等于零。

由于 KL 的非负性,那么  不就是一种具有对称性的分布 P 到分布 Q 的“距离”度量了嘛!我们试着写出度量变量  好坏样本差异的公式:

整理一下,得到:

上述既是 IV 的表达式。

5. lift

lift 值代表使用模型时的效果较不使用模型时的效果的提升值。则涉及到两个值,“使用模型时的效果”——T,以及 “不使用模型时的效果”——R.


在二分类场景中,将模型对训练集/验证集样本 D 预测的概率值按从大到小的顺序排列:

选取数据的 N 个切分点,在第 i 个切分点  处,计算模型预测对的累计正例值 ,即得到“使用模型时的效果”;再除以“不使用模型时的效果”,即先验正例值  即可得到 lift 曲线:


在评分卡应用场景中,常常使用评分分段代替概率,则可使用分段累计坏样本除以总的坏样本即可得到各区间 lift 值,如下表:


发布于: 刚刚阅读数: 3
用户头像

Joshua

关注

还未添加个人签名 2022.08.11 加入

还未添加个人简介

评论

发布
暂无评论
机器学习/评分卡常用指标及计算_机器学习_Joshua_InfoQ写作社区