DarwinML拒绝推断:在金融信贷领域的最佳实践
拒绝推断的业务背景
金融公司在每一轮借贷业务中会从申请借款的用户中挑选评分高的用户给予放贷,还款期限到后就可以知道放贷用户的贷后表现,这些有贷后表现的用户数据就成为有标签的样本被用于下一轮评分卡模型的创建或调整。但大量的被拒绝用户因为没有贷后表现,他们的数据不能被利用而白白浪费掉了。拒绝推断模块就是解决这个问题的,从被拒绝的样本中通过专门的算法选出一定数量的推荐样本,对选出样本打上0标签,即标记为好人,这些被选出样本作为好人加入到下次建模的训练集中,从而充分利用数据,提高公司收益。
拒绝推断的工作流程
首先新建一个项目,需要选择“数值分类”。
当项目创建成功后,新建工作流,先选择"拒绝推断流程”。
下一步,选择数据,先选择拒绝推断分析数据
再选择拒绝推断评估数据,评估数据集必须是:
(1)evaluation_only,
(2)1个或以上
(3)与分析数据集是相关的
点击下一步,开始模型选择,这里几种情况:
(1)如果用户是第一次使用拒绝推断功能,只能选择全新开始,然后选择一个模型,如果不选择模型,平台将自动拟合一个模型
(2)如果用户不是第一次使用拒绝推断功能,则选择从上一个任务开始,平台自动继承上一次任务的模型和一些参数
(3)如果用户不是第一次使用拒绝推断功能,但样本数据发生较大变化,失去从上一次任务继承的意义,则和(1)一样选择全新开始
然后点击左下角的高级参数进行参数配置
点击高级参数
自动模型设计参数和训练参数,超参优化参数和标准流程一致,一般用默认值
拒绝推断参数有大部分需要用户填写,如果没有填写,将使用默认值,具体说明如下:
(1)模型拟合门限: 在用户的训练数据上拟合一个模型,如果拟合准确率超过这个门限,就接受用户数据,如果没有达到门限,我们就认为用户数据有问题,任务将终止,一般用默认值,但用户可以修改
(2)IK值:拒绝用户的坏客户率/放贷用户坏客户率,用户可以根据业务数据统计或经验设定IK的最大和最小值,默认为2和5
(3)推荐用户个数:推荐用户的最大值,如果我们推荐的用户个数没有超过这个值,就用我们的推荐个数,如果超过了最大值,就用最大值,多余的用户将按照好人概率的排序丢弃较低概率的样本
(4)坏帐损失均值:因为给一个坏客户放贷而带来的损失平均值,这个客户根据业务经营数据填写
(5)收益均值:增加一个好客户而带来的收益平均值,这个客户根据业务经营数据填写
(6)允许损失扩大最大幅度:因为加入了推断数据,是得下一次预测的接受样本会增加,这个增加的样本的坏样本比例和总体推荐样本的坏样本比例相比较,允许最大的增长幅度
(7)推荐用户置信度门限:我们默认推荐用户为好客户,这并不是有100%的把握,也就是说我们相信这些推荐用户是好人的概率不是100%,置信度就是这个概率值,假设90%的置信度,就要求我们推荐的客户至少有90%是好客户
(8)放贷接受概率:放贷的客户占总申请贷款客户的比例
(9)违约概率:行业统计,或公司统计,用户违约的概率
(10)估计拒绝用户违约概率:被拒绝的客户中有多少是真正的坏客户,这是一个估计值,因为拒绝客户不可能有贷后表现,如果是“全新开始”,则需要用户输入,如果没有输入就使用默认值,如果是“从上一个任务开始”,则不需要用户输入
设置好参数,点击确认 ,下一步
资源配置和自定义参数一般不用设置,点击确定
再次确认后工作流建立成功并自动执行整个流程,可以看到流程的状态处于 正在处理 状态
点击 详情 按钮可以查看工作流详情:
流程分4个阶段:
(1)模型拟合)
(2)模型训练
(3)拒绝推断分析
(4)算法评估和拒绝数据生成
当4个阶段都完成,流程结束
点击评估详情,将生成3个tab页,每一页显示一个算法的推荐和评估结果,第一个tab页是最终推荐结果,生成的推荐用户列表为最终推荐样本,可以点击下载
评估结果说明:
在评估详情页面中,有10个指标值。但是由于推荐推断的特殊性,这10个指标的大部分都是算法的中间过渡指标,用户需要关注的的性能指标只有两个:收益变化差值和推荐坏样本率。
这两个指标的意义:
收益变化差值:因为添加了推荐样本二使得模型的预测的好样本增加,
(增加的样本中真正的好用户个数X平均收益)-(增加的样本中的真正的坏用户X平均损失) 就是等于收益变化差值
推荐坏样本率:因为添加了推荐样本二使得模型的预测的好样本增加,增加的样本中的真正的坏用户除以增加的好样本的总个数,这就是推荐坏样本率
所以这两个指标是要有了贷后表现的样本数据才能计算出来,所以只能是选择“从上一个任务开始”的工作流才能得出这两个指标,所以就有如下情况:
(1)如果选择“从上一个任务开始”,则是对上一个任务产生的推荐用户用于借贷业务后的产生的有贷后表现的数据为依据来评估
如果收益变化差值为正数,说明上次推荐数据已经产生正向效益
如果收益变化差值为负数,说明上次推荐数据产生负向效益,要调整参数
(2)如果选择“全新开始”,因为没有贷后表现数据,所以只能用评估集做一个大概的评估:
如果收益变化差值为正数,说明本次推荐数据有效,
如果收益变化差值为负数,说明本次推荐数据无效,不能使用
推荐坏样本率应该越小越好
|
|
拒绝推断模块的验证实例及结果
1.数据分为两组:(1)总数10977,其中标签为0或1的为5000,其他为标签为2 (2)总数10977,其中标签为0或1的为5000,其他为标签2。 这两组数据是相关数据集,并且都有2的真实标签
Test用数据集(1)作为训练集,加入到拒绝推断算法中,从标签为2的sample中取得推荐样本,并打上0标签,添加推荐样本到0,1样本中,训练agb模型,原来的0,1样本训练kgb模型,分别用这两个模型预测数据集(2),记录agb的预测结果和kgb的预测结果,包括KS值和kgb中被影响的白样本的变化。测试9次
kgb_0_good:kgb模型预测的0中真正的good样本的个数
agb_0_good:agb模型预测的0中真正的good样本的个数
kgb_0_bad:kgb模型预测的0中实际为bad样本的个数
agb_0_bad:agb模型预测的0中实际为bad样本的个数
final_gain:agb模型的收益减去kgb模型预测的收益,也就是推荐样本的收益增量
测试结论:拒绝推断模型可以稳定的提高每次预测的总体收益