说到负样本少,大家肯定会想到用拒绝推断方法来做,但又发现效果很差。或者用平衡正负样本方法再模型校准思路来建模,发现负样本才几百个,模型难度大。常用拒绝推断思路(误导人的思路):
其实大家都尝试过,但效果不好。我就给大家重头至尾缕缕思路与创新方法。
首先低利率24以下,vintage30天需控制在3以内,且要在不稳定信贷环境有抗风险能力的策略,肯定误杀较多。这里的误杀指,在目前信贷环境下,在观察期一年内是好客户,但有可能超观察期不久就坏的坏客户,如果环境变差 就是在观察期内变成坏客户。同时这里误杀也是指有高利率网贷产品客户 。所以此类产品本身坏客户比率低于2个点,根据滚动率以及目前不景气的行情 (催收难度恶化),我们选择FPD超15天定义坏客户。
实际过程中,我们流程:反欺诈规则、反欺诈模型、信用评分规则、信用评分模型,反欺诈领域采用各类模型,由于信用评分规则(人行征信 DTI等)在前,随着时间推移 模型迭代,导致幸存者偏差(坏样板比率极低)。所以实际中,把信用评分模型放在信用评分规则之前,先剔除评分过低客户后,进入误杀较高的信用评分规则,这样目的有利于:1、为策略不断优化,提供了良好的参考,比如某组合策略 对应变量笛卡尔乘积象限的坏客户比率分布,各区间的评分分布。2、优化拒绝推断,可以确定策略中拒绝客户中DTI 还款能力差的客户為坏客户,重新训练模型后,对排序性检验,同时对增加样本模型评分合理性人工检验,去除评分较高的样本后再次建模(评分高还款能力差负债高的客户 不符合业务逻辑),此方法解决了部分幸存者偏差的问题,因为此类拒绝客户不多。
解决负样本过少方法:1、先跑评分模型,再跑规则。优化拒绝推断 。2、GMM高斯混合模型,BIC选择最优聚类数,采用GMM生成新样本,加入模型训练。3、LGB清洗样本,剔除噪声样本后,smote生成样本再次建模。 4、代价敏感学习,增加坏样本权重。 后面三种方法,梅老师《智能风控》有详细论述。
当然有朋友提出KFOLD算法、stacking模型融合算法,其实这些笔者都试过。其实解决坏样本过少模型核心就是:根据业务逻辑把拒绝样本中 可以确定的坏样本加入模型,人工增加坏样本,当然人工增加坏样本是基于某些重要的变量指标,然后敏感代价学习方法。 模型调整建完后,调整原先策略,把一些重要性低 置信度降低的策略,放宽。
欢迎大家参与讨论,提出新方法。欢迎踊跃留言。