评分卡建模

样本抽取和权重设置

样本抽样

各抽5000,不确定不参与建模(使特征区分更明显)。5000是业界建模的经验和惯例,当样本数不足5000或在5000左右时,全部参与建模。

采用分层随机抽样的方法。在数据量很大的情况下不抽样而使用全量数据进行建模会导致:程序缓慢、overfit。

权重修正

的权重 = ( + 不确定) / 。使得建模样本中的在样本数量上可以代表全部样本的不确定

样本划分

​ 一般将样本以7:3划分为训练集和验证集。训练集中至少应有500个样本,才能建立较为稳定的模型。如果模型在训练集和验证集中的表现基本一致,则说明模型比较稳健。如果建模抽样中的样本数量不足(总共才500个左右),则全部参与训练,使用BootStrap方法进行重复抽样得到验证样本,并在验证样本集上使用BootStrap验证法评估模型表现。

Bootstrap, Bagging, Boosting

变量预筛选

​ 通过变量预筛选,可以降低变量个数,集中精力于质量较好的变量。

  • 业务角度:需要和机构业务人员及数据人员沟通讨论,对于质量较差的变量,不宜进入模型。
  • 数据角度:通过数据描述性统计分析,计算变量缺失率。当模型有足够的变量可供挑选时,对缺失率高于95%对变量直接不予考虑。当变量不足时,缺失率高达99%对变量也可以加入候选清单,虽然缺失率这么高的变量一般最后不会入模。
  • 其他角度:例如金额类变量、功能型变量通常不入模,但是金额之间的比值是可以考虑的。

变量取值分箱

细分箱与粗分箱

​ 在模型开发过程中,需要对变量进行分箱,对于候选模型变量,变量取值分箱的步骤如下:

  1. 细分箱(fine bining):对连续变量平均细分成足够多的分箱,获取变量细分箱的WOE报告。
  2. 粗分箱(coarse bining):依据细分箱的WOE报告,结合业务上对变量的理解和分箱合并规则(WOE损失最小),对分箱进行手工合并,获取候选变量的粗分箱WOE报告。

​ 通过分箱得到所有候选变量的WOE报告,从而获得每个变量取值的最佳分栏、每个栏位对于的证据权重(WOE)和此变量的信息值(IV)。由于后续步骤需要WOE无缺失才能进行,因此变量原始取值有缺失时,必须保证缺失值也有对应的WOE。如果一些分箱中没有导致无法计算此分箱的WOE,则需对此分箱进行调整或与其他分箱合并,以保证每个分箱都有WOE。

变量分箱的一般原则

  • 各分箱中的样本量不应过少,过少则不具有统计显著性,且不稳定。一般建议不低于全部样本的5%。
  • 为能计算WOE,各分箱中应同时出现。若不满足,应将此分箱与其他分箱合并以满足。
  • WOE趋势应与业务角度一致,通常为直线型或U型(一般仅年龄)。对于有序型和区间型,如果趋势不单调,则通过合并分箱进行调整。
  • 对于特殊取值,如其他逾期次数为0等应单列分箱。
  • 分箱数一般为3-6个,数量过少则区分不显著,数量过多则导致不稳定。
  • 其他业务考虑,如再婚复婚可与已婚合并。

无法遵循一般原则的情况

  • 字符型变量的客观取值无法更改,难以保证至少分箱中含有5%的变量或分为3-6个分箱。有些取值就是很不相同不适合与其它取值合并且比例极少。例如职务,其中一些选项取值的比例非常少,如局级部级职务在人群中比例远低于5%。如果和其他级别合并则体现不出不同职务之间的差别,变量作用降低。所以在保证WOE值单调、符合业务经验的情况下,可以将这些高级职务依然独立,能让最后的评分更分散一些。
  • 机构希望最好分数更细分一些的时候,在保证WOE值单调的情况下,分箱可以更细一些。

