4. 模型稳定性分析:群体稳定性指标(PSI)计算、特征稳定性分析、模型分数分布漂移检测
模型稳定性是额度定价PD模型上线后持续监控的核心环节。一个在训练集上表现优异的模型,如果分数分布随时间发生显著漂移,将直接导致排序能力下降、坏账率偏离预期。本章系统讲解群体稳定性指标(PSI)的计算与解读、特征级别的稳定性分析,以及分数分布漂移的检测方法。
4.1 群体稳定性指标(PSI)计算
PSI(Population Stability Index)衡量模型评分在时间维度上的分布变化,是风控模型监控最常用的量化指标。其计算公式基于信息论中的KL散度变体:
PSI = Σ (Actual_i - Expected_i) × ln(Actual_i / Expected_i)
其中:
- Expected_i:基准期(如建模样本)第 i 个分数区间的样本占比
- Actual_i:监控期(如当前月份)第 i 个分数区间的样本占比
- 通常将分数划分为10~20个等宽区间
- PSI < 0.10:模型稳定,无需干预
- 0.10 ≤ PSI < 0.25:轻度漂移,需排查原因
- PSI ≥ 0.25:严重漂移,必须重新开发或校准模型
以下是一个PSI计算示例表(假设分数分为5个区间):
| 分数区间 | 基准期占比(%) | 监控期占比(%) | 占比差 | ln(监控/基准) | 区间PSI |
|---|---|---|---|---|---|
| 300-400 | 10.0 | 15.0 | +5.0 | 0.405 | 0.0203 |
| 400-500 | 25.0 | 30.0 | +5.0 | 0.182 | 0.0091 |
| 500-600 | 35.0 | 32.0 | -3.0 | -0.090 | 0.0027 |
| 600-700 | 20.0 | 18.0 | -2.0 | -0.105 | 0.0021 |
| 700-800 | 10.0 | 5.0 | -5.0 | -0.693 | 0.0347 |
| 合计 | 100.0 | 100.0 | — | — | 0.0689 |
上例PSI=0.0689 < 0.10,模型整体稳定。但需注意,即使整体PSI合格,某些分数区间仍可能出现局部漂移,需结合特征稳定性分析进一步排查。
4.2 特征稳定性分析
特征稳定性分析是PSI的向下拆解——当模型分数发生漂移时,需要定位是哪些输入特征发生了变化。常用方法包括特征PSI计算和特征分布对比。
4.2.1 特征PSI计算
对每个入模特征,按照与分数PSI相同的方法计算特征值分布的PSI。重点关注以下特征:
- 连续型特征:按分位数或等宽分箱后计算PSI
- 离散型特征:按类别直接计算占比变化
- WOE转换后特征:直接对WOE值分箱计算PSI
- 计算每个入模特征的PSI,标记PSI > 0.10的特征
- 对标记特征绘制基准期vs监控期的分布对比图
- 检查特征取值是否出现新类别或缺失率突变
- 结合业务判断:是客群结构变化还是数据采集问题
- 若多个特征同时漂移,评估是否需要重新训练模型
4.2.2 特征稳定性监控矩阵
| 特征名称 | 特征类型 | 基准期均值 | 监控期均值 | 特征PSI | 稳定性判定 |
|---|---|---|---|---|---|
| 收入负债比 | 连续 | 0.35 | 0.38 | 0.04 | 稳定 |
| 近6月查询次数 | 连续 | 8.2 | 12.5 | 0.31 | 严重漂移 |
| 学历等级 | 离散 | 2.1 | 2.0 | 0.02 | 稳定 |
| 历史逾期天数 | 连续 | 15.3 | 22.7 | 0.18 | 轻度漂移 |
4.3 模型分数分布漂移检测
除了PSI这种全局指标,还需要从统计检验和可视化角度检测分数分布的漂移。常用方法包括KS检验、分位数对比和密度图对比。
4.3.1 KS检验
双样本KS检验用于判断基准期和监控期的分数分布是否来自同一分布:
from scipy.stats import ks_2samp
# 假设 baseline_scores 和 monitor_scores 为两个时期的分数数组
stat, p_value = ks_2samp(baseline_scores, monitor_scores)
# 判定标准
if p_value < 0.05:
print("分布存在显著差异(p={:.4f})".format(p_value))
else:
print("分布无显著差异(p={:.4f})".format(p_value))
4.3.2 分位数漂移检测
通过对比基准期和监控期在各分位点上的分数变化,可以直观判断漂移的方向和幅度:
| 分位点 | 基准期分数 | 监控期分数 | 分数变化 | 变化方向 |
|---|---|---|---|---|
| 5% | 320 | 305 | -15 | 低分段下移 |
| 25% | 450 | 440 | -10 | 整体左移 |
| 50% | 560 | 545 | -15 | 中位数下降 |
| 75% | 670 | 660 | -10 | 高分区间下移 |
| 95% | 780 | 770 | -10 | 高分区间下移 |
上例显示所有分位点分数均下降,说明模型整体评分趋于保守,可能原因包括客群质量恶化或特征分布系统性偏移。
4.4 模型稳定性分析流程
以下SVG图展示了从数据采集到决策输出的完整稳定性分析流程:
4.5 漂移检测的常见原因与应对策略
当检测到模型分数分布漂移时,需要从以下维度排查根因:
| 漂移类型 | 常见原因 | 应对策略 |
|---|---|---|
| 客群结构变化 | 获客渠道调整、市场政策变化、季节性因素 | 重新校准模型或分客群建模 |
| 特征数据质量 | 数据源变更、采集逻辑错误、缺失率上升 | 修复数据管道,重新特征工程 |
| 宏观经济冲击 | 利率调整、失业率上升、行业监管变化 | 引入宏观因子,调整定价策略 |
| 模型自身退化 | 过拟合导致泛化能力下降、变量失效 | 模型迭代开发,替换失效变量 |
- 建立月度PSI监控看板,设置红黄绿灯预警
- 每次模型上线前记录基准分布快照
- 特征稳定性分析应覆盖所有入模变量,而非仅关注分数PSI
- 漂移检测结果需与业务团队对齐,避免纯统计误判
4.6 稳定性监控报告模板
以下是一个标准化的月度稳定性监控报告结构,可直接用于实际工作:
# 模型稳定性月度监控报告
## 1. 总体概览
- 模型名称:PD_v3.2
- 监控周期:2025-03
- 基准周期:2024-12
- 整体PSI:0.0689(稳定)
## 2. 分数分布对比
- 基准期均值:562.3
- 监控期均值:548.7
- KS检验p值:0.032(显著差异,但PSI在阈值内)
## 3. 特征稳定性TOP5
| 特征 | PSI | 状态 |
|------|-----|------|
| 近6月查询次数 | 0.31 | 严重漂移 |
| 历史逾期天数 | 0.18 | 轻度漂移 |
| 收入负债比 | 0.04 | 稳定 |
| ... | ... | ... |
## 4. 结论与建议
- 整体模型稳定,但近6月查询次数特征出现严重漂移
- 建议排查数据源是否变更,评估是否需要特征替换
通过系统化的PSI计算、特征稳定性分析和分数分布漂移检测,可以确保额度定价PD模型在持续运行中保持可靠的排序能力和风险区分度,为后续的定价策略调整提供坚实的数据基础。