粗分类与WOE变换
证据权重(Weight of Evidence,WOE),可以将逻辑回归模型转变成为标准评分卡格式
WOE的定义如下:
分子是某一个类别里面坏样本的占比,分母是此类别下好样本的占比,如果括号内的比值小于1,则此类别下坏样本的占比低于好样本的占比,WOE是负数,反之是正数。
需要注意的是,对于连续变量,要计算WOE值,需要先分箱,分箱的方法有很多,等距分箱,等比分箱,另外一种是使用决策树进行分箱:
进行WOE变换
bins = woebin(germancredit, y="creditability",method = 'tree')
## [INFO] creating woe binning ...
bins$age.in.years
## variable bin count count_distr good bad badprob woe
## 1: age.in.years [-Inf,26) 190 0.190 110 80 0.4210526 0.5288441
## 2: age.in.years [26,28) 101 0.101 74 27 0.2673267 -0.1609304
## 3: age.in.years [28,35) 257 0.257 172 85 0.3307393 0.1424546
## 4: age.in.years [35,37) 79 0.079 67 12 0.1518987 -0.8724881
## 5: age.in.years [37, Inf) 373 0.373 277 96 0.2573727 -0.2123715
## bin_iv total_iv breaks is_special_values
## 1: 0.057921024 0.1304985 26 FALSE
## 2: 0.002528906 0.1304985 28 FALSE
## 3: 0.005359008 0.1304985 35 FALSE
## 4: 0.048610052 0.1304985 37 FALSE
## 5: 0.016079553 0.1304985 Inf FALSE
对于age.in.years 的第一个类别,其WOE值为0.5288441,我们来回顾一下是如何计算的:
此类别下,坏样本占总的坏样本的比例:80/(80+27+85+12+96) = 0.2666667
此类别下,好样本占总的好样本的比例:110/(110+74+172+67+277) = 0.1571429
套用公式:log(0.2666667/0.1571429)
WOE变换的优点
可以使得模型的预测效果更好
可以有很好的业务可解释性