风控“规则集”的A类调优(Python实操)
本篇更新策略篇的规则集A类调优Python实操篇,内容选自《100天风控专家》第61期。
前面介绍了单变量规则、二维交叉规则、多维决策树规则、决策树规则可视化等常用的方法。规则集的性能介绍,以及规则集性能测试Python实操。本篇来介绍如何对规则集进行A类调优。
规则集提升通过率(A类调优)的一般分析流程。
什么是A类调优?
策略调优就是对已有策略进行放松或者收紧的调整,来应对市场风险变化,主要关注的两个指标:通过率、逾期率。按照通过率提升或者降低的角度考虑,策略调优可分两大类:A类调优、D类调优。
A类调优的相关注意事项:
含义:A是Ascending的缩写,代表提升通过率,即从已有策略拒绝的客户中寻找好客户进行通过。
场景:通过监控报表发现,某规则集、模型命中率逐渐变高导致通过降低;业务初期通过率较低风险可控,希望提供通过率扩大业务范围。
方式:无客户贷后表现,需通过历史数据推演进行拒绝客户逾期表现的推断。
规则集A类调优分析流程
对于并行的规则集而言,客户进入规则集的节点以后,我们可以无差别地获取规则集内部每个规则的数据以及命中情况,这是并行规则集的优势,这种优势主要就体现在策略调优上。
01 单一命中率分析
自然命中率:规则A命中的数量占总数量的比例
单一命中率:只有规则A命中,但其它并行规则均未命中的数量占总数量的比例
单一命中纯度:单一命中率/自然命中率,反映单一命中的占比,其他占比则为与剩余规则交叉命中部分。
具体筛选逻辑为:
1)寻找连续型的弱规则,排除强规则、政策性规则、以及非连续性规则(可调空间不大)
2)对“单一命中率、单一命中纯度”两者比例均较大的进行优先筛选 以下是一个人行征信数据维度的并行规则集,总共申请客户数量1000个,统计规则集内部所有规则的单一命中率、自然命中率、单一命中纯度。
02 拒绝样本逾期分析
规则的A类调优可分为两种情况,有拒绝数据参考、无拒绝数据参考。
筛选的核心原则就是优先释放逾期率更低的拒绝段。
对拒绝样本预测逾期率案例分析
03 计算规则集性能再调整
当我们筛选出要调优的规则并且调整完阈值后,整个规则集的通过率会发生变化。因为规则之间有重复命中的情况,所以最终的通过率是升高还是降低,提升了具体是多少,这些就需要对整个规则集重新计算。
如果通过提升没有达到我们的预期,那我们可以再返回第1和2步骤进行调整,比如阈值进一步放松,或者增加更多规则进行阈值的放松等等,可以有各种组合的调整方式。当然也可以先列举出所有备选方案,同时执行调整策略,最后对比各方案调整后的规则集效果,从中选择最优。
Python代码实操
首先抽取近期的申请样本,统计规则集内部规则的单一命中率、自然命中率、单一命中率纯度。然后按照步骤一进行规则的初步筛选。
然后对有充分贷后表现的样本进行抽取,统计以上筛选规则命中情况,分析规则的变量分箱下区间坏账率的单调性。根据步骤二的筛选规则进行规则的进一步筛选。
最后形成不同的调优方案,执行调优并对比测试效果,从中选择最优的。
可以看到,对RULE7
阈值释放后,整体规则集的命中率下降0.9%,但RULE7
的单一命中下降1.5%
这是因为RULE7
的命中与其他规则存在重复的情况,对其进行释放后,其他规则命中可能会有提升,此消彼长后整体通过率下降少于规则单一命中下降的幅度
这也就是为什么我们要求pure_hit_pct
越高越好,只有规则的独立贡献度越高,整体命中率下降幅度才能达到效果,即通过率上升到要求的效果。否则的话,通过率不升反降。