信用评分卡—信贷准入A卡(逻辑回归)

信贷评分卡

  • 前言
  • 1.逻辑回归原理
    • 1.1 求解方式
    • 1.2 逻辑回归为什么用sigmoid并且转化后的输出即为1的概率
  • 2.逻辑回归到评分卡
    • 2.1 woe及IV
    • 2.2 逻辑回归到评分卡
    • 2.3 评分卡的开发流程
  • 3.逻辑回归对数据的要求(比较严格)
  • 4.逻辑回归的优缺点
  • 5.算法需要注意的点

前言

在业界有几种不同的流派(业界建立逻辑回归)

  • 直接用原始变量进行回归(模型粗糙并不能生成评分卡)
  • 从原始数据生成0/1的虚拟变量(dummy variable)进行回归(FICO用的较多,已不是主流)
  • 从原始数据生成woe(weight of evidence)进行回归

1.逻辑回归原理

1.1 求解方式

预测函数(线性回归模型上加了sigmoid函数): h θ ( x ) = 1 1 + e − θ x 其 中 θ x = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_\theta(x)=\frac{1}{1+e^{-\theta x}} \qquad 其中\theta x=\theta _0+\theta _1x_1+\theta _2x_2+...+\theta _nx_n hθ(x)=1+eθx1θx=θ0+θ1x1+θ2x2+...+θnxn
对于二分类:
{ p ( y = 1 ∣ x , θ ) = h θ ( x ) p ( y = 0 ∣ x , θ ) = 1 − h θ ( x ) \begin{cases} p(y=1|x,\theta)=h_\theta(x)\\ p(y=0|x,\theta)=1-h_\theta(x)\\ \end{cases} {p(y=1x,θ)=hθ(x)p(y=0x,θ)=1hθ(x)
将其合并得到:
p ( y ∣ x , θ ) = h θ ( x ) y ( 1 − h θ ( x ) ) ( 1 − y ) p(y|x,\theta)=h_\theta(x)^y(1-h_\theta(x))^{(1-y)} p(yx,θ)=hθ(x)y(1hθ(x))(1y)
利用极大似然估计得到(MLE):
L ( θ ) = ∏ i = 1 n p ( y i ∣ x i , θ ) = ∏ i = 1 n h θ ( x i ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) L_{(\theta)}=\prod_{i=1}^np(y_i|x_i,\theta)=\prod_{i=1}^nh_\theta(x_i)^{y_i}(1-h_\theta(x_i))^{(1-y_i)} L(θ)=i=1np(yixi,θ)=i=1nhθ(xi)yi(1hθ(xi))(1yi)
两边同时取log:
l o g L ( θ ) = ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] logL_{(\theta)}=\sum_{i=1}^m[y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x_i))] logL(θ)=i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))]
对于 l o g L ( θ ) logL_{(\theta)} logL(θ)求最优解即是求最大值(MLE),为了用梯度下降的算法对 l o g L ( θ ) logL_{(\theta)} logL(θ)取负数,即 − l o g L ( θ ) -logL_{(\theta)} logL(θ)最小值也就是 l o g L ( θ ) logL_{(\theta)} logL(θ)的最大值:
J ( w ) = − 1 m l o g L ( θ ) = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J(w)=-\frac{1}{m}logL_{(\theta)}=-\frac{1}{m}\sum_{i=1}^m[y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x_i))] J(w)=m1logL(θ)=m1i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))]
根据梯度下降的求解可得 θ j \theta_j θj的更新方式:
θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j \theta_j:=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x_i)-y_i)x_i^j θj:=θjαm1i=1m(hθ(xi)yi)xij

1.2 逻辑回归为什么用sigmoid并且转化后的输出即为1的概率

信用评分卡—信贷准入A卡(逻辑回归)_第1张图片
逻辑回归的假设是y服从伯努利分布(E(X)=p,D(X)=p(1-p)),可以得出概率函数:
f ( x ∣ p ) = p x ( 1 − p ) 1 − x = e x p ( η ∗ x + l n ( 1 + e η ) )    ⟹    η = l n ( p 1 − p ) 满 足 条 件 1 f(x|p)=p^x(1-p)^{1-x}=exp(\eta*x+ln(1+e^\eta))\implies\eta=ln(\frac{p}{1-p})满足条件1 f(xp)=px(1p)1x=exp(ηx+ln(1+eη))η=ln(1pp)1
η = x β    ⟹    ( 结 合 η = l n ( p 1 − p ) )    ⟹    E ( Y ) = p = g − 1 ( η ) = 1 1 + e − η 满 足 条 件 2 、 3 \eta=x\beta \implies(结合\eta=ln(\frac{p}{1-p})) \implies E(Y)=p=g^{-1}(\eta)=\frac{1}{1+e^{-\eta}}满足条件2、3 η=xβ(η=ln(1pp))E(Y)=p=g1(η)=1+eη123
在伯努利分布中E(Y)=p表示的就是1的概率

2.逻辑回归到评分卡

2.1 woe及IV

woe的计算公式:
W O E i = l n p ( y i 1 ) p ( y i 0 ) = l n B i B G i G ( p ( y i 1 ) 为 i 区 间 坏 样 本 占 总 体 坏 样 本 比 例 , p ( y i 0 ) 为 i 区 间 好 样 本 占 总 体 好 样 本 比 例 , 越 大 这 个 分 组 坏 样 本 可 能 性 越 大 ) WOE_i=ln\frac{p(y_{i1})}{p(y_{i0})}=ln\frac{\frac{B_i}{B}}{\frac{G_i}{G}}(p(y_{i1})为i区间坏样本占总体坏样本比例,p(y_{i0})为i区间好样本占总体好样本比例,越大这个分组坏样本可能性越大) WOEi=lnp(yi0)p(yi1)=lnGGiBBi(p(yi1)ip(yi0)i)
IV的计算公式:
I V i = ( p ( y i 1 ) − p ( y i 0 ) ) ∗ W O E i ( W O E 的 加 权 求 和 。 I V 越 大 , 区 分 度 越 大 , 价 值 越 大 ) IV_i=(p(y_{i1})-p(y_{i0}))*WOE_i(WOE的加权求和。IV越大,区分度越大,价值越大) IVi=(p(yi1)p(yi0))WOEi(WOEIV)

