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

简介: 本文主要介绍机器学习/金融风控领域评分卡常用指标,包括信息熵、信息增益、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.


相关文章
|
3月前
|
人工智能 分布式计算 算法框架/工具
揭开阿里巴巴PAI的神秘面纱:引领人工智能计算的新篇章
揭开阿里巴巴PAI的神秘面纱:引领人工智能计算的新篇章 随着人工智能技术的飞速发展,越来越多的企业开始关注并投入到AI的研究和应用中。阿里巴巴作为全球领先的科技公司,也在AI领域做出了卓越的贡献。今天,就让我们一起来揭开阿里巴巴PAI的神秘面纱,了解这个强大的AI平台如何引领人工智能计算的新篇章。 PAI,全称阿里巴巴公共AI平台,是一个集数据准备、模型开发与训练、模型部署于一体的综合性AI平台。PAI的业务架构分为五层,从基础设施层到业务层,涵盖了AI计算的全过程。
60 2
|
6月前
|
机器学习/深度学习 数据采集 人工智能
机器学习基础知识——基本原理、常用算法与评估指标
机器学习基础知识——基本原理、常用算法与评估指标
122 0
|
6月前
|
机器学习/深度学习
评分是机器学习领域中的一种评估模型性能的指标
评分是机器学习领域中的一种评估模型性能的指标
51 1
|
1月前
|
机器学习/深度学习 人工智能 分布式计算
PAI底层支持多种计算框架
PAI底层支持多种计算框架
14 0
|
3月前
|
机器学习/深度学习 算法 Python
机器学习 - [源码实现决策树小专题]决策树中,信息增益、信息增益率计算以及最佳特征挑选的Python实现
机器学习 - [源码实现决策树小专题]决策树中,信息增益、信息增益率计算以及最佳特征挑选的Python实现
45 0
|
3月前
|
机器学习/深度学习 人工智能 算法
深度解密阿里巴巴PAI工作空间:协同创新,智慧计算的新引擎
深度解密阿里巴巴PAI工作空间:协同创新,智慧计算的新引擎 在人工智能领域,团队协作和资源管理是推动技术发展的关键因素。作为阿里巴巴公共AI平台的核心组成部分,PAI工作空间应运而生,为企业和团队提供统一的计算资源管理及人员权限管理能力,为AI开发者提供支持团队协作的全流程开发工具及AI资产管理能力。今天,就让我们一起来深度解密PAI工作空间,了解它是如何成为智慧计算的新引擎的。
45 2
|
7月前
“天池PAI-DSW”创建一个斐波那契数列计算函数
使用天池PAI-DSW创建一个斐波那契数列计算函数
515 0
|
10月前
|
机器学习/深度学习 算法 数据挖掘
机器学习系列 | 02:聚类算法指标整理
本文主要整理记录聚类算法指标,以供参考
|
10月前
|
机器学习/深度学习 算法 语音技术
机器学习评估指标
机器学习评估指标
|
11月前
|
机器学习/深度学习 人工智能 Kubernetes
带你读《云原生机密计算最佳实践白皮书》——PPML: 端到端隐私保护机器学习解决方案(上)
带你读《云原生机密计算最佳实践白皮书》——PPML: 端到端隐私保护机器学习解决方案(上)
561 0

热门文章

最新文章