信贷评分卡
前言
在业界有几种不同的流派(业界建立逻辑回归)
- 直接用原始变量进行回归(模型粗糙并不能生成评分卡)
- 从原始数据生成0/1的虚拟变量(dummy variable)进行回归(FICO用的较多,已不是主流)
- 从原始数据生成woe(weight of evidence)进行回归
1.逻辑回归原理
1.1 求解方式
预测函数(线性回归模型上加了sigmoid函数):hθ(x)=1+e−θx1其中θx=θ0+θ1x1+θ2x2+...+θnxn
对于二分类:
{p(y=1∣x,θ)=hθ(x)p(y=0∣x,θ)=1−hθ(x)
将其合并得到:
p(y∣x,θ)=hθ(x)y(1−hθ(x))(1−y)
利用极大似然估计得到(MLE):
L(θ)=i=1∏np(yi∣xi,θ)=i=1∏nhθ(xi)yi(1−hθ(xi))(1−yi)
两边同时取log:
logL(θ)=i=1∑m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
对于logL(θ)求最优解即是求最大值(MLE),为了用梯度下降的算法对logL(θ)取负数,即−logL(θ)最小值也就是logL(θ)的最大值:
J(w)=−m1logL(θ)=−m1i=1∑m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
根据梯度下降的求解可得θj的更新方式:
θj:=θj−αm1i=1∑m(hθ(xi)−yi)xij
1.2 逻辑回归为什么用sigmoid并且转化后的输出即为1的概率
逻辑回归的假设是y服从伯努利分布(E(X)=p,D(X)=p(1-p)),可以得出概率函数:
f(x∣p)=px(1−p)1−x=exp(η∗x+ln(1+eη))⟹η=ln(1−pp)满足条件1
η=xβ⟹(结合η=ln(1−pp))⟹E(Y)=p=g−1(η)=1+e−η1满足条件2、3
在伯努利分布中E(Y)=p表示的就是1的概率
2.逻辑回归到评分卡
2.1 woe及IV
woe的计算公式:
WOEi=lnp(yi0)p(yi1)=lnGGiBBi(p(yi1)为i区间坏样本占总体坏样本比例,p(yi0)为i区间好样本占总体好样本比例,越大这个分组坏样本可能性越大)
IV的计算公式:
IVi=(p(yi1)−p(yi0))∗WOEi(WOE的加权求和。IV越大,区分度越大,价值越大)
2.2 逻辑回归到评分卡
ln(odds)=ln(1−pp)=θ0+θ1x1+θ2x2+...+θnxn(其中x一般是woe编码后的值,也可以是原始数据,输出即为1的概率)
以上给的是概率,有时候还需要将概率以分数形式输出,类似于蚂蚁分。具体如下:
Score总=A+B∗ln(odds)
转换步骤:
1、设定odds=θ0时的分数P0
2、设定odds每增加一倍时,增加分数为PDO
3、当odds=θ0时的分数P0,odds=2θ0分数为P0+PDO
{p0=A+Bln(θ0)p0+PDO=A+Bln(2θ0)
⟹{B=ln(2)PDOA=P0−Bln(θ0)
2.3 评分卡的开发流程
具体可参考建模流程https://blog.csdn.net/weixin_41851055/article/details/106194063
- 一个好的评分卡,样本分数平滑且接近正太分布,建模样本与验证样本保持一致
- log(odds)和评分之间具有线性关系
- PSI=∑i=1nln(验证样本比例i建模样本比例i∗(建模样本比例i−验证样本比例i))当PSI<0.2样本稳定
3.逻辑回归对数据的要求(比较严格)
输入数据必须是数值型数据、缺失值必须要填充、数据需要归一化或者标准化
4.逻辑回归的优缺点
优点:
- 形式简单、速度快、占用内存小(只需要各维度的特征值)
- 模型的可解释性好(假设性检验或者直接看各个特征对模型结果的影响)
- 模型效果不错(特征工程做的好)
- 方便输出结果阈值(阈值设定)
缺点:
- 容易欠拟合,相比较集成模型准确率不高
- 对数据要求较高(缺失、数据类型、异常、共线比较敏感)
- 处理非线性比较麻烦(非线性映射)
- 很难处理不平衡数据(高维、大量多类特征难以处理)
- 本身无法筛选特征
5.算法需要注意的点
为什么用极大似然估计作为损失函数
θj:=θj−αm1∑i=1m(hθ(xi)−yi)xij更新速度只与xij和yi相关,与sigmoid梯度无关,如果用平方损失函数会推导出更新的速度和sigmoid函数本身很相关。sigmoid在它定义域内梯度都不大于0.25,这样训练会非常缓慢。
训练过程中,有很多特征高的相关,会造成怎样的影响
损失函数最终收敛的情况下,最后不会影响分类效果。但是对于可解释性会产生很大的影响。(一方面权重分给了不同的特征,另一方面可能正负相互抵消)
为什么在训练过程中将高度相关的特征去掉
1、让模型的可解释性更好。2、大大提高训练速度。
为什么我们选自然对数作为成本函数(符合上面性质函数很多)
因为预测函数有sigmoid,函数中含有en,其逆运算刚好是自然对数,最终会推导出形式优美模型参数的迭代函数,而不涉及指数或对数运算。
注:
- 理论与实践会有所差别,例如在处理样本不均衡时,评分卡并不是1:1效果最好,需要根据每个场景来实践
- 虽然模型比较偏技术,但是在整个流程当中需要业务的贯穿。无论从单变量的选择(可解释性)还是y标签的制定(vintage)等都需要强有力的业务解释