变量分箱的步骤

  1. 细分箱:

    • 数值型变量:按变量取值顺序排列,均匀分成10组。在取值边界尽量考虑业务解释进行取整,因此每组样本数可能略有波动。
    • 字符型变量:对所有的字符值进行分箱,每个值作为一个单独的细分箱。
  2. 对每个细分箱统计好账户坏账户数,计算每个分箱的WOE值。计算公式如下:

    $$WOE(j) = \ln(\cfrac{f_G(j)}{f_B(j)})$$

    $$f_G(j)$$:$$g_i/G$$ 分箱j中样本数占总样本中样本数的比例

    $$f_B(j)$$:$$b_i/B$$ 分箱j中样本数占总样本中样本数的比例

    ​ 说明:该公式表示第j类中正常与违约的比率与整个样本中正常与违约的比率的比值的对数。因此,该公式主要衡量第j类对正常与违约比率的影响程度。

  3. 粗分箱:将WOE值相近的细分箱且有业务意义的细分箱合并为粗分箱。对于数值型变量,通常将相邻的细分箱合并;对于字符型变量,通常将同类细分箱合并。对于特殊值和缺失值等,一般会保留一个各自单独的粗分箱;结合实际情况,考虑特殊值与缺失值的产生原因与业务含义,分析与其他分箱合并后是否更合理。

  4. 分箱原则:

    1. WOE值是否单调(年龄除外)
    2. 分箱数量一般控制在4-5个以内,太多容易不稳定
    3. 每一个分箱的占比应当平均分配,不宜出现某个变量取值的占比过高或过低
    4. 容易被客户或客户经理操纵的变量(如贷款期限,这种变量虽然可以衡量客户的还款能力,但也容易受客户经理推荐激励的影响),变量足够时不建议入模。

    ​ 变量的分箱是模型开发最关键的步骤之一,粗分箱后的各个分箱的WOE值的增减趋势必须满足合理的业务解释,并能保持比较稳定的分布。粗分箱产生的WOE值将替代原始数据值进入接下来的模型优化步骤。粗分箱结束后将生成二维变量报告,以确保每个使用的变量既可以表现出清晰的分辨力,又符合业务逻辑。未能符合任何选择条件的变量都将被剔除,以有利于其他候选变量的进入。

IV

​ 信息值(Information Value)代表了同整个群体相比,某一特征变量在所有区间中的好和坏之间的比例是否存在差异。在一个互联网信贷金融机构风险管理比较成熟,数据收集比较完善,数据总体质量较为可信的情况下,一个变量的信息值一般在0.05以上,则认为这个变量对因变量有一定的区分能力。如果数据覆盖面与数据质量不够完善,可用的数据信息比较少,则对变量的信息值的阈值会有不同的考虑。

$$IV = \Sigma \lbrace (\cfrac{g_i}{G} - \cfrac{b_i}{B}) \ast \ln(\cfrac{g_i}{G}/\cfrac{b_i}{B}) \rbrace$$

$$g_i$$:变量第i 个分箱栏位中的好样本数

$$G$$:样本中好样本总数

$$b_i$$:变量第i 个分箱栏位中坏样本数

$$B$$:样本中坏样本总数

变量再筛选

WOE值与IV

变量充足、好用的情况下,依据IV和WOE值趋势的一般剔除原则:

  • IV<0.01:原则上IV越大越好,但是不同互联网信贷金融机构数据情况不同,可选的变量也可能不同。所以没有IV值低于多少就不能用的严格标准,否则某些情况下IV过低就无法完成建模。一般而言,IV值不低于0.01。同一家信贷金融机构的不同产品的数据情况和好坏情况也可能不一致,所以不同评分卡模型也可以选择不同的阈值。若可成功入模的变量过少,可不依此条件剔除变量。
  • WOE值趋势与业务理解不一致的变量
  • 集中度过高,如某一取值分箱的占比超过98%

逐步判别(Stepdisc)

​ 在完成上述简单的变量筛选后,变量选择过程进入下一步骤:变量降维。从模型中没有变量开始,逐个引入变量,每增加一个变量后都要检查,用逐步判别的方法去除那些无助于模型预测能力的变量。当模型中所有变量符合标准而无其他变量符合进入的标准时,选择程序结束。一般在进行逐步判别程序(StepDisc Procedure)时,设定添加变量的置信水平(SLE)=0.15,去除变量的置信水平(SLS)=0.15。置信水平参数值越小,被选中的变量个数就会越少。

​ 逐步判别程序的目的是从变量池内所有可能的变量中,初步确定最具预测能力的特征变量组合。在这一过程中,对每个可能进入模型的特征变量反复进行测试,以观察其辨别好坏记录的有效性。每次对一个新的变量反复进行测试,结果要么是此变量已无法再有区分的贡献性,要么是成为已选择的模型变量的一部分。该过程是基于对当前的特征变量充当因变量和模型中的其他变量当作随机变量进行协方差分析进行的。一旦不再有新变量进入模型或从模型中去除变量时,选择过程结束。保留下来的头部变量是最可能进入最终模型的候选特征变量。

​ 逐步判别程序所选变量为模型最终变量的起点。通常情况下,会依据行业经验,将部分没有通过逐步判别筛选,但业务含义明显的字段也一并作为最终模型变量选择的起点。

​ 以上所有的原则和步骤,除了WOE值趋势必须和业务理解、行业习惯一致是必须遵守的,其他是一般原则可以突破。在按照以上原则挑选的基础上,如果得到的变量不符合建模条件,有可能会返回变量再挑选这一步骤,再人工挑选一些原本未被选中的变量。例如:在经过前文各种筛选后可选变量很少的情况下,如不足50个变量,可以不进行逐步判别程序,直接跳往下一步逻辑回归进行回归检验;性别是常用的入模变量,即使其IV值小于0.02,但如果满足一切建模要求,并可以让评分更分散,也可以考虑入模。

