写在前面
这是即2019腾讯广告算法之后,又一场数据竞赛。这次比赛以互联网金融信贷业务为背景,帮助选手了解相关业务。
魔镜杯大赛迄今已连续举办四届,逐渐成为国际金融科技领域的重磅赛事之一,为业界广泛认可。据统计,本届大赛共吸引了1200余支团队、1900多名选手报名参加,选手中除了来自中科院、清华大学、北京大学、南加州大学、哥伦比亚大学等国内外高校的硕士、博士研究生,还不乏来自各知名企业的工程师和研发人员,如阿里巴巴、腾讯、华为、平安、甲骨文等。
在赛题设置方面,魔镜杯大赛始终围绕实际应用场景中的真实行业痛点去设计赛题,本届则以互联网金融信贷业务为背景,使参赛选手利用数据预测资产组合在未来一段时间内的每日回款金额。据介绍,该赛题涵盖了信贷违约预测、现金流预测等金融领域常见问题,同时又是复杂的时序问题和多目标预测问题,其不仅仅是技术层面的比拼,更具有极强的应用价值,将把互联网金融的数据优势转化为切实的行业解决方案。
本届魔镜杯决赛的评委之一,拍拍贷创始人、首席创新官顾少丰
比赛虽然过一段了,可是我们的学习是不能停的,需要做的就是对比赛进行一个完整的总结,去学习更多优秀的方案。在这里我也将对本次比赛的冠军、亚军和季军的所有方案进行一个梳理,希望帮助大家熟悉信贷相关业务,解决此类问题。同时也帮助未参加本次大赛的同学们对本赛题有更多的理解,并学习到优秀的方案。
正文
冠军方案
QLMX:第四届拍拍贷魔镜杯冠军方案分享zhuanlan.zhihu.com
冠军之所以是冠军,是因为考虑的更全,尝试的更多,挖掘的更深。
微观与宏观
基于对赛题的分析以及金融风控业务的理解,得到以下几点:
- 赛题重要性:准确预测未来一段时期资产组合回款量。这能够帮助互联网金融企业更好的把控运营节奏,进行良性资金配置和流动性管理,最大化的利用现有资金。
- 赛题目标:预测资产组合在未来一段时间内每日的回款金额(但是我们无法预知资产组合的构成)
基于以上分析,决定在未知资产组合的情况下将原有的问题从宏观和微观两个方面进行挖掘,从微观角度挖掘用户的一些借贷习惯;从宏观挖掘公司每月每日资金的流入流出情况,来拟合最终的资产组合的回款情况,具体的结构如上图所示。
模型架构
模型可以分为两个部分,从微观和宏观角度进行全面考虑,如下:
微观:微观部分对应用户的一些特征,主要挖掘方向就是用户的还款风险以及还款时间偏好,特征见上面的特征部分,模型使用的事lightgbm模型。
宏观:宏观部分主要是分析公司每月,每日的资金运转流通情况,统计分析自然天资金回流的概率,在微观预测的基础上调整回流日资金分配。
优点:
- 有一定可解释性,知道特征来源
- 可操作性比较强
- 模型稳定,切榜成绩几乎没有波动
loss优化
- 预期类别权重调整:考虑到风控模型应该是越来越好,即往后逾期率会变低,如下图所示,基于此,训练模型时将逾期的类别适当降低,线上提升50;
- 日期权重调整:统计分析月初的还款量较大,月底的还款量较小,将每月月初的loss权重增到到1.12,月末的loss权重的loss减小到0.79。复赛线上单模型5623。
亚军方案
鱼遇雨欲语与余:第四届魔镜杯大赛数据应用大赛方案分享(亚军)zhuanlan.zhihu.com
核心问题
本方案主要围绕五个核心问题,分别为:
- 预测一个用户未来一个月内的还款时间及还款金额,那该如何构建合适的label?
- 训练集的时间区间如何选取?
- Repay_logs有大量的还款记录,如何更好的利用这些记录?
- 针对时序问题最常用的方法是滑窗,是否有更加高效的滑窗方式?
- 除了常用的统计特征,还可以构造哪些强特?
业务分析
对业务进行了深层次的分析,从业务角度挖掘出更多有用的特征。首先,我们的目标是预测用户的还款情况,所有应该考虑到用户的还款意愿和还款能力。接下来考虑了可能存在的因素,并分析能否从数据集中提取出来。比如“工资日”,我们就可以从repay_logs来推测可能的工资日,如果某个用户总是在同一天还款,那么很有可能是用户的工资日。
后处理策略
本方案另一个亮点在于对模型结果的后处理,不同于规则后处理方法,这里使用的模型进行后处理。就在2019腾讯广告算法大赛中,季军团队“小迷弟”使用二分类模型来预测广告曝光量是否为0,这与本策略有异曲同工之妙,都是来用二分类模型针对具体的类别进行后处理。这种方法也是非常值得我们去学习的。具体操作如下:
训练多个二分类模型仅多分类模型进行覆盖修正。多分类模型的结果重要性是不一样的,二分类可以更专注与一个点进行修正处理。
这里我们来举个例子,首先构建二分类模型,以是否最后一天还款作为训练目标,将预测的概率结果进行排序,选取topK个样本进行修正。
对于topK的选取,我们给出了一个计算公式,如下:
更具体,对于每个二分类目标的训练集的分布是不一样的,这里的训练集分布是最后一天还款次数的比例。一个比较小的值是用来控制风险的值,值越大我们需要调整的就越大,可能的风险也会越大。以上就完成了一个二分类模型结果对多分类模型结果的修正。
完整步骤如下:
- 33分类模型输出用户还款日期的概率
- 训练多个二分类模型:是否在账单日还款、是否逾期、是否1-24、是否借款日还款
- 用二分类模型覆盖33分类的结果
- 调整阈值与参数,达到最优模型效果
季军方案
zzz333:第四届拍拍贷魔镜杯季军方案分享zhuanlan.zhihu.com
优势:模型简单,思路简单,2个小时600行上Top3。
独特建模方式
季军选手另辟新径,使用二分类的方式进行建模,这里大大区别于其它选手的33分类或者10分类。
和下边的公式写的一样~系数*特征得到每一类对应的概率~变为了~系数*每一类特征得到当前概率。类别减少,将每个标签的统计特征放到同一量纲下比较,数据量增大32倍~同时二分类模型也简单轻便~收敛快速
特征工程
这里让我看着有点像ctr问题,预测用户是否还款。
选手构建了基于历史的统计特征和转化率特征,同时对转化率特征进行了平滑处理,加系数防止分子为0(分子最小时N不同展示差异)。
这里的转化率主要是两个构成:
- 基于早还,最后还和逾期的统计
- 基于本日的统计(几号,周几,第几周)