面试题精选 | 风控建模流程、分箱法的目的及第三方数据评估!
问题1:分箱后,各箱badrate单调递增从业务上怎么理解呀?
我们有个先验知识,多头越多badrate越大,历史逾期越多badrate越大...等等,如果变量分箱后不符合这个先验,可能就把他剃掉了。
Bad Rate:
坏样本率,指的是将特征进行分箱之后,每个bin下的样本所统计得到的坏样本率
bad rate 单调性与不同的特征场景:
在评分卡模型中,对于比较严格的评分模型,会要求连续性变量和有序性的变量在经过分箱后需要保证bad rate的单调性。
- 连续性变量:
在严格的评分卡模型中,对于连续型变量就需要满足分箱后 所有的bin的 bad rate 要满足单调性,只有满足单调新的情况下,才能进行后续的WOE编码
- 离散型变量:
离散化程度高,且无序的变量:
比如省份,职业等,我们会根据每个省份信息统计得到bad rate 数值对原始省份信息进行编码,这样就转化为了连续性变 量,进行后续的分箱操作,对于经过bad rate编码后的特征数据,天然单调。
只有当分箱后的所有的bin的bad rate 呈现单调性,才可以进行下一步的WOE编码
离散化程度低,且无序的变量:
比如婚姻状况,只有四五个状态值,因此就不需要专门进行bad rate数值编码,只要求出每个离散值对应的bin的bad rate比例是否出现0或者1的情况,若出现说明正负样本的分布存在极端情况,需要对该bin与其他bin进行合并, 合并过程完了之后 就可以直接进行后续的WOE编码
有序的离散变量:
对于学历这种情况,存在着小学,初中,高中,本科,硕士,博士等几种情况,而且从业务角度来说 这些离散值是有序的, 因此我们在分箱的时候,必须保证bin之间的有序性,再根据bad rate 是否为0 或者1的情况 决定是否进行合并,最终将合并的结果进行WOE编码
因此bad rate单调性只在连续性数值变量和有序性离散变量分箱的过程中会考虑。
bad rate要求单调性的原因分析:
逻辑回归模型本身不要求特征对目标变量的单调性。之所以要求分箱后单调,主要是从业务角度考虑,解释、使用起来方便一点。如果有某个(分箱后的)特征对目标变量不单调,会加剧模型解释型的复杂化
对于像年龄这种特征,其对目标变量往往是一个U型或倒U型的分布,有些公司/部门/团队是允许变量的bad rate呈(倒)U型的。
原文链接:https://blog.csdn.net/shenxiaoming77/article/details/79548807
文末免费送电子书:七月在线干货组最新 升级的《2021最新大厂AI面试题》免费送!
问题3:如何评估外部第三方数据?
对于一个放款机构来说,当自有数据不足以满足风控需求时,会引入外部的第三方数据来提升自己的风控水平,所以该如何评估新的数据源是否可用呢?本篇文章会围绕这个问题进行详细讲解,主要分为线下数据评估,线上数据测试,线上数据监控三个部分。
一. 线下数据评估
这里我会按线下数据评估的流程,结合自己平时的工作经验来写。
接入外部数据的目的
首先,外部的数据源可以大致分为四类:黑名单类,评分类,变量类,原始数据类
外部数据的接入一开始主要由商务跟第三方进行接洽沟通,所以风控人员应该把接入数据的目的传达给商务,商务才能根据目的找到合适的第三方数据公司。一般有以下几个目的:
- 用于优化现有的模型,一般会考虑接入变量类和原始数据类
- 用来设计策略,一般会接入黑名单类,评分类的数据
- 丰富用户画像的维度,这种数据能反映用户的某些属性,一般考虑原始数据类
2.提供线下测试样本
根据接入目的的不同,测试样本也会稍有差异,比如为了优化现有模型,就最好提供建模时所用的数据样本。但大致上测试样本需满足以下几点:
- 连续一段时间内的样本,可以评估数据的稳定性
- 最好是近段时间的样本,这样线下评估结果与线上实际效果差距不会太大
- 其他特殊条件,如覆盖不同的产品和客群
- 另外考虑到第三方那测试的成本,样本能测试的数量,能测试几次,这点需要商务那边去沟通好。
3.了解数据含义和构成
一般第三方会返回数据的详细产品报告,风控人员从中需要了解数据的底层逻辑和构成,了解数据背后的业务含义,这方面可以和第三方的人员进行不断的沟通。
4.数据分析评估
线下的数据评估一般会考量以下几个方面:
**查得率,**就是提供的样本在第三方那能命中多少用户
**覆盖率,**一般指的是特征的缺失概率
**稀疏性,**代表数据富含信息的程度
**稳定性,**一般计算时间序列上的PSI
**有效性,**好坏样本的区分程度,IV和KS比较常用,也可以把特征带入模型,评估对模型的提升效果
**可解释性,**数据的业务含义是否容易解释
**与现有数据的共线性,**一般用相关系数衡量
数据的接入成本,这个需要考虑到接入数据后,增加的利润能不能覆盖掉支出的数据成本
另外不同种类的数据源考量的东西也不一样:
黑名单类一般用在反欺诈环节,所以主要考虑到“命中率“和”准确率“,即命中的用户逾期概率比较高。
评分类一般用作策略和模型,主要考量“缺失率”,“稳定性”,“有效性”,如果评分的排序性好且IV比较高,则考虑入模,如果评分有明显的尾部极端优势,那适合做策略,用来拦截掉极端的坏用户。
变量类考量的东西和评分类差不多,但会考虑到变量和现有数据的共线性,以及在效果上的重叠性。
原始数据一般是爬虫类的数据,目前在监管趋严的情况下,数据的合规性是首先要考虑的,另外原始数据需要在特征衍生之后才能评估数据的价值。
二. 线上数据测试
因为线下评估用的数据是线上回溯的历史数据,而在实际情况中,线上与线下的数据存在一定差异,并且客群和市场环境也在不断变化,所以需要线上数据测试来评估外部数据在真实应用中的效果。笔者在工作中用到的主要是模拟测试和切分流量的AB-Test。
- 模拟线上测试
将接入的数据配置成策略,放在真实环境中“试运行”,记录每天的数据分布,通过率等指标,将线上与线下的结果进行比对是否一致。
- AB-Test
当策略试运行的结果还不错时,可以将一部分的流量(用户)切到新策略中,将现有策略和新策略进行比较,计算策略的通过率,准确率等。
三. 线上数据监控
当外部数据上线之后,需要有一套标准的数据监控体系,观察数据的变化,及时发现异常问题。监控的东西主要有接口的调用情况,数据的覆盖率,稳定性等。
解析参考链接:https://www.zhihu.com/people/yu-xin-xin-57/posts
问题4:简单描述一下风控建模的流程?
前期准备工作:不同的模型针对不同的业务场景,在建模项目开始前需要对业务的逻辑和需求有清晰的理解,明确好模型的作用,项目周期时间和安排进度,以及模型效果的要求。
模型设计:包括模型的选择(评分卡还是集成模型),单个模型还是做模型的细分,是否需要做拒绝推论,观察期,表现期的定义,好坏用户的定义,数据的获取途径等都要确定好。
数据拉取及清洗:根据观察期和表现期的定义从数据池中取数,并进行前期的数据清洗和稳定性验证工作,数据清洗包括用户唯一性检查,缺失值检查,异常值检查等。稳定性验证主要考察变量在时间序列上的稳定性,衡量的指标有PSI,平均值/方差,IV等。
特征工程:主要做特征的预处理和筛选,如果是评分卡,需要对特征进行离散化,归一化等处理,再对特征进行降维,降维的方法有IV筛选,相关性筛选,显著性筛选等。另外会基于对业务的深入理解做特征构造工作,包括特征交叉,特征转换,对特征进行四则运算等。
模型建立和评估:选择合适的模型,像评分卡用逻辑回归,只需要做出二分类预测可以选择xgboost等集成模型,模型建好后需要做模型评估,计算AUC,KS,并对模型做交叉验证来评估泛化能力及模型的稳定性。
模型上线部署:在风控后台上配置模型规则,对于一些复杂的模型还得需要将模型文件进行转换,并封装成一个类,用Java等其他形式来调用。
模型监控:前期主要监控模型整体及变量的稳定性,衡量标准主要是PSI,并每日观察模型规则的拒绝率与线下的差异。后期积累一定线上用户后可评估线上模型的AUC,KS,与线下进行比较,衡量模型的线上的实际效果。
持续无限期更新大厂最新面试题,AI干货资料,目前干货组汇总了今年3月-6月份,各大厂面试题。