最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

度小满金融大数据风控模型实践

  • 2020-12-11
  • 本文字数:4118 字

    阅读完需:约 14 分钟

度小满金融大数据风控模型实践

导读:金融是 AI 赋能传统行业的重要赛道。本次分享的主要内容为金融大数据风控模型在度小满金融的实践。主要介绍金融大数据风控模型的主要技术方法与在应用层面的主要问题,并结合新冠疫情背景下,探讨下风控模型的发展。


金融大数据风控模型的技术方法


1. 风险管理中的金融科技



风险管理中的金融科技主要包括两个方面:


一方面是传统金融的风险管理,包括:


  • 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,则未来一段时间内风险会降低。模型对于用户短期行为反应较为灵敏,虽然整体客群排序稳定,但对于单一具体用户而言,各月之间的评分波动较大,策略就会难以管理。从策略层面上而言,模型不论是整体还是局部方面,都希望其稳定性较高,以便于对用户的评价相对稳定,这样才能更好地进行客户管理。


新冠疫情背景下,风控模型的一些探讨


1. 疫情影响



新冠疫情是对业务、策略、模型一次很好的压力测试;以前面的用于评估稳定性的图示来看,主要表现在受疫情影响的多个时间窗口下绿色、黄色下沉,该图示包含了以下三个方面的信息:


  • 模型风险预测的排序性可以继续保持(色阶图的颜色块顺序依然保持)

  • 模型风险预测的稳定性变差(同样高度位置的颜色不一致了)

  • 风险原先处于中间地带的客户,不良率上扬幅度最大。(中间地带的绿色变成了黄色(黄色的风险值>绿色))


疫情归根到底其实是对客户、风险模型、策略的一场考验。


2. 疫情对模型的影响和挑战



疫情并不会改变用户的特征 X,但在疫情下同样 X 对应的 Y,即风险水平则会显著上升。在实际业务场景中,我们观察到诸如多头类变量最为明显。有一些思考和探索供参考:


  • 宏观环境的影响是否有特征变量可以表达?疫情必然对用户的收入会造成一定影响,那么是否有很灵敏的变量可以反映这部分信息?比如行职业、复工复产数据对收入进行修正?

  • 未来模型训练的样本中,是否需要包含疫情下表现的样本?当前训练的样本为非疫情下的样本,随着时间推移样本的更新,模型就面临是否需要包含疫情期下表现的样本。,这块需要评估下疫情对整个金融环境的影响是否可逆,若疫情为短期,可以考虑直接跳过这些样本数据;若疫情为长期,则需要将疫情作为常态进入模型的训练中了;

  • 当前模型应用中,策略如何基于疫情的发展进行修正?这需要模型和策略基于疫情发展的长期或短期性在实践中进行探索迭代。


问答环节


1. 什么特征可以反映疫情下的宏观经济情况?


答:这是一个极为有挑战性的问题,在我们实际业务应用发展中,复工指数对整个资产模型的贡献度较高,其实际与用户的收入存在较为强的联系。从隐私的角度很难拿到用户的收入情况,在实际应用中,我们通过位置迁移来推测用户的复工状态。


2. 对比高维变量入模效果与分开计算模型效果?


答:高维变量入模和分开入模 KS 偏差幅度在 0.5%左右,并不能说高维变量直接入模就一定好于分开入模,不同模型有±0.5 的不同表现。从整体的角度来看,我们认为结果差距并不是特别大。高维变量入模缺点在于参数较多,对数据质量监控有一定的难度,发现问题较难且可解释性较差。


本文转载自: [DataFunTalk](ID:datafuntalk)


原文链接:度小满金融大数据风控模型实践


2020-12-11 16:005927

评论

发布
暂无评论
发现更多内容

2023年互联网Java面试题最新整理附答案

架构师之道

Java 面试

围绕应用的云原生转型建设

穿过生命散发芬芳

云原生 三周年连更

面试不再慌!苦学这份2023最全的Java性能优化实战笔记,已涨17k

Java你猿哥

Java 面试 JVM 多线程 Java性能优化

字节速通!这份软件测试八股文还怕不能拿offer?你值得拥有

Java你猿哥

MySQL 面试 软件测试 计算机 八股文

MySQL深分页问题原理与三种解决方案

做梦都在改BUG

Java MySQL 数据库

一文了解获得 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

西柚子

程序员如何应对失业? | 社区征文

石云升

职业规划 三周年征文 三周年连更

为什么《魂斗罗》只有128KB却可以实现那么长的剧情?

Java你猿哥

Java 编程 程序员 汇编语言 优化技术

MATLAB与Simulink

袁袁袁袁满

三周年连更

SpringBoot核心配置全面总结

小小怪下士

Java 程序员 后端 springboot

Redis数据类型及底层大剖析

做梦都在改BUG

Java 数据库 redis 缓存

https和http有什么区别?

海拥(haiyong.site)

三周年连更

Alibaba内网“疯狂”传阅的P8开源出的SpringBoot入门到进阶小册

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

程序性能提高了5倍!开源阿里500页的Java程序优化笔记

Java你猿哥

Java 面试 性能优化 Java虚拟机 Java性能优化

我懵了,如果要存 IP 地址,用什么数据类型比较好?

Java你猿哥

Java MySQL 数据库 ssm IP

分布式事务的21种武器 - 4

俞凡

架构 云原生

分布式事务的21种武器 - 5

俞凡

架构 云原生

基于Alpine制作Tomcat的Docker镜像

清康

面试官:一千万的数据,你是怎么查询的?

做梦都在改BUG

自动化与DevOps

阿泽🧸

自动化 三周年连更

什么是 Intelligence Enterprise 的 Business network?

Jerry Wang

人工智能 机器学习 数字化转型 三周年连更

Python的常见数据结构

timerring

Python

MySQL面试八股文:索引篇

Java你猿哥

Java MySQL ssm 索引 八股文

Java面试题大全(2023最新版)大厂面试题附答案详解

采菊东篱下

Java 面试

变量,常量以及与其他语言的差异

乌龟哥哥

三周年连更

速通字节!阿里p8耗时6个月打造的java面试手册,看到直呼“面试有手就行”

Java你猿哥

Java spring 微服务 JVM 多线程

太强了!牛客网开源1240页字节算法实录,无意中掀起GitHub刷题热潮

做梦都在改BUG

Java 数据结构 算法 LeetCode

声网 Token 鉴权机制,以及常见的问题

声网

Bash脚本中的Sleep命令到底有何妙用?

wljslmz

三周年连更

Java8 lambda 表达式 forEach 如何提前终止?

Java你猿哥

Java ssm java8 foreach

运行第一个程序Hello world

鸿蒙之旅

OpenHarmony 三周年连更

度小满金融大数据风控模型实践_大数据_DataFunTalk_InfoQ精选文章