2.2 逻辑回归到评分卡

l n ( o d d s ) = l n ( p 1 − p ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n ( 其 中 x 一 般 是 w o e 编 码 后 的 值 , 也 可 以 是 原 始 数 据 , 输 出 即 为 1 的 概 率 ) ln(odds)=ln(\frac{p}{1-p})=\theta _0+\theta _1x_1+\theta _2x_2+...+\theta _nx_n(其中x一般是woe编码后的值,也可以是原始数据,输出即为1的概率) ln(odds)=ln(1pp)=θ0+θ1x1+θ2x2+...+θnxn(xwoe1)
以上给的是概率,有时候还需要将概率以分数形式输出,类似于蚂蚁分。具体如下:
S c o r e 总 = A + B ∗ l n ( o d d s ) Score_总=A+B*ln(odds) Score=A+Bln(odds)
转换步骤:
1、设定 o d d s = θ 0 odds=\theta _0 odds=θ0时的分数 P 0 P_0 P0
2、设定 o d d s odds odds每增加一倍时,增加分数为 P D O PDO PDO
3、当 o d d s = θ 0 odds=\theta _0 odds=θ0时的分数 P 0 P_0 P0 o d d s = 2 θ 0 odds=2\theta _0 odds=2θ0分数为 P 0 + P D O P_0+PDO P0+PDO
{ p 0 = A + B l n ( θ 0 ) p 0 + P D O = A + B l n ( 2 θ 0 ) \begin{cases} p_0=A+Bln(\theta _0)\\ p_0+PDO=A+Bln(2\theta _0)\\ \end{cases} {p0=A+Bln(θ0)p0+PDO=A+Bln(2θ0)
   ⟹    { B = P D O l n ( 2 ) A = P 0 − B l n ( θ 0 ) \implies\begin{cases} B=\frac{PDO}{ln(2)}\\ A=P_0-Bln(\theta _0)\\ \end{cases} {B=ln(2)PDOA=P0Bln(θ0)

2.3 评分卡的开发流程

具体可参考建模流程https://blog.csdn.net/weixin_41851055/article/details/106194063
信用评分卡—信贷准入A卡(逻辑回归)_第2张图片

  • 一个好的评分卡,样本分数平滑且接近正太分布,建模样本与验证样本保持一致
  • l o g ( o d d s ) log(odds) log(odds)和评分之间具有线性关系
  • P S I = ∑ i = 1 n l n ( 建 模 样 本 比 例 i 验 证 样 本 比 例 i ∗ ( 建 模 样 本 比 例 i − 验 证 样 本 比 例 i ) ) PSI=\sum_{i=1}^nln(\frac{建模样本比例i}{验证样本比例i}*(建模样本比例i-验证样本比例i)) PSI=i=1nln(ii(ii))当PSI<0.2样本稳定

3.逻辑回归对数据的要求(比较严格)

输入数据必须是数值型数据缺失值必须要填充、数据需要归一化或者标准化

4.逻辑回归的优缺点

优点:

  • 形式简单、速度快、占用内存小(只需要各维度的特征值)
  • 模型的可解释性好(假设性检验或者直接看各个特征对模型结果的影响)
  • 模型效果不错(特征工程做的好)
  • 方便输出结果阈值(阈值设定)

缺点:

  • 容易欠拟合,相比较集成模型准确率不高
  • 对数据要求较高(缺失、数据类型、异常、共线比较敏感)
  • 处理非线性比较麻烦(非线性映射)
  • 很难处理不平衡数据(高维、大量多类特征难以处理)
  • 本身无法筛选特征

5.算法需要注意的点

为什么用极大似然估计作为损失函数
θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x i ) − y i ) x i j \theta_j:=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x_i)-y_i)x_i^j θj:=θjαm1i=1m(hθ(xi)yi)xij更新速度只与 x i j 和 y i x_i^j和y_i xijyi相关,与sigmoid梯度无关,如果用平方损失函数会推导出更新的速度和sigmoid函数本身很相关。sigmoid在它定义域内梯度都不大于0.25,这样训练会非常缓慢。

训练过程中,有很多特征高的相关,会造成怎样的影响
损失函数最终收敛的情况下,最后不会影响分类效果。但是对于可解释性会产生很大的影响。(一方面权重分给了不同的特征,另一方面可能正负相互抵消)

为什么在训练过程中将高度相关的特征去掉
1、让模型的可解释性更好。2、大大提高训练速度。

为什么我们选自然对数作为成本函数(符合上面性质函数很多)
因为预测函数有sigmoid,函数中含有 e n e^n en,其逆运算刚好是自然对数,最终会推导出形式优美模型参数的迭代函数,而不涉及指数或对数运算。

注:

  • 理论与实践会有所差别,例如在处理样本不均衡时,评分卡并不是1:1效果最好,需要根据每个场景来实践
  • 虽然模型比较偏技术,但是在整个流程当中需要业务的贯穿。无论从单变量的选择(可解释性)还是y标签的制定(vintage)等都需要强有力的业务解释

你可能感兴趣的:(信贷风控)