1. 课程导论:为什么金融特征缺失与PSI是风控模型的生命线?
1.1 风控模型的“隐形杀手”
在金融风控领域,一个模型从开发到上线,再到持续监控,始终面临两大核心威胁:数据质量塌陷与客群分布漂移。特征缺失与PSI(群体稳定性指标)正是衡量这两大威胁的“生命线仪表盘”。
核心观点: 一个在训练集上AUC达到0.85的模型,如果上线后特征缺失率从2%飙升至20%,或者PSI超过0.25,其实际区分能力可能瞬间跌至0.6以下,直接导致信贷损失激增。
特征缺失不仅仅是“数据没填”那么简单。在金融场景中,缺失往往携带信息:
- 非随机缺失(MNAR): 高风险用户故意不填写收入、职业信息,缺失本身就是一个强风险信号。
- 系统故障缺失: 数据源接口升级、字段映射错误,导致整批特征为空,引发模型“空跑”。
- 业务逻辑缺失: 新用户无历史信贷记录,导致“征信查询次数”等特征为空。
而PSI则监控模型评分或特征分布的长期稳定性。一旦PSI超过阈值,意味着模型赖以生存的客群画像已经改变,模型需要紧急校准或重构。
1.2 缺失与PSI:模型生命周期的“双轨监控”
下表清晰展示了特征缺失巡检与PSI稳定性分析在模型生命周期中的不同定位与互补关系:
| 监控维度 | 特征缺失巡检 | PSI稳定性分析 |
|---|---|---|
| 监控对象 | 单个特征的缺失率、缺失模式 | 模型评分或特征的分布偏移 |
| 核心指标 | 缺失率、缺失类型(MCAR/MAR/MNAR) | PSI值、分箱占比变化 |
| 预警阈值 | 缺失率 > 5% 或 > 20%(视特征重要性) | PSI < 0.1(稳定);0.1-0.25(需关注);> 0.25(需干预) |
| 主要风险 | 模型输入为空,导致评分失效或偏差 | 模型区分能力下降,客群排序错乱 |
| 修复手段 | 填充、剔除、重映射、数据源修复 | 模型校准、特征重构、重新训练 |
| 监控频率 | 每日/每周 | 每周/每月 |
实战经验: 在头部消金公司的监控体系中,特征缺失巡检是“日频”操作,PSI分析是“周频”操作。两者结合,构成了从数据输入到模型输出的全链路风控健康度监控。
1.3 课程目标与学习路径
本课程旨在帮助风控建模与数据治理人员,建立一套从数据探查 → 缺失处理 → 分布监控 → 预警响应的完整实战能力。你将学会:
- 诊断: 使用Python(Pandas/NumPy)快速计算特征缺失率,并识别缺失模式(MCAR/MAR/MNAR)。
- 治理: 针对不同缺失类型,制定填充策略(均值/中位数/模型预测/业务规则)。
- 监控: 编写PSI计算函数,对模型评分与连续特征进行分箱稳定性评估。
- 预警: 设定动态阈值,当缺失率或PSI异常时,自动触发告警与报表。
- 归因: 结合业务日志与数据血缘,定位缺失与漂移的根因。
下图展示了本课程的核心知识体系与学习路径:
1.4 为什么这是风控模型的生命线?
用一个真实案例来说明:某持牌消费金融公司,其线上信用贷模型在2023年Q2突然出现坏账率上升。初步排查发现:
- 特征缺失率: 核心特征“公积金缴纳基数”缺失率从3%飙升至35%,原因是合作数据源接口升级后,字段名映射错误。
- PSI异常: 模型评分PSI达到0.31,远高于0.25的预警线。进一步分析发现,缺失导致模型自动填充为0,使得大量中低收入客群被错误地评为高分,从而放大了风险敞口。
教训: 如果缺失巡检与PSI监控能及时触发告警,该机构本可以在一周内发现并修复数据源问题,避免数千万的坏账损失。缺失与PSI,就是风控模型的“血压计”和“心电图”,必须持续监测。
1.5 学习路径与前置要求
本课程适合具备以下基础的学员:
| 前置技能 | 要求程度 | 说明 |
|---|---|---|
| Python基础 | 熟练 | 能使用Pandas进行DataFrame操作,理解基本的数据类型与函数 |
| 风控建模基础 | 了解 | 理解评分卡、逻辑回归、AUC、KS等基本概念 |
| 统计学基础 | 了解 | 理解分布、均值、方差、假设检验等概念 |
| SQL基础 | 了解 | 能进行简单的数据查询与聚合 |
课程将按照以下路径展开:
- 第1-3章: 基础概念与工具准备(缺失机制、PSI原理、Python环境搭建)。
- 第4-8章: 特征缺失巡检实战(缺失率计算、缺失模式诊断、填充策略对比)。
- 第9-15章: PSI稳定性分析实战(分箱方法、PSI计算、阈值设定、多维度监控)。
- 第16-20章: 自动化监控体系搭建(定时任务、告警推送、报表可视化)。
- 第21-25章: 根因分析与数据治理(数据血缘、日志回溯、修复流程)。
- 第26-30章: 综合案例与最佳实践(从零搭建监控体系、异常处理SOP)。
学习建议: 每章都配有可运行的代码示例与数据集。建议你在本地Jupyter Notebook中边学边练,将监控逻辑直接复用到自己的项目中。