分享嘉宾:严澄 度小满金融 风控模型负责人
编辑整理:黄乐平
出品平台:DataFunTalk
风险管理中的金融科技主要包括两个方面:
一方面是传统金融的风险管理,包括:
A卡(Application Scorecard,申请评分卡)
B卡(Behavior Scorecard,行为评分卡)
C卡(Collection Scorecard,催收评分卡)
三张评分卡,是传统金融科技中的一部分。
另一方面是信息技术,包括:
算法算力的大幅度提升:A(Artificial Intelligence,人工智能)
用户的行为数据数字化的存储和挖掘基础:B(Big Data,大数据)
强大的资源服务共享能力:C(Cloud,云服务)
利用信息技术能力能够有效提升传统风险管理评分卡建模的效果。
2. 度小满信贷风险
在度小满信贷业务发展过程中,积累了大量数据和模型相关的实战经验。下面主要介绍关于信贷风险模型在度小满的实战经验。如何去识别信用风险,其核心关键点在于识别借款用户真实合理的资金需求以及评估用户是否拥有较好的还款意愿和能力,主要包括三个方面:
底层需要的是用户基础画像信息,主要包括用户的年龄、性别、学历、婚姻状况、职业、收入、消费能力、房车等资产以及相应的历史信用信息,金融相比于电商等领域对基础画像的准确度等更为严格,因其涉及了用户真实的还款能力。
中层为用户的基础行为需求模式,主要是用户当前资金端行为往往与前一段时间内的行为存在较大的相关性,通过这些行为可以预测用户的真实资金需求以及未来的还款表现。
顶层为用户的社会活动,即“物以类聚,人以群分”,通过关联网络中的聚集性发现欺诈团伙,同时可以发现与还款意愿差关系紧密的人逾期的风险更高,而与还款行为好的用户关系密切的人逾期风险相对较低。
核心而言,利用用户的基础画像、行为需求,外延到用户社会活动去挖掘用户是否有真实合理的资金需求,是否有较好的还款意愿和还款能力,从而建立区分度良好的风险模型。
3. 时间序列的处理:贷前
信贷业务通过用户授权获取征信报告,基于征信报告了解用户的信用历史,通过分析用户的行为时序来理解用户的真实现金流需求。
常见的征信查询包括信用卡审批、贷款审批等,此类查询表征了用户在该时刻的资金需求,通过征信报告中贷款发放情况匹配贷款查询申请时间,可以分析用户资金的用信行为。传统金融行业常利用诸如基于不同时间滑动窗口的加工逻辑方式去进行统计,包括过去一个月三个月、六个月、十二个月,二十四个月征信报告查询次数等、过去一个月、三个月贷款发放笔数等指标。
征信报告还包括用户的公司地址变更、公积金变更等信息,将上述信息基于时间轴进行划分,就可以对用户在一段时间内的信贷需求和用信情况进行刻画分析。我们利用深度神经网络去进行分析,通过记录时间点、该时间点的动作、该动作的类型以及该动作的多个特征值,将每一项信息转为Item作为输入提供给LSTM单元,获取该单元的输出同时又作为下一个时间序列的输入,不断学习从而获得更好的信息表达。
相比传统方案,基于这类机器学习的方案能够带来KS 2个点的提升。
4. 时间序列的处理:贷中
信贷贷中行为数据主要用于B卡的建模,在整个客户生命周期线上,用户存在不断借钱、还钱的循环往复行为。基于此,在每个动作发生的时间切片上,可以生成诸如总额度、剩余本金、本次动作类型、本次金额、距离下个还款日多少天、下个还款日应还金额、剩余日均应还金额、提前还款次数、逾期次数等特征,将这些特征组织成item,通过各类RNN网络能够显著提升B卡的能力。
5. 文本类数据处理
互联网行为数据除了结构化数据外,还存在许多非结构化数据,诸如文本类数据。传统金融的很多数据都是数值类的数据,类似收入水平等变量,这些数据一般具有置信度高、分辨率强的特点,而互联网数据则有数据规模大,数据杂乱,且分辨力较弱的特征。传统文本处理的方式一般对文本特征进行排序,构建全连接层深度网络DNN,这种处理方式强依赖于文本的顺序,会存在稀疏性、泛化能力弱等缺陷。我们参照Attention机制的核心思想,关注每个信息单元在整体中的重要度α,由于α是基于信息单元集合实时计算得到,依赖于Input但与Input的顺序无关, 所以特别适用于那些原本就没有顺序依赖关系的文本内容集合。基于此框架,该方案无需关注文本特征的顺序,这对于整个模型的特征处理逻辑上而言是非常友好的,通过不断提供新的数据,能够让模型网络更加灵活高效。
6. 关联网络
图在金融科技侧的应用十分广泛。对于图在度小满的落地应用,和传统构建图的方式相同,通过构建密集网络主要包括三个方面的输出:
为构建该网络的邻居属性,包括一度、二度、三度网络,这些网络都是可见的;
为对图网络的分群,利用节点之间的紧密型基于网络的分类去计算群内的相关参数特征信息;
为对图进行深度卷积神经网络,利用一度用户特征结合用户自身特征进行卷积,然后推广到二度、三度邻居信息,在此基础上构建全连接层进行有监督学习。
单一应用方向对识别信用风险可能较弱,但通过三种方式的组合,能够显著提升模型的风险识别能力。
1. 模型可解释性
信用风险的核心即构建一个二分类的模型,而可解释性是策略同学应用模型的一个重要诉求。一个可解释的模型主要有以下三个方面的特点:
该模型的函数表达简单,一般为逻辑回归;
输出特征X与预测Y变量强相关,符合普遍认知;
核心模型变量不需要特别多,一般不超过20个;
而常见的互联网金融模型方案为XGBoost,它的特点是模型非线性,特征规模大,解释性差。为了实现模型的高可解释性,我们常用的方案是将底层的高维变量按其来源进行分类,先利用复杂模型进行加工形成子模型特征,主要有以下几个方面:
利用用户的各类APP行为数据输出兴趣分、文化分等;
利用用户的大量支付消费数据输出收入分、消费分等;
利用用户的大量位置移动数据输出工作分、稳定分等;
利用用户的外部共债信息数据输出多头分、信用分等;
利用用户的详细征信报告数据输出信用分、负债分等;
利用用户的大量运营商数据输出欺诈分、信用分等;
基于上述多个子模型评分,再利用逻辑回归或简单决策树构建最终的模型。由于每个低维变量评分和人的认知接近,且与风险有很好的线性相关性,整个模型就有了很好的解释性。同时,对模型质量的监控也变得更加容易了。当模型出现问题时,可以很容易定位到可能出现问题的子模型分,然后再依据子模型评分去寻找对应的底层数据的异常。
2. 概率标准化
不同概率水平的样本进行训练,得到的模型预测均值差异较大,这对策略应用的同学带来很大挑战。基于此,我们需要对不同的模型修正对齐真实的不良率,具体步骤如下:
按预测值排序分段,如100段;
对每段的真实逾期率取logit;
对每段内的所有预测值取logit后求平均;
尝试一次或二次曲线拟合该散点图;
参考诸如FICO的评分方式进行转化信用评分。
经过上述标准化后,模型与样本数据集或样本不良率无关,模型的升级就对策略、业务同事更加透明。
3. 评分稳定性
评分稳定性包括分布稳定性、性能稳定性以及微观层面的稳定性三方面:
分布稳定性:指的是将用户评分分段排序后按月进行统计,符合正常的正态分布情况,各个分数段的人数占比各月较为稳定,即整个客群的质量未发生较为明显的变化;
性能稳定性:指的是将用户不良率分段排序后按月进行统计,能够满足各个分数段对应的人数不良率稳定;
单一用户评分的稳定性:若用户存在新的借款、放款行为,则未来贷款风险会提高;若用户还清所有贷款,余额为0,则未来一段时间内风险会降低。模型对于用户短期行为反应较为灵敏,虽然整体客群排序稳定,但对于单一具体用户而言,各月之间的评分波动较大,策略就会难以管理。从策略层面上而言,模型不论是整体还是局部方面,都希望其稳定性较高,以便于对用户的评价相对稳定,这样才能更好地进行客户管理。
新冠疫情是对业务、策略、模型一次很好的压力测试;以前面的用于评估稳定性的图示来看,主要表现在受疫情影响的多个时间窗口下绿色、黄色下沉,该图示包含了以下三个方面的信息:
模型风险预测的排序性可以继续保持(色阶图的颜色块顺序依然保持)
模型风险预测的稳定性变差(同样高度位置的颜色不一致了)
风险原先处于中间地带的客户,不良率上扬幅度最大。(中间地带的绿色变成了黄色(黄色的风险值>绿色))
疫情归根到底其实是对客户、风险模型、策略的一场考验。
2. 疫情对模型的影响和挑战
疫情并不会改变用户的特征X,但在疫情下同样X对应的Y,即风险水平则会显著上升。在实际业务场景中,我们观察到诸如多头类变量最为明显。有一些思考和探索供参考:
宏观环境的影响是否有特征变量可以表达?疫情必然对用户的收入会造成一定影响,那么是否有很灵敏的变量可以反映这部分信息?比如行职业、复工复产数据对收入进行修正?
未来模型训练的样本中,是否需要包含疫情下表现的样本?当前训练的样本为非疫情下的样本,随着时间推移样本的更新,模型就面临是否需要包含疫情期下表现的样本。,这块需要评估下疫情对整个金融环境的影响是否可逆,若疫情为短期,可以考虑直接跳过这些样本数据;若疫情为长期,则需要将疫情作为常态进入模型的训练中了;
当前模型应用中,策略如何基于疫情的发展进行修正?这需要模型和策略基于疫情发展的长期或短期性在实践中进行探索迭代。
1. 什么特征可以反映疫情下的宏观经济情况?
答:这是一个极为有挑战性的问题,在我们实际业务应用发展中,复工指数对整个资产模型的贡献度较高,其实际与用户的收入存在较为强的联系。从隐私的角度很难拿到用户的收入情况,在实际应用中,我们通过位置迁移来推测用户的复工状态。
2. 对比高维变量入模效果与分开计算模型效果?
答:高维变量入模和分开入模KS偏差幅度在0.5%左右,并不能说高维变量直接入模就一定好于分开入模,不同模型有±0.5的不同表现。从整体的角度来看,我们认为结果差距并不是特别大。高维变量入模缺点在于参数较多,对数据质量监控有一定的难度,发现问题较难且可解释性较差。
今天的分享就到这里,谢谢大家。
在文末分享、点赞、在看,给个3连击呗~
严澄
社群推荐:
关于我们:
DataFunTalk 专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100场线下沙龙、论坛及峰会,已邀请近600位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章300+,百万+阅读,9万+精准粉丝。
🧐分享、点赞、在看,给个3连击呗!👇