分箱的基评估标准是依靠WOE与IV值,常用的方法是等频、等距、best_ks、卡方。
决策树里对于连续值采用信息熵、信息增益率、方差、基尼系数等来进行拆分的选择。
它们本质上是一样的,都是为了寻找最佳的拆分方式,具有最好的表达能力。只不过一个不是用模型能力表现,一个是用模型能力表现。
等频分箱
对连续变量从小到大排序,使用频次百分比qcut分割的方式对连续变量进行分箱,使得每个区间具有数量相同的样本量。
等距分箱
对连续变量从小到大排序,将取值区间等分成N等份,样本根据其取值落到对应的分箱中。
Best-KS分箱
ChiMerge卡方分箱
自底向上合并数据的离散化方法。依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。
参考文章:基于卡方分箱的评分卡建模 https://www.cnblogs.com/wzdLY/p/9649101.html
github:https://github.com/tatsumiw/ChiMerge/blob/master/ChiMerge.py
基本思想: 如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。
各分箱方法用来判断分箱好坏的标准,用来选择最佳分箱个数K的依据
无监督的 | 等频分箱 | IV值 | 公式= |
无监督 | 等距分箱 | IV值 | 公式= |
有监督的 | Best-KS分箱 | KS值 | 公式= |
有监督的 | 卡方分箱ChiMerge | 卡方值 | 公式= |
计算WOE值:
WOE的全称是“Weight of Evidence”,即证据权重,WOE是对原始自变量的一种编码形式。要对一个变量进行WOE编码,需要首先把这个变量进行分箱。分箱后,对于第i组,WOE的计算公式如下:
yi是这个分组中响应客户(即取值为1)的数量,yT是全部样本中所有响应客户(即取值为1)的数量
ni是这个分组中未响应客户(即取值为0)的数量,nT是全部样本中所有未响应客户(即取值为0)的数量
计算IV值:
IV的全称是Information Value,用来衡量自变量的预测能力
对于分组i的IV值:
计算整个变量的IV值,n为变量分组个数:
- 过高的IV,可能有潜在的风险
- 特征分箱越细,IV越高
KS值计算
KS(Kolmogorov-Smirnov)用于模型风险区分能力评估,指标衡量的是好坏样本累计部分之间的差距 。KS值越大,表示该变量越能将正、负样本的区分开。一般KS>0.2即表示特征有较好的准确率。
KS的计算方式:
- 计算每个评分区间的正负样本数。
- 计算各每个评分区间的累计负样本数占总负样本数比率(negative%)和累计正样本数占总正样本数比率(postive%)。
- 计算每个评分区间累计正样本比与累计负账户占比差的绝对值(累计positive%-累计negative%),然后对这些绝对值取最大值记得到KS值。
Best-KS分箱的操作步骤
- 将特征值值进行从小到大的排序。
- 计算出KS最大的那个值,即为切点,记为D。然后把数据切分成两部分。
- 重复步骤2,进行递归,D左右的数据进一步切割。直到KS的箱体数达到预设阈值。
卡方分箱的操作步骤