用户分群与建模
用户分群是指根据某些规则将人群进行细分,细分之后的每类客户具有明显区别于其他群体的特征。这样就可以对同质客群单独建模进行分析,从而提高模型的性能。通常情况下,基于客群细分的一套模型比一个用于所有客户的单模型通常可以提高5%到10%的性能。
目录
一.分群目的
二.如何进行分群
- 2.1 基于业务经验
- 2.2 基于统计预测
- 2.3 基于业务需求
三.场景示例
四.总结
一、分群目的
分群的目的是根据组内差异小、组件差异大的特性将客群进行细分,原理上类似于无监督的聚类。因为某些单一变量虽然对整体客群有鉴别力,但不一定对特定客群也具有鉴别力。比如,年龄这个变量对整体客群的好坏有区分度,如下图:
但是如果将申请样本分为高收入组和低收入组,情况变成下图:
可以看到在高收入组中,各年龄区间的差异并不明显,区分度并不强。因此如果能替每个分组找出适合的变量与模型,就可以大幅度提升整体模型的性能。
二、如何进行分群
2.1 基于业务经验
基于业务经验是指按照历史经验法则先行找出可能有效的分群变量,之后再由统计分析结果验证分群是否有效。如负债率低、DTI低的优质客群、无借款记录信用卡少的征信类白户、信贷账户多且历史长无逾期的消费活跃年轻群体等。这种划分方式就和用户画像类似,不过用户画像是用来做入模变量的标签的,而客户分群主要是用来建子模型。客户分群后也可以作为入模变量,这就涉及到分群变量如何建模的问题,求是汪老师在文章中介绍过方法。
方案一:分群单独建模
step 1. 对于N个分群单独建立N个子模型。同时,根据不同分群的特点构造新特征来提升子模型性能。
step 2. 将子模型分数作为新的特征x,以及原样本的目标变量y,训练一个组合主模型。或者,将子模型分数校准到同一尺度,可以参考文章《信用评分卡模型分数校准》。
方案二: 加入分群变量
step 1. 加入分群变量,只训练一个模型。
step 2. 在模型选择上:对于树模型而言,自动选择分群变量进行分裂群体来拟合;对于线性评分卡模型而言,增加新的维度,在高维空间进行拟合。
2.2 基于统计预测
基于统计预测的方法如决策树、聚类分析,借此找出对表现指标有预测意义的分组变量。比如以下这个例子:
上图使用好坏比作为衡量分组变量间风险轮廓的指标。好坏比的计算方式如下:
1.如果区间好坏比优于整体样本,则:
2.如果区间好坏比低于整体样本,则:
分组的过程需要满足各分组均涵盖足够多的样本进行模型开发(至少2%)、分组间好坏比有显著差异(差距15以上)。
此外还有常见的无监督聚类方法有K-means、GMM(高斯混合模型)等。其中,K-means存在随机选择初始质心和需设置超参数K(目标簇数)等问题,容易导致分群不稳定的现象。GMM在实际聚类时的效果往往更好,其主要思想是样本分布可以分解为多个正态分布的组合。(此段摘自求是汪老师的文章)
2.3 基于业务需求
一些不满足观察期时间窗口要求的变量以及不在目标客群之内的变量应该予以排除。以开发信用卡评分模型为例,如下图:
左侧往来期间不足5个月的,因无足够期间的账户历史数据作为自变量来源,右侧延滞客群适用于催收评分模型,因此只有信用开卡目前没有延滞的客户是目标客群。业务经验与统计实证都表明全清户与循环使用户在风险程度和形态上有显著差异。所以选择客户“是否使用循环”作为主要分组方式。
三.场景示例
利用额度使用率这一变量比较“无延滞客群”和“有延滞客群”两个分组的表现,判定该分组方式是否合适。
在无延滞客群中,有超过70%的客户集中在额度使用率小于25%,而在延滞客群中只有35%落在此区间,说明延滞客群的分布在往高额度使用率移动,绝大多数的延滞客户有偏高的额度使用率。再以变量值26-40为例,无延滞分组显示此类客户表现较平均差1.28倍(好坏对比值128B),而延滞客群显示此类客户表现优于平均2.05倍(好坏对比值205G),因此额度使用率变量可以在不同分组中产生不同的分数。
四.总结
本文介绍了如何通过分群来提升风控模型性能的基本方法论,细节以及实践方面仍有很多不足,感兴趣的朋友可以读一读求是汪老师的文章利用样本分群提升风控模型性能。
【作者】:Labryant
【原创公众号】:风控猎人
【简介】:某创业公司策略分析师,积极上进,努力提升。乾坤未定,你我都是黑马。
【转载说明】:转载请说明出处,谢谢合作!~