【模型迭代】模型迭代

研习社话题N:
问题:信用模型的因变量如何修复?或者说如何更好的确定Y变量?
解释:已经定义了Y,但是模型效果一般,或者说在逐渐变差,所以在想办法重新定义。
原因:模型上线后,效果一般,效果一般的表现是什么?问题出在哪里?除了Y的定义,还有哪些可能存在的原因?
探究:模型效果的评估指标及调优方法?业务中的Y的定义方法。

下面,我们开始今天的分析:

先看几个概念:

  1、score_cutoff及pass_rate%
  2、cutoff以上各分段区间的sample_amount,pre_bad_rate%和real_bad_rate%以及model_error

举个例子:

【模型迭代】模型迭代_第1张图片

  可以看到,假如我们我们的cutoff阈值设置为500分,模型各分段预测违约概率随分值的增加而降低,实际业务中模型表现情况也基本符合这个规律。但是,模型的实际效果,要比预测效果差不少,model_error基本在5%以上,说明:我们模型的整体预估能力出了问题,而不单单是某个分段。基于此,我们可以从如下几个角度出发,分析造成违约升高的因素,从而找出对应的调优方法。

角度1:
外部因素变化
  1)经济环境变差 2)政策导向变化 3)放贷环境受影响 4)银行或机构本身产品结构调整 5)进件渠道发生变化
  6)其他因素
分析方法:
  1)经验,外部环境、管理部门、运营部门、贷后部门、催收部门,反馈
  2)量化,表现为用户整体评分并无下降,各区间分布也较为合理,Pass_rate%正常,但贷后表现异常。

角度2:
样本特征X分布发生变化
  具体表现为,样本个别或多个特征整体分布发生变化,原因可能为进件用户结构随外部环境等因素影响而发生变化。结果为进件评分整体评分升高或降低,或者区间评分升高或降低。若整体评分降低,通常风控经理会降低cutoff,为满足通过率的要求,这就导致本来部分低分用户,也得到了审批。若整体评分升高,通常风控经理会降低cutoff,导致部分好用户会被等同降级处理。
  最终的结果都表现为,逾期率的提升。
分析方法:
  1)PSI观察Y值是否稳定
  2)PSI观察各样本特征X的分布变换是否稳定,另外检测其正态性和相关性是否发生漂移。

角度3:
label特征Y定义出现问题
  通常,银行业务中,定义坏样本选M3,也就是逾期超过90天;机构分期业务,通常选取FPD30或者PDM(最大逾期天数);单期小额现金贷业务,通常选择PD10~PD30;极个别业务,会选择PD3甚至PD1。我们训练模型前,具体label特征Y定义方法的选择,需要结合业务经验和账龄分析、贷后催回表现等因素的综合评定。

【模型迭代】模型迭代_第2张图片
(数据为非真实数据)

  我们可以看到,Y的选择不同,正负样本占比即不同,样本区间分布便不同。因此,如果Y的定义不合理,会影响到评分卡的效果。如果数据在训练集、测试集、验证集的表现都不错,但是实际投产后出现问题,出去经济政策环境和业务环境发生变化的原因外,很有可能是Y选取不合适导致样本质量发生偏移的结果。

【模型迭代】模型迭代_第3张图片

  综上,我们就可以理解:一般机构业务定义Y,通常选PD10~PD30左右,时间不短,也不会太长。时间太短,模型中会将非常多正常样本的信息误认为坏样本信息而去学习;时间太长,许多坏样本的信息学习就不完整,另外模型调优的周期也会被动拉长。

  因此,我们也可以理解,为什么银行一般不用或少用较为复杂的评分卡模型,杀鸡用牛刀的方式,少用。

  现在回到文章开始时的几个问题:
【模型迭代】模型迭代_第4张图片
  总结如下:当模型效果表现一般时,我们通常需要从多个角度出发考虑问题,采用经验加分析的方法。将影响Pass_rate%和bad_rate%的因素排查定位到①环境、②X、③Y,进而进一步排查分析具体原因。

  由此,我们也可以得出教训,在模型开发过程中,需要不断去通过PSI、Pass_rate%、bad_rate%、混淆矩阵等方法去分析样本特征的预测性、稳定性,以及Y定义的合理性。这样,会尽可能的避免模型上线即失效的尴尬局面。


  对数据分析、机器学习、数据科学、金融风控等感兴趣的小伙伴,需要数据集、代码、行业报告等各类学习资料,可添加微信:wu805686220(记得要备注喔!),也可关注微信公众号:风控圏子(别打错字,是圏子,不是圈子,算了直接复制吧!)

关注公众号后,可联系圈子助手加入如下社群:

  • 机器学习风控讨论群(微信群)
  • 反欺诈讨论群(微信群)
  • python学习交流群(微信群)
  • 研习社资料(qq群:102755159)(干货、资料、项目、代码、报告、课件)

相互学习,共同成长。

你可能感兴趣的:(项目实战:模型开发)