KS曲线和KS值
参考机器学习-KS值
-
概念:从统计角度,我们知道KS是分析
两组数据分布是否相同
的检验指标。在金融领域中,我们的y值和预测得到的违约概率刚好是两个分布未知的两个分布。好的信用风控模型一般从准确性、稳定性和可解释性来评估模型。一般来说。好人样本的分布同坏人样本的分布应该是有很大不同的,KS正好是
有效性
指标中的区分能力指标
补充::今天由于没有了解到ks的概念造成了工作上的一些小问题,直接对月份计算ks值,现补充如下:
(1)网上很多的定义是这样的:KS(Kolmogorov-Smirnov)统计量由两位苏联数学家A.N. Kolmogorov和N.V. Smirnov提出。在风控中,KS常用于评估模型区分度
。区分度越大,说明模型的风险排序能力(ranking ability)
越强。如何理解呢?
-
排序
这里的排序指标应该是根据模型得出来的分数
,按分数进行排序,计算每个分数段的ks -
模型区分度
应该指的就是好坏样本累积占比之间的差值,ks越大,越能够区分好坏样本,那么这个模型就越好。KS用于模型风险区分能力进行评估,KS指标衡量的是
好坏样本累计分布之间的差值
。因此KS的计算公式可以表示为: B a d C n t . c u m s u m B a d C n t . s u m − G o o d C n t . c u m s u m G o o d C n t . s u m \frac{BadCnt.cumsum}{BadCnt.sum}-\frac{GoodCnt.cumsum}{GoodCnt.sum} BadCnt.sumBadCnt.cumsum−GoodCnt.sumGoodCnt.cumsum好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。
-
计算公式: m a x ( T P R − F P R ) max(TPR-FPR) max(TPR−FPR)KS值的范围为[0,1],一般在0.35-0.75之间效果较好,KS值并不是越大越好,当KS值大于0.75时,应谨慎验证该模型
-
建模后期KS值持续下降的原因:
- 市场变化
- 客群变化
- 评分卡模型不稳定,通常测试集和oot的KS值的差在0.05左右模型即稳定
- 评分卡内某个重要特征变量发生重大变化
PSI指标
-
原理:PSI——“Population Stability Index”,即群体稳定性指标,在我们建模的时候,数据(
变量或者模型分
)的分组占比分布是我们的期望值,也就是我们希望在测试数据集里以及未来的数据集里,也能够展示出相似的分组分布
,我们称之为稳定
。因此我们用实际占比
和预期占比
作为基础指标来建立评价模型稳定性的PSI指标。 -
公式: Σ ( a p − e p ) × l n ( a p e p ) \Sigma(ap-ep)\times ln(\frac{ap}{ep}) Σ(ap−ep)×ln(epap)其中ap表示实际占比,ep表示预期占比。
公式原理参照风控模型—群体稳定性指标(PSI)深入理解应用
需要用到相对熵的概念信息熵及相关概念
交叉熵>信息熵
:交叉熵比原本真实的信息熵要大。直观来看,当我们对分布估计不准确时,总会引入额外的不必要信息期望(可以理解为引入了额外的偏差),再加上原本真实的信息期望,最终的信息期望值要比真实系统分布所需的信息期望值要大。 -
风控评价该指标的范围:PSI < 0.1 模型稳定性很高,PSI 0.1<= psi < 0.2 模型一般,需要进一步研究,PSI >0.2 模型稳定性差,建议修复
-
用处
变量监控
:筛选稳定性强的变量;模型监控
:保证模型的客群稳定性;
IV指标
数据分箱
- 概念:对连续数据进行分组转换成类别数据的操作,具体参考风控ML[10] | 风控建模中的自动分箱的方法有哪些
- 为什么要进行分箱:
- 对变量进行分箱后,会对异常数据有较强的
鲁棒性
,变量会更加稳定,提高模型的泛化能力; - 对异常值:通过分箱可以消除
异常值
的干扰, - 对缺失值:分箱可以将
缺失值
单独分为一个箱,降低了缺失值对模型的影响
- 对变量进行分箱后,会对异常数据有较强的
- 分箱之后如何建模
因为分箱之后的类别型变量是没有办法带入逻辑回归进行拟合的,因此需要对分箱之后的特征值进行WOE编码
,编码之后计算IV值
从而达到特征筛选
的目的
WOE
- 概念:weight of evidence,
证据权重
,是对原始变量的一种编码形式,是将类别型的变量转化为具有实际意义的数字,首先需要对数据进行分箱处理。 - 公式:对每一组的证据权重,有
W
O
E
i
=
l
n
(
p
(
y
i
)
p
(
n
i
)
)
WOE_i=ln(\frac{p(y_i)}{p(n_i)})
WOEi=ln(p(ni)p(yi))
其中 p ( y i ) p(y_i) p(yi)表示每一组的坏账人数占总的坏账人数的比例 p ( y i ) = B a d i B a d T p(y_i)=\frac{Bad_i}{Bad_T} p(yi)=BadTBadi, p ( n i ) p(n_i) p(ni)表示每一组的非坏账人数占总的非坏账人数的比例 p ( n i ) = G o o d i G o o d T p(n_i)=\frac{Good_i}{Good_T} p(ni)=GoodTGoodi
公式的解释参照风控模型—WOE与IV指标的深入理解应用 - 应用:
处理缺失值
:当数据源没有100%覆盖时,那就会存在缺失值,此时可以把null单独作为一个分箱
。这点在分数据源建模时非常有用,可以有效将覆盖率哪怕只有20%的数据源利用起来
。处理异常值
:当数据中存在离群点时,可以把其通过分箱离散化处理,从而提高变量的鲁棒性(抗干扰能力)。例如,age若出现200这种异常值,可分入“age > 60”这个分箱里,排除影响。业务解释性
:我们习惯于线性判断变量的作用,当x越来越大,y就越来越大。但实际x与y之间经常存在着非线性关系,此时可经过WOE变换
- 解释
WOE值越大,代表该分箱中,坏人的分布与好人的分布差异更大,那么该分箱就更能够反映出用户的抗风险能力以及好坏客户的识别能力
IV
- 概念:information value 信息值
- 公式: Σ ( p ( y i ) − q ( y i ) ) × l n ( p ( y i ) q ( y i ) ) \Sigma (p(y_i)-q(y_i))\times ln(\frac{p(y_i)}{q(y_i)}) Σ(p(yi)−q(yi))×ln(q(yi)p(yi))
- 作用:
衡量自变量的预测能力
,即该变量能否很好地对好坏客户进行区分 - 关于为什么不能直接使用WOE而要在WOE的基础上添加一项 ( p ( y i ) − q ( y i ) ) (p(y_i)-q(y_i)) (p(yi)−q(yi))参照数据挖掘模型中的IV和WOE详解
- 解释
通常来说,IV值越高
,表明好坏客户的区分越明显
,因此该特征值的预测能力即区分好坏客户的能力越强,越应该纳入我们最终的建模自变量中,但是IV值太高时,需要检查信息泄露(即该特征中是否包含Y的信息)