WOE值转换说明

​ 在逻辑回归建模时,使用的是变量值对应的WOE值,而不是变量的原始取值。不单单是被选中的变量,所有做过分箱的变量都会如此进行处理。以防选中的变量不满足建模条件时,需要人工调用其他最初始未被选中的变量时,需要重新转换WOE值。

​ 例如,性别的原始取值是,在WOE报告中对应的分别是-0.03340.1838。完成转换后,的取值就会被-0.03340.1838替代。

逻辑回归建模

​ 分为多重共线性检验和逻辑回归两个步骤,并不是所有通过初筛的变量都能通过这两步都校验,其最终结果通过最大似然估计值分析和方差膨胀分析两张参数结果表展现出来。从第一张表可以看到逻辑回归常数项及各入模字段的系数的估计值,从第二张表可以看到方差膨胀系数。

剔除变量的原则如下:

  • 回归系数为正的变量。随着变量的各个分箱的WOE值上升,其坏账率越低,这样才能符合业务逻辑,因此需要保证所有入模变量的回归系数均为负数。
  • P值太高的变量。P值一般不能高于0.10,当可入模变量过少时,可以放宽到0.15
  • 相关性太高造成高VIF(方差膨胀系数)的变量。VIF一般不能大于10,最好不要超过4。对于多个高度相关的变量,保留业务上最有意义、最稳定、最可信的一个。
  • 业务专家认为不适合入模的。如贷款用途,因为分箱可能不稳定,没有特别的规则,最终不考虑入模。
  • 其他情况。考虑到入模变量维度的多样性,或者变量的直观业务意义,有时会将几个过于类似的变量替换掉1-2个,换上类似但是维度和角度不同的变量。

评分标准化说明

​ 逻辑回归模型得到的是概率(违约概率估计),而最终实际实施时使用的是简单直观的评分。所以需要依据评分卡原理,将概率值标准化为分数值,在这个过程中还可以得到评分值表(即每个变量的各种取值得到多少分)。每个坏账率对应一个好坏比($$odds=(1-p)/p$$,p为坏样本所占百分比)。

​ 评分标准化需要三个参数:

  • 基准评分(points0)
  • 基准好坏比(odds0):在基准评分下,人群所对应的好坏比
  • 好坏比加倍分值(PDO,Points to Double the Odds):评分提高多少才能使其所对应的好坏比成为原来的两倍

​ 通过与基准评分作比较,可直观的得到标准化后评分所对应的odds。如校准后评分比基准分高PDO分,则其对应的odds为基准odds的两倍。

​ 评分卡的分值刻度通过将分值表示为比率对数的线性表达式score = A + B\ln(odds)*,其中,A(称为补偿)和B(称为刻度)是常数。。

$$points0 = A + B*ln(odds0)​$$

$$points0 + PDO = A + B * ln(2odds0)​$$

$$B = PDO / ln(2)$$

$$A = points0 - B * ln(odds0)​$$

$$score = A + B * ln(odds) = A + B(w^Tx + b) = (A + Bb) + Bw{11}x{11} + Bw{12}x{12} + … + Bw{mn}x{mn}​$$

  • 好坏比率odds=(1-p) / p​为一个客户正常的估计概率与违约的估计概率的比率

  • ln(odds)为逻辑回归的因变量,即ln(odds)=w^Tx + b

  • points0:基准评分

  • odds0​:基准好坏比

  • PDO:好坏比加翻倍的分值

  • x1… xm:逻辑回归的变量系数

  • wi:最终进入模型的自变量且已经转为WOE值

  • b:逻辑回归的截距

  • Bwixi为变量xi对应的评分

  • (A - Bb):基础分(也可将基础分值平均分配给各个变量)

公式中的加减号有待纠正

变量 行数(分段或降维结果) 分值
基准点 A + Bb
x1 1 Bw11x11
2 Bw12x12
k1 Bw1k1x1k1
x2 1 Bw21x21
2 Bw22x22
k2 Bw2k2x2k2
xn 1 Bwn1xn1
2 Bwn2xn2
kn Bw2knx2kn

模型表现评估说明

模型表现评估指标

​ 国内一般重点看KS(Kolmogorov-Smirnov)和Gini系数这两个统计值。这两个指标在合理范围内越高,表明模型的区分能力越强。同时,模型还可以通过Divergence(离散度)、AUC(Area under Curve),ROC(Receiver Operating Characteristic)的值和图形进行评估。以上评估值都是越高越好,但是要在合理的范围内。如果过高,可能是因为过拟合或者特殊数据造成的。

