风险模型 - 概率校准

风险模型 - 概率校准

    • 概率校准原因
    • 案例
    • 校准方法
    • 校准评价指标
    • 校准需要什么

概率校准原因

在概率模型搭建过程中,由于抽样与正则化的原因,导致模型输出的概率值明显偏离真实的概率值。这时候我们称这些模型直接输出的概率值是定序值,而非定距数值,可比较大小,但其绝对值并无太多含义。那么如何将模型输出的prob校准到真实的逾期概率呢。使得经过校准后的概率变成逾期概率的意义。

案例

如下表所示,我们利用模型将

pred_prob positive_n ttl positive_ratio
0.1 14 550 0.0255
0.15 17 514 0.0331
0.16 20 537 0.0372
0.17 25 525 0.0476
0.19 37 592 0.0625
0.2 50 572 0.0874
0.24 51 599 0.0851
0.26 72 517 0.1392
0.28 92 551 0.1670
0.3 99 520 0.1904

说明:
我们将模型应用在一个数据集:
pred_prob为模型输出的predict probability
在数据集中预测概率为pred_prob的总数为ttl,其中有positive_n正例,正例占比positive_ratio = positive_n/ttl

如上表,模型输出的pred_prob = 0.1 对应真实逾期率 0.0255,0.15 ~ 0.0331, 0.16 ~ 0.0372。
模型解决了数据的排序问题【随着预测概率的增加,真实概率也在增加】,但从这个例子我们可以看出,模型预测与真实值之间出现了很大的差异。

那么我们如何将模型预测的概率f(x) 校准到 Real_Proba,数学上我们只需要找到一个f(x) ~ Real_Proba的映射关系,也就是说找到一个g(x),其中g(x)中的x为f(x),也就是说利用f(x) ~ Real_Proba的对应关系,拟合一个函数g(x),将f(x)校准到Real_Proba。

现实案例中,我们并不知道观测的真实逾期率,但是我们有客户正例的标签label,通常我们的数据组织形式如下:

观测编号 label 模型输出的预测概率
1 0 0.1
2 1 0.1
3 0 0.1
4 0 0.1
5 0 0.1
6 1 0.15
7 0 0.15
8 0 0.15
9 1 0.15

我们需要利用模型的预测值 与 label进行模型搭建。

校准方法

来自http://xinsong.github.io/2014/03/27/probability_calibration/
风险模型 - 概率校准_第1张图片
isotonic regression
待更新

校准评价指标

Brier分数

观测编号 label 模型输出的预测概率 校准后概率
1 0 0.1 0.08
2 1 0.1 0.08
3 0 0.1 0.08
4 0 0.1 0.08
5 0 0.1 0.08
6 1 0.15 0.12
7 0 0.15 0.12
8 0 0.15 0.12
9 1 0.15 0.12

校准函数公式

(公式1.1) B r i e r _ s c o r e = 1 n ∑ i = 1 n ( f i ( x ) − ϕ i ) 2 Brier\_score =\frac{1}{n} \sum_{i=1}^n(f_i(x)-\phi_i)^2 \tag{公式1.1} Brier_score=n1i=1n(fi(x)ϕi)2(1.1)
其中n为观测个数,fi(x)为第i个观测的预测值,φi为第i个观测对应的真实发生的label(0/1).
Brier_score越低说明预测值与真实值越接近,预测概率越准确。

案例

观测编号 label 模型预测概率 校准后概率
1 0 0.1 0.0033
2 1 0.15 0.0039
3 0 0.16 0.0040
4 1 0.17 0.0041
5 0 0.19 0.0044
6 1 0.2 0.0045
7 1 0.24 0.0051
8 1 0.26 0.0054
9 0 0.28 0.0057
10 1 0.3 0.0061

B r i e r _ s c o r e ( 校 准 后 概 率 ) = 1 10 ∑ i = 1 n ( 校 准 后 概 率 − l a b e l ) 2 = 0.5942254 Brier\_score (校准后概率)=\frac{1}{10} \sum_{i=1}^n(校准后概率-label)^2 = 0.5942254 Brier_score=101i=1n(label)2=0.5942254
B r i e r _ s c o r e ( 模 型 预 测 概 率 ) = 1 10 ∑ i = 1 n ( 模 型 预 测 概 率 − l a b e l ) 2 = 0.38167 Brier\_score (模型预测概率)=\frac{1}{10} \sum_{i=1}^n(模型预测概率-label)^2 = 0.38167 Brier_score=101i=1n(label)2=0.38167

从这个案例可以看出,模型校准后,Brier Score在增大,所以不校准模型结果更优。

在说概率校准前,先说下Brier分数,因为它是衡量概率校准的一个参数(该案例中的校准概率并未真实计算,只是用来举例)。

校准需要什么

应用场景一:将模型输出结果校准到真实逾期率

  1. 模型f(x)是已知的。
  2. 其次我们需要一个校准数据集,这个校准集需要包含label和f(x)的打分。
  3. 利用f(x)~label构建g(x),用g(f(x))作为校准后的概率输出。

应用场景二:将不同模型校准到一个校准集,进行比较。
有两个模型:
M1 label定义:未来6个还款周期出现90+逾期
M2 label定义:未来3个还款周期出现60+逾期

这种情况下我们需要什么:

  1. 一个带label的校准数据集,label定义为1期30+
  2. M1,M2分别在校准数据集合上的打分S1,S2
  3. 分别针对S1~label,S2 ~ label 构建校准函数g1(x),g2(x)
  4. g1(M1(x)),g2(M2(x))就是可以比较的了,如针对同一个样本一期30+label为0,通过 g1(M1(x))打分为0.1,g2(M2(x))打分为0.14,那么针对这个样本来看M1要优于M2。当然这个比较较为随机没有统计意义,可以通过比较同一样本集 g1(M1(x))与g2(M2(x))的Brier Score,来查看哪个模型效果更优。
  5. 当然也可以利用比较集,分别利用g1(M1(x))与g2(M2(x))的输出的概率,映射到一个等距报表中,查看每一档占比,去看哪个模型更优。
    如下表所示,校准后M1与M2在各档的频数分布,如果第一档为优质客户,则M1的效果要优于M2,它将更多的人的推到了第一档;但如果1,2档都是优质客户,这时M2(40+40)要优于M1(50+20)
编号 概率区间 M1模型个数 M2模型个数
1 [0,0.1] 50 40
2 (0.1,0.2] 20 40
3 (0.2,0.3] 15 10
4 (0.3,0.4] 8 9
5 (0.4,0.5] 7 6
6 (0.5,0.6] 6 5
7 (0.6,0.7] 5 4
8 (0.7,0.8] 4 3
9 (0.8,0.9] 3 2
10 (0.9,1] 2 1

你可能感兴趣的:(风险模型-理论)