序言:
目前的消费信贷市场相比之前发生了巨大变化,同时消费降级、社会消费品零售总额增长放缓、居民狭义的负债率攀升、银行不良贷款率增长等。风控的价值是有效降低风险,减少亏损。因此,对于成本的控制,对于风控的效果,需要有更精细化的应用和实践,说得通俗点就是行业卷起来了。
在内卷化的当下,数据有限,成本很高,必会限制风控的上限;同时,如何有效的结合数据、规则、模型,来实现业务目标,这就需要风控策略来完成。于是诸多风控的同学都在寻找最优的策略来把控风险,那有没有最优的挖掘策略的方法来找到最优策略呢?答案是肯定的。但相信,这个难点也困扰着很多做策略的同学。本文为大家带来,信贷风控策略规则的挖掘内容。学会了,就能结合自动化工具来寻找到合适自家的最优策略。
本文有理论,有方法,有实操,还有数据集跟代码。此外在知识星球中更会手把手讲解具体的实操内容,包括数据展示(excel)、数据案例跟代码(python),基本一看就懂,一跑就会。
因为完整内容较长,本次整体的内容将分成六大部分跟大家介绍,整体目录如下:
Part1.风控规则的分类
Part 2.挖掘规则前要考虑的点
2.1.精确率
2.2.召回率
2.3.稳定性
2.4.排序性
2.5.业务可解释性和复杂度
Part3.常用的规则挖掘方法
3.1.基于专家经验和政策
3.2.基于分位数的方法
3.3.基于画格子的方法
3.4.基于决策树挖掘规则
Part 4.实操—利用决策树自动挖掘规则
Part1.风控规则的分类
在讲解规则挖掘的方法前,先介绍下风控规则的分类
1.从所使用的数据和业务角度出发,可分为:
1)准入规则:例如对年龄,职业,地域的限制,一般根据公司或监管政策来制定。
2)黑名单类规则:包含内部黑名单和外部三方黑名单,黑名单里又可细分成逾期,法院,高限,诈骗等类别。
3)反欺诈类规则:针对个人欺诈和团伙欺诈,一般根据设备指纹信息,通讯录,地址定位信息对欺诈行为做甄别。
4)校验类规则:三要素一致性校验,在网状态的校验,联系人号码状态校验等。
5)多头共债类规则:衡量借款人因多头借贷导致违约的风险,依赖第三方数据。
6)逾期类规则:自有平台和外部的逾期行为,能直接反映借款人的信用情况。
7)评分类规则:通过模型将弱的变量合成一个强变量分数,从评分种类可分为反欺诈分,信用分,支付分,消费分等。
2.第一种分类的方法是比较细的,其实从更抽象的角度出发,可将风控规则分为两种:
1)硬规则:也叫严拒规则,这种规则拒绝的都是高风险人群,一般阈值确定下来就不再做变更,上述的黑名单规则,反欺诈规则,校验类规则都属于这个类别。
2)软规则:可以灵活调整规则拒绝的阈值,用的数据一般都是连续型的数值变量,这种变量具有一定的排序性,例如信用分越低,违约风险越高。上述的多头共债逾期类规则,评分规则都可归类于此。
3.除了以上两种分类角度,还有一种是根据规则使用变量的数目
1)单变量规则,也叫简单规则,规则只用到了一个变量,例如“是否命中法院黑名单”,“近15天多头次数>=7”这种规则,业务逻辑比较简单。
2)多变量规则,也叫复杂规则或组合规则,规则用到了两个及以上的变量,通过变量之间的交叉组合或者权重加和来提高预测坏用户的精准度,例如“信用分A<=400 且信用分B<=450 则拒绝”,模型其实也是一种多变量规则。
Part 2.挖掘规则前要考虑的点
当挖掘出一条规则时,需要评估其是否达到了我们的预期要求,这个预期要求包括规则的精确率,召回率,稳定性,业务可解释性和复杂度。
1.精确率
精确率指的是规则拒绝的人中坏用户的占比,理想情况越接近100%越好,但实际情况中由于样本坏浓度过低,很难达到一个高精确率,这时候用lift(提升度)来衡量比较合适,lift衡量的是规则对坏用户的预测能力好于随机判断的倍数,倍数越大,规则的精确率越高。
2.召回率
召回率是规则拒绝的坏用户占总的坏用户的比例,简单说就是规则抓出了多少坏人。例如一个规则精确率达到了80%,但拒绝的坏用户只占了0.1%,那这条规则对于降低风控坏账其实没什么用,大部分坏用户还是被它放过了。所以在精确率达到要求的基础上,我们希望尽量提高规则的召回率。精确率和召回率是一对互斥的指标,召回率变高精确率就会变低,这跟风控通过率和逾期率的互斥是一个道理,所以需要达到一个平衡。
3.稳定性
稳定性体现在规则精确率和拒绝率两个方面,我们优先会考虑精确率上的稳定性,对于一条确定好阈值的规则,可以对样本根据时间进行切分,观察在时间维度上,每个子样本规则精确率(lift)的波动情况,如果波动明显或精确率呈下滑趋势,则这条规则上线后可能出现过拟合情况。在拒绝率上的稳定性可在申请样本上做评估,不过申请样本容易受到前端渠道,运营,市场环境等影响,所以拒绝率稳定性的要求不是很高。
4.排序性
排序性是针对软规则的评估指标,例如一个评分规则,我们希望它根据分数高低对精确率有一个单调变化的表现,即分数越低,精确率越高。这样我们就能根据业务需求对它进行收紧或放松,达到对贷后逾期的可控性。
5.业务可解释性和复杂度
可解释性一方面是用于向业务人员解释规则拒绝是否科学合理。另外也是看规则本身是否符合业务感知,比如信用分一般是拒绝低分段人群,但挖掘出的规则是拒了中间分段的人,那这条规则就不太具有解释性了。规则的复杂度也是要考虑的,对于多变量规则,变量用的越多,它们之间的逻辑关系就越复杂,不便于后期的维护优化,对解释性也会造成影响。
上述5个要考虑的点是有先后顺序的,规则优先看精确率,在精确率好的前提下提升召回率,然后看在时间维度上是否稳定,排序性是否好,最后才考虑可解释性和复杂度。另外不同规则考虑的地方也有区别,比如黑名单和反欺诈规则更追求精确率,精确率要尽量高,而评分类不仅关注精确率,也看重排序性的效果。所以在挖掘规则时要具体情况具体分析。
Part3.常用的规则挖掘方法
1.基于专家经验和政策
基于政策的规则,我们根据监管要求或者公司业务要求直接制定即可。
基于专家经验来挖掘规则,适用于两种场景,一是风控冷启动阶段,这时候无贷后样本可用,我们可以基于历史过往经验制定一些规则,例如设备反欺诈,关联风险规则,二是挖掘一些硬规则时可直接根据经验来定,比如校验类规则中,三要素匹配不一致,这类用户可能是通过买号,借号来进行申请,存在很大的欺诈风险,即使其中有些误杀,我们也应该果断的拒绝这类人群。另外根据市场环境变化,我们可基于经验做一些前瞻性的规则,像之前疫情开始爆发时,很多人的还款能力受到影响,就要及时上一些多头共债规则来提前控制风险。
2.基于分位数的方法
这种方法适用于挖掘软规则,例如下面这个模型分变量,从好坏用户的分布来看有一定的排序能力,分数越低,坏用户的占比越高。如果要做一个拒绝规则,那么左边低分段的人群是目标拒绝群体,目标群体的占比可通过分位数X来决定。当X=0.05时,就拒掉了5%的低分段人群,这类人群圈定出来后要计算其中的坏用户占比,即相对于总体的提升度(lift)。通过计算得知阈值定在<=460时,拒绝了5%的用户,lift为2.4,说明拒的人里面坏用户占比是总体坏用户占比的2.4倍。
基于分位数是规则挖掘中最常用的方法,对于信贷风控来说,一道道软规则就像过滤的筛子一样,每条规则都拒绝掉尾端风险比较高的用户,这样经过多层过滤,留下来的用户中坏的占比就会变小。所以在用这种方法时,会比较追求规则的精准度,尽量只卡一小部分用户来减少误杀。
3.基于画格子的方法
这种方法适用于挖掘组合规则(多变量规则),组合规则的本质是用若干变量通过and,or等逻辑关系来组成规则,典型的规则格式如下:
IF
(近7天多头次数>=10 and B卡分<=500) OR (历史最大逾期天数>30)
THEN 拒绝
ELSE通过
很多时候我们需要从很多变量中找到效果比较好的一些变量,并对变量做组合来提高其精准率,这时候就可用到画格子的方法。画格子简单讲就是对A,B两个变量进行分箱,然后A和B的箱体做交叉组合。类似于做笛卡尔积,然后挑出其中满足要求的格子,即圈定了拒绝人群,提取相应的规则逻辑。下图为画格子挖掘规则的结果,挖掘步骤大致为:
1)通过计算IV从变量中筛选出A和B两个IV比较高的变量
2)对A变量和B变量进行手动分箱
3)根据分箱结果进行两两交叉,生成二维的交叉表。
4)计算每个格子内的样本量和坏样本的数量,然后计算格子的坏用户占比(图中所示)
5)计算每个格子的lift,选出满足要求的格子,假如整体坏用户占比为10%,我们要求拒绝人群lift在3以上,那图中标黄底的格子lift为 30.4%/10% = 3.04,这个格子就是要拒绝掉的人群。
6)提取规则逻辑,“A变量>60 且B变量<=400 则拒绝”。
画格子是做组合规则最常用的一种方法,优点在于挖掘过程直观,有解释性,且控制调整方便,缺点在于只适合两个变量之间的组合,当可选变量增加时,很难判断哪两个变量组合在一起效果好,且组合策略一多,会带来很多的工作量。此时,可借助决策树算法来帮助我们自动生成组合规则。
4.基于决策树挖掘规则
决策树是一种生成树形规则的机器学习算法,基于一堆样本和一个分类结果,通过学习这些样本得到一个决策树,这个决策树能够对新的数据给出正确的分类。
决策树本质上是一连串IF…THEN…ELSE 逻辑关系的组合,我们可根据下面这张决策树生成图来讲一下挖掘规则的逻辑:
图中是一颗CART树,CART树是根据基尼系数(gini)来选取分裂指标和分裂的阈值,CART树在sklearn中的参数如下:
从树状图中可以看到总样本为1046,其中坏用户427,好用户619,总体坏用户占比为40.8%,首先选取了sex_isDummy_female作为分裂指标,分割点为0.5,若<=0.5,则样本分到左子树,>0.5分到右子树,在右子树中,坏用户占比为292/(292+96)=75.2%,右子树的精准率提升了很多,下面右子树选取了pclass_isDummy_Third作为分裂指标再分裂一层,可看到当pclass_isDummy_Third<=0.5时,坏用户占比为220/(220+16)=93.2%,精准度又提升了,这时决策树停止了分裂,红框圈出来的就是要拒绝的人群。挖掘出的规则为:“sex_isDummy_female<=0.5 且pclass_isDummy_Third<0.5 则拒绝”。
决策树挖掘规则的优点在于,可根据信息增益,基尼系数等指标自动进行样本划分,且可对多个变量进行组合,大大减少工作量,我们可根据下面几个参数来控制树生成的逻辑:
max_depth: 最大树深,深度越大,产生的叶子节点越多,一般挖掘规则时设置成2-3即可
min_samples_leaf: 叶子节点的最小样本量或最小占比,一般占比可设置成5%–10%
min_samples_split: 父节点在分裂时需要的最小样本量或最小占比,一般设置成5%–10%
不过需要注意的是,决策树存在以下缺点:
1)分裂时完全依赖于基尼系数等指标,缺乏业务含义,且不考虑变量本身的排序性,容易导致分出来的结果在业务上不可解释。
2)决策树容易过拟合,需要验证在跨时间维度上是否稳定。
3)相比于画格子方法,决策树是自动分裂,这样就不容易手工进行调整。
所以在实际应用中,决策树分出来的规则不能直接拿来上线,需要从业务解释性,稳定性等角度进行评估。另外决策树可以作为画格子的辅助手段,帮助我们选取合适的变量,并给出分箱逻辑的参考。
Part 4.实操—利用决策树自动挖掘规则
以上详细内容,未完待续…
各位同学可以提前到知识星球平台了解剩余内容。
在第四部分,我们将详细为大家介绍如何运用决策树算法给具体的风控规则挖掘合适的策略。关于这个部分还有具体的数据集提供给到大家练习。
希望本文能帮助到各位做风控的同学
关于本文涉及内容,因为(公众号)此处无法传输数据集,我们会将整体内容以文件包(数据集+代码)同步到知识星球平台,实操内容请大家移步知识星球:
希望本次文章,对大家有帮助~对于策略挖掘的系统性内容,更多内容今晚8点可准时关注:
~原创文章
…
end