​ 由于KS的值,和模型的类型、数据质量、客户群体特征都有很大关系,所以能接受的合理范围也有所不同。其他指标一般无明确划分点。

K-S值 申请(好坏区分能力) 行为(好坏区分能力)
20以下 不建议采用 因为表现期不足,模型验证或上线初期可能会在这个范围。 不建议采用 因为表现期不足,模型验证或上线初期可能会在这个范围。
20-29 较好 在没有人行报告或其他强外部数据的情况下,如果申请数据质量不理想,贷款和信用卡模型都容易落在此区间。 较弱 在还款和逾期历史数据都较弱(先息后本或一次性还款)的情况下,可用变量很少,贷款和信用卡模型都容易落在此区间。
30-49 良好 在没有人行报告或其他强外部数据的情况下,如果申请数据质量很好,贷款和信用卡模型都容易落在此区间。 较好 在还款和逾期历史数据都较弱(逾期账户极少)的情况下,可用变量不强,贷款和信用卡模型都容易落在此区间。
40-55 很强 有人行征信等外部数据切申请数据质量很好,模型一般落在此区间。 良好 大部分贷款和信用卡模型都容易落在此区间。
56-75 非常强 很少见,能力高但疑似过拟合,可能放了过多征信报告中的逾期变量。 很强 很少见,能力高但疑似过拟合,可能放了过多征信报告中的逾期变量。
75以上 极少见 能力高但疑似过拟合。 非常强 很少见,能力高但疑似过拟合。

模型表现评估图表

​ 模型的评分排序表(Score Chart)就是将建模开发样本的评分从低到高排序,显示每个评分上的好坏个数,好坏比例以及坏账率等。详细的排序表不对评分进行组合;综合的排序表对评分进行组合,按照评分从低分区间到高分区间将建模开发样本账户等分为5-10组(每组账户比例大致相等)之后,区间坏账率也是从低分区间到高分区间单调下降,以说明模型等排序性强弱。

模型的验证说明

根据验证样本的时间段不同,模型验证及其样本可以分为以下三类:

  • 开发期预留样本验证(时间内样本验证,Hold-Out Testing)。对Testing样本的验证要求一般是需要其入模变量趋势稳定,模型的极大评估指标稳定。当无法预留此样本时,可以采取Bootstrap法来造出样本进行验证。
  • 时间外样本验证(Out-Of-Time,一般是比开发样本更晚更新的数据)。在表现期不足的情况下,不要求OOT样本上模型的几大评估指标稳定或者更好,而多是检查模型的排序性和稳定性。一般通过评分排序表、入模变量的PSI值和评分排序的PSI值来评估,样本中好坏不确定不需要抽样。如果有足够多表现充足的时间外验证样本,在坏样本比较多的情况下,可以希望其评分后的模型评估指标较好、稳定或更好。
  • 上线后跟踪验证(Go-Online,上线后获取的数据)。一般在模型一期开发阶段没有这些数据,所以不会进行。上线后跟踪新账户一般表现期都不够,一开始不能要求模型的几大评估指标稳定或者更好,而多是检查模型的排序性和稳定性,一般通过入模变量的PSI值和评分排序的PSI值来实现。应用上线后,更看重的是评分保持排序性,积累到表现期足够后可以希望其评分后的模型评估指标较好、稳定或更好。

模型具体的验证方法和指标分为以下几类:

  • 标准验证:KS,Gini系数、ROC、AUC和评分排序性等,需要样本的表现期充足。

  • BootStrap:从建模开发样本中有放回的随机抽样出1000-5000个样本(无需按好坏分层抽)组成一个数据集,计算其模型评分值,依据评分和好坏计算模型评估指标,一般主要看KS。可以如此反复抽10-100次,最后得到一个平均值,和模型开发样本的评估指标进行比较,若接近则验证通过。

  • 稳定性验证:看每个入模变量的PSI、整体评分的PSI、评分的排序性。理想的PSI小于0.1,政策、客户和数据的变化最容易导致PSI变大,其标准见下表:

    | PSI | 结果 |
    | ——– | —————— |
    | <0.1 |="" 正常="" 0.1-0.25="" 需要关注,找出原因="">0.25 | 重大变化,找出原因 |

模型评估参数

K-S值

​ K-S值用来衡量模型区分好坏的能力,即模型的预测能力。K-S的值由多种因素决定,如:数据源和数据信息的可获取度、数据的质量、产品类型、群体的稳定性。该指标衡量的是的累积分布之间最大的差距。好账户与坏账户分布之间的差异越大,K-S指标越高,模型的区分能力越强。但K-S值不是越高越好,太高容易出现过拟合或是由特殊数据造成。

Gini系数

​ Gini系数用来衡量模型的区分能力,Gini系数越高,表明模型的排序能力越强。