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

简介: 本文主要介绍机器学习/金融风控领域评分卡常用指标,包括信息熵、信息增益、WOE、IV值、LIFT值

1. 信息熵

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

image.png

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

2. 信息增益

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

image.png

  • 例子:

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

其他特征 workclass income label
Private <=50K 1
Private <=50K 1
Private >50K 0
? <=50K 1
Private <=50K 1
? >50K 0
Self-emp-not-inc <=50K 1
Private <=50K 1
Private >50K 0
? <=50K 1
Self-emp-not-inc >50K 0
Self-emp-not-inc <=50K 1

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

image.png

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

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

image.png

其信息增益为:

image.png

用处:

特征分箱、决策树划分

3. WOE

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

ln(P(Y=1|Xj)P(Y=0|Xj))=ln(P(Y=1)P(Y=0))+ln(f(Xj|Y=1)f(Xj|Y=0)) (由贝叶斯公式即可推出。)

上式等式右边第一项为常量,是样本的先验分布的对数几率,第二项即为WOE,即 ln(f(Xj|Y=1)f(Xj|Y=0)),其中 f(Xi|Y) 为条件概率密度函数或离散型变量的概率分布

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

image.png

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

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

给定数据集 D=(x1,y1),(x2,y2),,(xm,ym) “线性回归” 试图学得一个线性模型尽可能准确地预测出目标 y,即:

f(xi)=wxi+b,使得 f(xi)yi

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

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

ln(y)=wxi+b

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

image.png

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

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

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

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

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

y=1/(1+ez)

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

y=1/(1+e(wxi+b))

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

ln(y/(1y))=wxi+b

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

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

image.png

3.1.2. 朴素贝叶斯角度

image.png

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

image.png

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

3.1.3. 评分卡

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

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

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

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

S+PDO=Aln(2p/(1p))+B

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

image.png

4. IV

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

image.png

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

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

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

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

image.png,

其中 Q(x) 是近似分布,P(x) 是我们想要用 Q(x) 匹配的真实分布。

如果我们把 P(x) 看作坏样本在变量 xj 上的分布,把 Q(x) 看作是好样本在变量 xj 上的分布,通过KL散度,即可度量在变量 xj 上的好坏样本的分布差异,也即变量区分好坏样本的能力。

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

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

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

image.png

整理一下,得到:

image.png

上述既是IV的表达式。

5. lift

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

lift=T / R

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

image.png

选取数据的 N 个切分点,在第i个切分点 Ni 处,计算模型预测对的累计正例值 T=sum(Ti),即得到“使用模型时的效果”;再除以“不使用模型时的效果”,即先验正例值 R=len(D|y=1)Ni 即可得到lift曲线:

image.png

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

image.png


参考:

周志华. 机器学习[M]. 2016年1月第1版. 清华大学出版社, 2018.

KIM LARSEN. Data Exploration with Weight of Evidence and Information Value in R[EB/OL]. [2022-06-25]. https://multithreaded.stitchfix.com/blog/2015/08/13/weight-of-evidence/.

https://www.geeksforgeeks.org/understanding-gain-chart-and-lift-chart/

Kullback, S. and Leibler, R.A., 1951. On information and sufficiency. The annals of mathematical statistics, 22(1), pp.79-86.


相关文章
|
1月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
62 1
|
1月前
|
机器学习/深度学习 程序员
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
【机器学习】朴素贝叶斯原理------迅速了解常见概率的计算
|
5月前
|
机器学习/深度学习 人工智能 算法
算法金 | 一文彻底理解机器学习 ROC-AUC 指标
```markdown # ROC曲线与AUC详解:评估分类模型利器 本文深入浅出解释ROC曲线和AUC,通过实例和代码帮助理解其在模型评估中的重要性,旨在提升对分类模型性能的理解和应用。 ```
315 13
算法金 | 一文彻底理解机器学习 ROC-AUC 指标
|
4月前
|
机器学习/深度学习
机器学习模型评估指标详解
【7月更文挑战第14天】选择合适的评估指标对于准确评估机器学习模型的性能至关重要。在实际应用中,需要根据具体任务场景和数据特点,综合考虑多种评估指标,以全面评估模型的性能。同时,还需要注意评估指标的局限性,避免单一指标带来的误导。
|
5月前
|
机器学习/深度学习 人工智能 算法
超强,必会的机器学习评估指标
```markdown # 机器学习模型评估指标概览 机器学习模型评估涉及多种指标,用于量化模型在分类和回归任务中的表现。关键指标包括: - **分类**: - **准确率**: 简单易懂,但在类别不平衡时可能误导。 - **精确率**: 衡量正类预测的准确性,适用于误报代价高的场景。 - **召回率**: 评估正类识别的完整性,适用于漏报代价高的场景。 - **F1分数**: 精确率和召回率的调和平均,平衡两者。 - **AUC**: 衡量模型区分正负类的能力,适用于不平衡数据。 - **混淆矩阵**: 提供详细分类结果,用于分析模型错误。
61 0
超强,必会的机器学习评估指标
|
4月前
|
机器学习/深度学习 Serverless Python
`sklearn.metrics`是scikit-learn库中用于评估机器学习模型性能的模块。它提供了多种评估指标,如准确率、精确率、召回率、F1分数、混淆矩阵等。这些指标可以帮助我们了解模型的性能,以便进行模型选择和调优。
`sklearn.metrics`是scikit-learn库中用于评估机器学习模型性能的模块。它提供了多种评估指标,如准确率、精确率、召回率、F1分数、混淆矩阵等。这些指标可以帮助我们了解模型的性能,以便进行模型选择和调优。
|
5月前
|
机器学习/深度学习 调度 云计算
大规模机器学习的计算资源管理
【6月更文挑战第3天】在机器学习中,计算资源是关键所在,相当于驱动模型运行的“燃料”。有效管理计算资源涉及了解硬件性能、合理分配资源及采用优化策略,如任务调度。Python 示例展示了如何使用 multiprocessing 进行并行处理。随着云计算的发展,更多工具帮助我们扩展和管理计算资源。机器学习的计算资源管理是一场持续的探索游戏,旨在实现高效运行和创新成果。准备好投身这个激动人心的领域了吗?
76 1
|
5月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】CLIP模型在有限计算资源下的性能探究:从数据、架构到训练策略
【机器学习】CLIP模型在有限计算资源下的性能探究:从数据、架构到训练策略
335 0
|
6月前
|
机器学习/深度学习 人工智能
【机器学习】有哪些指标,可以检查回归模型是否良好地拟合了数据?
【5月更文挑战第16天】【机器学习】有哪些指标,可以检查回归模型是否良好地拟合了数据?
|
6月前
|
机器学习/深度学习 BI
机器学习模型评估指标总结
机器学习模型评估指标总结
117 2

热门文章

最新文章