逻辑回归评分卡分数映射

本文转自https://github.com/xsj0609/data_science/tree/master/ScoreCard

一、评分卡逻辑

  信贷业务评估的是客户的客户违约率(Percent of Default)即PD,是[0,1]的概率,比如2%即100个客户中有2个违约,简称为p。

  评分卡中不直接用客户违约率p,而是用违约概率与正常概率的比值,称为Odds,即
O d d s = p 1 − p Odds=\frac{p}{1-p} Odds=1pp
p = O d d s 1 + O d d s p=\frac{Odds}{1+Odds} p=1+OddsOdds
  评分卡的背后逻辑是Odds的变动与评分变动的映射(把Odds映射为评分),分值是根据Odds的前提条件算出来的,不是人工取的。以单个客户在整张评分卡的得分的变动(比如评分从50分上升到70分)来反映Odds的变动(比如Odds从5%下降至1.25%),以及背后相对应的客户违约率PD的变动(比如从4.8%下降到1.2%)。违约率PD不直观、业务看起来不方便、不便计算,而评分就很直观、便于计算。如图所示。
逻辑回归评分卡分数映射_第1张图片

二、评分映射公式

  Odds映射为评分的公式为:
S c o r e = A − B l o g ( p 1 − p ) Score=A-Blog(\frac{p}{1-p}) Score=ABlog(1pp)
<1> 预设条件
  要算出系数A、B的话,需要从业务角度先预设两个前提条件:

  1. 在某个特定的比率 θ 0 θ_0 θ0设定特定的预期分值 P 0 P_0 P0
  2. 指定比率翻番时分数的变动值(PDO)

解释:

  1. 比如根据业务经验,消费金融信贷的客户违约率4.8%算正常( θ 0 θ_0 θ0=Odds=5)。预设评分卡的分值为0-100分,那取预期分值 P 0 P_0 P0为50分,并指定当Odds按双倍上下浮动时(比如2.5%或10%),分值则对应上下变动10分(比如60分或40分)。
  2. 这里=5%是根据业务经验来的,没有数学依据;
  3. 0-100分是根据做评分卡的需要来的,没有数学依据。要是想做成600-1000分的评分卡也可以,修改对应的 P 0 P_0 P0和PDO就行;
  4. P 0 P_0 P0=50分是根据0-100分来的,也可以取45分或73分,不重要。重要的是随着Odds翻番变动时,分数也随之变动的联动变化体系(你翻番我就变PDO=10分)

<2> 求解A、B
  设定好 θ 0 θ_0 θ0 P 0 P_0 P0、PDO后,联动变化为:Odds( θ 0 θ_0 θ0)对应的分值为 P 0 P_0 P0,且翻番的Odds( 2 θ 0 2θ_0 2θ0)对应的分值为 P 0 P_0 P0+PDO。则有以下两式:
P 0 = A − B l o g ( θ 0 ) P_0=A-Blog(θ_0) P0=ABlog(θ0)
P 0 + P D O = A − B l o g ( 2 θ 0 ) P_0+PDO=A-Blog(2θ_0) P0+PDO=ABlog(2θ0)
解出A、B为:
B = P D O l o g ( 2 ) B=\frac{PDO}{log(2)} B=log(2)PDO
A = P 0 + B l o g ( θ 0 ) A=P_0+Blog(θ_0) A=P0+Blog(θ0)

按上面的解释举个例子:
设θ_0、P_0、PDO为5%、50分、10分,则
B = 10 l n ( 2 ) = 14.43 B=\frac{10}{ln(2)}=14.43 B=ln(2)10=14.43
A = 50 + 14.43 ∗ l n ( 0.05 ) = 6.78 A=50+14.43*ln(0.05)=6.78 A=50+14.43ln(0.05)=6.78

S c o r e = 6.78 − 14.43 ∗ l o g ( p 1 − p ) Score=6.78-14.43*log(\frac{p}{1-p}) Score=6.7814.43log(1pp)
<3> 完整的对应关系表
  按照公式,可以把所有Odds( p 1 − p \frac{p}{1-p} 1pp)和客户评分、客户违约概率(PD)的对应关系算出来
逻辑回归评分卡分数映射_第2张图片

  该关系对应表应该算信用评分卡的核心思想了,评分是外层表现,客户违约率是内层核心,Odds是中间层转换计算

三、Odds映射X变量

l o g ( p 1 − p ) = β 0 + β 1 x 1 + β 2 x 2 + . . . + + β n x n log(\frac{p}{1-p})=β_0+β_1x_1+β_2x_2+...++β_nx_n log(1pp)=β0+β1x1+β2x2+...++βnxn


p = 1 1 + e − β T x p=\frac{1}{1+e^-β^Tx} p=1+eβTx1
  这样就可以根据变量x和系数的的值计算出违约概率p了。

四、X变量细分到分组

  我们要做的是分组评分卡,X是要对应到每个分组,得到各变量分组的评分然后相加得到客户总评分的,那就还需要将X打散到各分类(用离散型数据入逻辑回归模型)。因此这里的输入X就不能是原始变量,而是原始变量分箱并算WOE后的woe值(类似离散变量中各类别的数值化),即:
S c o r e = A − B [ β 0 + β 1 ( δ 11 w 11 + δ 12 w 12 + δ 13 w 13 ) + β 2 ( δ 21 w 21 + δ 22 w 22 + δ 23 w 23 + δ 24 w 24 ) + . . . + β n ( δ n 1 w n 1 + δ n 2 w n 2 ] Score=A-B[β_0+β_1(δ_{11}w_{11}+δ_{12}w_{12}+δ_{13}w_{13})+β_2(δ_{21}w_{21}+δ_{22}w_{22}+δ_{23}w_{23}+δ_{24}w_{24})+...+β_n(δ_{n1}w_{n1}+δ_{n2}w_{n2}] Score=AB[β0+β1(δ11w11+δ12w12+δ13w13)+β2(δ21w21+δ22w22+δ23w23+δ24w24)+...+βn(δn1wn1+δn2wn2]
  假设类别型变量 x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3分别有3、4、2个分类(数值型变量先分箱成类别型变量) δ i j δ_{ij} δij代表第i个变量的第j个分类,客户数据参与评分时,某个变量x只会有1个数,只会对应一个分类。比如,变量 x 1 x_1 x1的取值是第2个分类的话,那 δ 12 δ_{12} δ12为1,则第二个分类的woe w 1 2 w_12 w12值生效, x 1 x_1 x1的其他两个 δ δ δ则为0,对应的其他两个分类的woe值无效不参与计算。

五、生成评分卡

  将上面的公式变下形式,变成最终可以组成评分卡的样式
逻辑回归评分卡分数映射_第3张图片

  A、B已经算出, β β β是逻辑回归模型的输出系数, β 0 β_0 β0是逻辑回归模型的输出截距项,w是分箱后的woe值。至此评分卡就可以生成了。

【作者】:Labryant
【原创公众号】:风控猎人
【简介】:某创业公司策略分析师,积极上进,努力提升。乾坤未定,你我都是黑马。
【转载说明】:转载请说明出处,谢谢合作!~

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