本文主要讲“变量选择”“模型开发”“评分卡创建和刻度”
变量分析
首先,需要确定变量之间是否存在共线性,若存在高度相关性,只需保存最稳定、预测能力最高的那个。需要通过 VIF(variance inflation factor)也就是 方差膨胀因子进行检验。
变量分为连续变量和分类变量。在评分卡建模中,变量分箱(binning)是对连续变量离散化(discretization)的一种称呼。要将logistic模型转换为标准评分卡的形式,这一环节是必须完成的。信用评分卡开发中一般有常用的等距分段、等深分段、最优分段。
单因子分析,用来检测各变量的预测强度,方法为WOE、IV;
WOE
WOE(weight of Evidence)字面意思证据权重,对分箱后的每组进行。假设good为好客户(未违约),bad为坏客户(违约)。
#good(i)表示每组中标签为good的数量,#good(T)为good的总数量;bad相同。
这里说一下,有的地方计算WOE时使用的是 b a d 占 比 g o o d 占 比 \frac{bad占比}{good占比} good占比bad占比的,其实是没有影响的,因为我们计算WOE的目的其实是通过WOE去计算IV,从而达到预测的目的。后面IV计算中,会通过相减后相乘的方式把负号给抵消掉。所以不管谁做分子,谁做分母,最终的IV预测结果是不变的。
IV
IV(information value)衡量的是某一个变量的信息量,公式如下:
N为分组的组数;
IV可用来表示一个变量的预测能力。
IV | 预测能力 |
---|---|
<0.03 | 无预测能力 |
0.03~0.09 | 低 |
0.1~0.29 | 中 |
0.3~0.49 | 高 |
>=0.5 | 极高 |
根据IV值来调整分箱结构并重新计算WOE和IV,直到IV达到最大值,此时的分箱效果最好。
分组一般原则
- 组间差异大
- 组内差异小
- 每组占比不低于5%
- 必须有好、坏两种分类
举例说明
例如按年龄分组,一般进行分箱,我们都喜欢按照少年、青年、中年、老年几大类进行分组,但效果真的不一定好:
Age | good | bad | WOE |
---|---|---|---|
<18 | 50 | 40 | l n ( 50 / 330 40 / 220 ) = − 0.182321556793955 ln(\frac{50/330}{40/220}) = -0.182321556793955 ln(40/22050/330)=−0.182321556793955 |
18~30 | 100 | 60 | l n ( 100 / 330 60 / 220 ) = 0.105360515657826 ln(\frac{100/330}{60/220}) = 0.105360515657826 ln(60/220100/330)=0.105360515657826 |
30~60 | 100 | 80 | l n ( 100 / 330 80 / 220 ) = − 0.182321556793955 ln(\frac{100/330}{80/220}) = -0.182321556793955 ln(80/220100/330)=−0.182321556793955 |
>60 | 80 | 40 | l n ( 80 / 330 40 / 220 ) = 0.287682072451781 ln(\frac{80/330}{40/220}) = 0.287682072451781 ln(40/22080/330)=0.287682072451781 |
ALL | 330 | 220 |
根据IV值可以看出,预测能力低,建议重新调整分箱。
建立模型
先进行数据划分,一般70%训练集、30%测试集。训练集用于训练模型,测试集用于检测训练后的模型。
一般采用Logistic Regression建立模型,训练模型。将建好的模型对待测样本进行预测。
评分卡
评分卡计算方法
odds为good用户概率(p)与bad用户概率(1-p)的比值。
o d d s = 好 客 户 概 率 坏 客 户 概 率 = p 1 − p odds=\frac{好客户概率}{坏客户概率}=\frac{p}{1-p} odds=坏客户概率好客户概率=1−pp
评分卡设定的分值刻度可以通过将分值表示为比率对数的线性表达式来定义。公式如下:
s c o r e 总 = A + B ∗ l n ( o d d s ) score_总=A+B*ln(odds) score总=A+B∗ln(odds)
注:若odds是 好 客 户 概 率 坏 客 户 概 率 \frac{好客户概率}{坏客户概率} 坏客户概