机器学习 / 评分卡常用指标及计算
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 值,如下表:
版权声明: 本文为 InfoQ 作者【Joshua】的原创文章。
原文链接:【http://xie.infoq.cn/article/dbcafb1dfe428fdceaac07348】。文章转载请联系作者。
评论