在建立评分卡模型的时候,往往建模样本的好坏比和实际情况是不一致的,这是因为:
- 产品本身坏样本较少,为了提高评分模型的敏感程度,会对坏样本进行过抽样或者好样本进行欠抽样;
- 如果是乙方公司,好坏样本的来源可能不同,或者甲方爸爸并没有全量反馈样本表现,那么自然样本中的好坏比无法反映真实的情况。
然而,用一个好坏比失真的样本建立好评分卡模型后,如果想要计算每个分数段的坏样本率,得出来的结果是会大于真实情况的。原因很简单,逻辑回归中的截距是约等于好坏比的对数的(因为评分卡模型预测的是该样本为坏样本的概率,因此使用的是坏:好)。如果样本的坏样本占比比实际情况要高,那么模型预测出来的每个样本的违约概率都会偏大。那么想要还原每个客户真实的违约概率,就需要进行一个概率校准。
校准的方式也非常简单。首先我们需要一个目标好坏比odds1,它可以是进行过抽样/欠抽样前产品真实的好坏比(对应上面情况1),也可以是行业平均水平(对应上面情况2)。如果建模样本的实际好坏比是odds的话,那么我们只需要在逻辑回归拟合出来的截距上再加一个ln(odds1/odds)即可(这一步发生在sigmoid函数转换前)。
这种校准方法在直观上也非常好理解,因为ln(odds1/odds)是等于ln(odds1)-ln(odds)的,而前面也提到过,逻辑回归拟合出来的截距是约等于ln(odds)的,那么在截距上再加上ln(odds1/odds),相当于只是把ln(odds)抵消掉,变成了实际好坏比ln(odds1)而已。
然而这只是每个客户违约概率的校准,即使是校准后,如果计算每个分数段的好坏比,依然会被打回原形。这是因为这个过程虽然校准了每个客户违约概率的值,但是并不会改变评分模型的排序顺序。因此对计算出来的好坏比,也要有一个校准的过程:对好坏比进行一个sigmoid的反函数,加上ln(odds1/odds),再用sigmoid函数运算回来,这样得出的好坏比就是接近真实情况的好坏比了。
关注【金科应用研院】,回复****,获取干货资料礼包一份。
下面举一个例子,某评分卡模型建模样本各分数段的好坏分布如下:
而我们抽样前or根据经验,实际上该产品的违约率只有2%左右,那么这个坏样本占比会比产品上线后实际落在该分数段的坏样本占比要高得多。要还原真实的情况,需要进行如下校准:
上图中每一列的计算公式为:
A=ln(odds)
B=A+ln(odds1/odds)=A-1.6946
C=1/(1+exp(-B))
得出来的C列就是各分数段预测出来的真实水平的违约概率了~
支持我们FAL金科应用研院,多转发多点赞留个言吧,谢谢啦!