本文转自https://github.com/xsj0609/data_science/tree/master/ScoreCard
一、评分卡逻辑
信贷业务评估的是客户的客户违约率(Percent of Default)即PD,是[0,1]的概率,比如2%即100个客户中有2个违约,简称为p。
评分卡中不直接用客户违约率p,而是用违约概率与正常概率的比值,称为Odds,即
评分卡的背后逻辑是Odds的变动与评分变动的映射(把Odds映射为评分),分值是根据Odds的前提条件算出来的,不是人工取的。以单个客户在整张评分卡的得分的变动(比如评分从50分上升到70分)来反映Odds的变动(比如Odds从5%下降至1.25%),以及背后相对应的客户违约率PD的变动(比如从4.8%下降到1.2%)。违约率PD不直观、业务看起来不方便、不便计算,而评分就很直观、便于计算。如图所示。
二、评分映射公式
Odds映射为评分的公式为:
<1> 预设条件
要算出系数A、B的话,需要从业务角度先预设两个前提条件:
- 在某个特定的比率设定特定的预期分值
- 指定比率翻番时分数的变动值(PDO)
解释:
- 比如根据业务经验,消费金融信贷的客户违约率4.8%算正常(=Odds=5)。预设评分卡的分值为0-100分,那取预期分值为50分,并指定当Odds按双倍上下浮动时(比如2.5%或10%),分值则对应上下变动10分(比如60分或40分)。
- 这里=5%是根据业务经验来的,没有数学依据;
- 0-100分是根据做评分卡的需要来的,没有数学依据。要是想做成600-1000分的评分卡也可以,修改对应的和PDO就行;
- =50分是根据0-100分来的,也可以取45分或73分,不重要。重要的是随着Odds翻番变动时,分数也随之变动的联动变化体系(你翻番我就变PDO=10分)
<2> 求解A、B
设定好、、PDO后,联动变化为:Odds()对应的分值为,且翻番的Odds()对应的分值为+PDO。则有以下两式:
解出A、B为:
按上面的解释举个例子:
设θ_0、P_0、PDO为5%、50分、10分,则
则
<3> 完整的对应关系表
按照公式,可以把所有Odds()和客户评分、客户违约概率(PD)的对应关系算出来
该关系对应表应该算信用评分卡的核心思想了,评分是外层表现,客户违约率是内层核心,Odds是中间层转换计算
三、Odds映射X变量
即
这样就可以根据变量x和系数的的值计算出违约概率p了。
四、X变量细分到分组
我们要做的是分组评分卡,X是要对应到每个分组,得到各变量分组的评分然后相加得到客户总评分的,那就还需要将X打散到各分类(用离散型数据入逻辑回归模型)。因此这里的输入X就不能是原始变量,而是原始变量分箱并算WOE后的woe值(类似离散变量中各类别的数值化),即:
假设类别型变量、、分别有3、4、2个分类(数值型变量先分箱成类别型变量) 代表第i个变量的第j个分类,客户数据参与评分时,某个变量x只会有1个数,只会对应一个分类。比如,变量的取值是第2个分类的话,那为1,则第二个分类的woe值生效,的其他两个则为0,对应的其他两个分类的woe值无效不参与计算。
五、生成评分卡
将上面的公式变下形式,变成最终可以组成评分卡的样式
A、B已经算出,是逻辑回归模型的输出系数,是逻辑回归模型的输出截距项,w是分箱后的woe值。至此评分卡就可以生成了。
【作者】:Labryant
【原创公众号】:风控猎人
【简介】:某创业公司策略分析师,积极上进,努力提升。乾坤未定,你我都是黑马。
【转载说明】:转载请说明出处,谢谢合作!~