评分卡模型
模型
模型是策略的工具,策略包含模型,是模型的延伸
- 相较于专家规则,机器学习模型
- 允许加入更多特征维度,描述更加全面
- 上限更高、下限更低
- 涉及更多维度特征时,维护更方便
- 机器学习模型和专家规则并非相互替代,更多的是串联
- 相较于专家规则,机器学习模型
业务问题转换为带解决数学问题
- 尽量将业务问题转换为更容易解决分类问题而不是回归问题
- 数学问题应尽量贴近业务:评估指标好不等于业务价值高
- 远离业务问题的训练出模型,其线下评估效果好也不意味着上线效果好,如:针对客户而不是订单评价
- 影响客户体验,如:客户等待时间预估偏低而不是偏高
样本构造
- 标签定义
- 尽量为客观事实(是否、数量),而非主观判断(等级)
- 样本粒度贴合实际、业务(订单粒度、客户粒度)
- 样本数量
- 二分类场景:正例样本大于 2000,占比超过 1%
- 采样
- 尽量不进行人工采样,保持训练数据正、负例比例和真实情况对齐
- 标签定义
传统评分卡
评分卡 | 复杂学习 | |
---|---|---|
特征筛选 | 需筛选强特征,依赖业务经验 | 支持弱特征入模 |
特征处理 | WOE 分箱,稳定性好 | |
非线性 | 仅 WOE 分箱提供非线性,解释性好 | 非线性充分挖掘数据信息,解释性差 |
复杂度 | 模型简单,泛化性好,样本需求小 | 模型复杂,表达能力强,样本少时容易过拟合 |
调参 | 超参少 | 调参难度大 |
模型提升方向 | 分(样本)群建模 | Stacking 结合评分卡 |
信用评分卡模型:利用模型将账户的属性特征按取值分组、并赋予一定分数,对账户进行信用评分
- 最常见的金融风控手段之一,用于决定是否给予授信以及授信的额度和利率
- 常用逻辑回归作为模型
- 应用形式为查分组得分表、得分加和
- 变量总是被分组,同组内得分相同
- 用户属性变化不足以跨越箱边界,则得分不改变
评分卡更关注得分相对值,即得分变动情况,评分绝对值含义意义不大
- 常用 LR 中 sigmoid 函数内线性函数结果作为初始得分
- 根据 LR 意义,此时得分可以映射为账户的违约概率
- 为美观,可能会对得分做线性变换
- 常对各特征得分做放缩、对账户得分和做平移,此时放缩比例除以 $ln2$ 即为 PDO (对特征得分同时做等比例放缩、平移可行但蠢)
- 线性变换后得分绝对值无意义,特征重要性可用特征各分组得分差距衡量
- 常用 LR 中 sigmoid 函数内线性函数结果作为初始得分
评分卡在不同业务阶段体现的方式、功能不一样,按照借贷用户借贷时间可以分为
- 申请评分卡 Application Score Card:贷前申请评分卡
- 行为评分卡 Behavior Score Card:贷中行为评分卡
- 催收评分卡 Collection Score Card:贷后催收评分卡
Stacking 评分卡
- 考虑将评分卡、机器学习模型结合,使用机器学习模型构建特征,在此基础之上建立评分卡模型
Stacking 思想下的模型架构
- 原始数据域
- 数据挖掘、特征工程
- 数据域特征子模型
- 评分卡模型
架构优势
- 可解释性:保留在数据域粒度上的可解释性
- 信息提取:子模型提取弱特征信息,降低特征工程门槛
- 维度多样性:特征子模型机制,降低特征筛选必要性,保证各数据域都有特征入模
- 模块化:具有良好扩展性,支持子模型替换、删除
- 并行化:各数据域特征子模型专业、独立负责,提高效率
架构劣势
- 牺牲部分可解释性:若策略、模型使用相同变量,策略阈值调整对模型影响难以估计
- 控制入模变量数目,便于快速定位
- 利用 SHAP、LIME 等工具解释模型
- 增加上线、维护成本:需要上线多个模型,且对多个架构多个层次都进行监控
- 协同建模增加对接成本
- 分数据域特征子模型建模,容易造成数据孤岛,无法捕捉不同数据域间的数据联系
- 跨数据域构造特征,构建跨数据域子模型
- 牺牲部分可解释性:若策略、模型使用相同变量,策略阈值调整对模型影响难以估计
B 卡 - Behavior Scoring
贷中风控:根据借款人放贷后行为表现,预测未来逾期风险
B 卡用于动态监控放款后风险变化
- 贷前阶段对借款人履约行为掌握少,且为静态数据
- 一般无需实时,离线T+1计算即可
B 卡适合的信贷场景
- 还款周期长
- 长周期场景用户风险变化可能性大,与 A 卡形成区分
- 引入贷中客户信息、还款履约行为,更准确识别客户逾期风险
- 循环授信
- 贷前阶段,无法很好识别客户风险,设置初始额度
- 贷中与客户更多交互之后,可根据获取的贷中行为信息进行提额、降额操作
- 还款周期长
B 卡区分度一般很高
- 除贷前数据之外,还可以使用账户的贷中表现数据
- 特别的,不考虑排序性的情况下,使用是否逾期作为划分依据也能得到较高的 TPR-FPR,给出 KS 的下限
B 卡建模主要基于老客
- 老客有足够长的申贷、还款记录
- 新、老客定义口径
- 新客:无历史结清订单
- 老客:至少有1笔结清订单
C 卡 - Collection Scoring
贷后催收评分卡:当前状态为逾期情况下,预测未来出催可能性
现阶段业界对 C 卡不够重视
- 贷前风控最重要,优秀的贷前带来更容易的贷中、贷后
- 催收效果和人员更相关,而逾期发生之后往往会委外
- 随信贷行业的发展,贷后催收会趋向于精细化、专业化的发展,模型+策略的优化愈发重要
模型分群
- 新老入催用户
- 首次入催
- 再次入催
- MOB 信息(数据厚薄)
- 还款月份数
- 催记月份数
- 订单详情
- 利率
- 期限
- 金额
- 新老入催用户
样本选择
建模样本窗口选择
- 特征覆盖度:保证数据厚薄程度相同
- 催收动作变化:出催没有大幅度变动
- 客群变化:入催没有大幅变动
同用户订单合案
- 不合案:同用户多笔订单视为不同样本
- 表现期内入催当期结清视为出催
- 合案:同用户相近观察点入催订单合并
- 表现期内入催当期所有账单还清视为出催
- 对发生过 M2+ 逾期者,可将只要出催一期即视为出催
- 不合案:同用户多笔订单视为不同样本
C 卡模型
- 根据模型作用时间段分类
M1 全量模型:预测 M1 阶段(逾期 30 天内)还款概率
- 样本:所有入催样本整体
- 若缓催期内催出用户较多,则模型主要学习了缓催样本信息,约等于缓催响应模型,对非缓催样本效果较差
- 时间窗口
- 观察点:还款日
- 表现期:M1 阶段
- 样本:所有入催样本整体
缓催响应模型:预测适合缓催人群
- 样本:需要积累足够的缓催响应样本
- 若有足够缓催响应样本,可以和M1全量模型同时构建
- 否则,在 M1 全量模型得分高(出催概率高)人群上进行 AB Test,积累缓催响应样本
- 时间窗口
- 观察点:还款日
- 表现期:缓催响应日(2-3 天)
- 样本:需要积累足够的缓催响应样本
贷后 N 天流转模型:预测贷后N天后的还款概率
- 样本:缓催内未出催样本
- 去除缓催样本影响,更多学习缓催期外出催样本信息
- 优先对催出概率高的人群进行催收,提高出催概率
- 时间窗口
- 观察点:还款日(逾期)后 N 天
- 表现期:至下个流转模型观察点、逾期阶段结束时间点
- 样本:缓催内未出催样本
M2+ 模型:预测 M2+ 阶段的还款概率(类似贷后流转模型)
- 样本:M1 阶段未出催样本
- 时间窗口
- 观察点:M2 阶段起始
- 表现期:至下个流转模型观察点、逾期阶段结束时间点
模型应用方法
缓催响应人群确定
- 交叉 M1 模型、缓催响应模型,根据模型交叉结果设置阈值
- 根据阈值筛选缓催响应人群
- 限定缓催期(2-3 天),将缓催响应样本分为人工催收、缓催两组,观察两组在缓催期限内出催率变化
- 若出催率相同,则认为缓催响应人群分析方法可行,对缓催响应人群可采取缓催策略
- 若出催率相差较大,则调整缓催响应人群分析方法
- 缓催模型响应时间(缓催期)可根据响应时间段内的出催率变化设置
模型搭建策略
- M1 阶段出催概率较大,在M1阶段会设计多个细分模型
- 至少:M1 阶段全量模型
- 缓催样本足够
- 缓催响应模型
- 贷后 N 天流转模型
- 精细化管理:多个不同时间窗口的贷后流转模型
- M2+ 阶段根据样本量、精细化程度设置适量模型
- M1 阶段出催概率较大,在M1阶段会设计多个细分模型
开发流程标准化
- 风控模型开发流程标准化意义
- 提高建模效率:可批量快速生产模型,提高效率
- 帮助理解指标逻辑、业务含义,利于调试优化
- 流程规范约束
- 统一建模流程,减少出错概率、便于问题回溯
- 统一命名方式,便于汇总文档
数据预处理
特征编码
特征离散化
WOE 编码特征
- WOE 曲线应符合业务逻辑(一般单调),并且经过跨时间 窗口验证,否则应该调整
- LR 模型中特征权重应该全为正值,否则
- 同数据 WOE 值体现的逻辑相违背
- 负值权重特征存在较严重共线性
one-hot 编码特征
- 同特征下个分箱单独作为独立变量取值
- 权重灵活性更大,模型效果可能较好
- 变量数量多,需要样本数量大,模型效果可能较差(随机解法)
- 各特征分箱之间无联系,难以通过模型剔除某个变量
- 同特征下个分箱单独作为独立变量取值
样本赋权
- 样本赋权:充分利用所有样本的信息,避免样本有偏
- 按样本距今时间赋权,近期样本高权重
- 按业务特性赋权,不同额度、利率、期限不同权重
- 按账户类型赋权
拒绝推断
- Reject Inference 拒绝推断:避免样本偏差导致模型估计过于乐观
Exploratory Data Analysis
风控领域样本较少,一般按月粒度观察,即将样本按月分组为 vintage 进行分析,探索、评估数据
- 稳定性
- 信息量
- 信息重复/相关性
实操中可逐阶段设置多组阈值,分布进行变量探索、筛选
- 多组阈值逐步剔除能尽可能保留高信息量特征
- 避免相关性、RF 特征重要度等 非单变量指标 剔除过多特征
模型评估
有效性/区分度
- GINI 指数
- KS 值
- 坏样本率:组内、累计
- 提升度 = 召回样本坏样本率 / 全部样本坏样本率
- odds = 坏样本率 / 好样本率
排序性
- AUC 值/ROC 曲线
稳定性
- PSI
- 各 Vintage 内坏占比、Lift 值、odds 等指标稳定性
模型得分展示表
- 箱内样本数
- 好、坏样本数
- 箱内坏样本、比例
- 累计好、坏样本
- 累计好、坏样本比例:TPR、FPR、TPR-FPR
- 累计通过率、坏样本比例
模型应用
Calibration 模型校准
- 一致性校准:将模型预测概率校准到真实概率
- 尺度变换:将风险概率转换为整数分数
导出得分
原始得分
- one-hot 编码:LR 模型系数
- WOE 编码:LR 模型系数(权重)、WOE 值之积
常对各特征得分做放缩、对账户得分和做平移
- PDO:违约翻倍得分
- 用于缩放原始得分
- 得分按 $\frac {PDO} {ln2}$ 缩放后,得分减少 $PDO$ 分,用户违约 odds 翻倍,缺省即 $ln2$
- 账户得分总和平移则仅仅是为了美观
- 对特征得分同时做等比例放缩、平移可行但蠢
- PDO:违约翻倍得分