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阈值经验规则:
  • 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
特征稳定性排查清单:
  1. 计算每个入模特征的PSI,标记PSI > 0.10的特征
  2. 对标记特征绘制基准期vs监控期的分布对比图
  3. 检查特征取值是否出现新类别或缺失率突变
  4. 结合业务判断:是客群结构变化还是数据采集问题
  5. 若多个特征同时漂移,评估是否需要重新训练模型

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))
注意:KS检验对样本量敏感。当样本量很大(如百万级)时,即使分布差异很小,p值也可能显著。此时应结合PSI和业务可接受阈值综合判断,而非仅依赖统计显著性。

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图展示了从数据采集到决策输出的完整稳定性分析流程:

模型稳定性分析流程图 模型稳定性分析流程 ① 数据采集与对齐 ② 模型分数PSI计算 ③ PSI < 0.10 ? 是 模型稳定,继续监控 否 ④ 特征稳定性分析 ⑤ KS检验与分位数对比 ⑥ 输出漂移报告与建议 说明:PSI < 0.10 时走左侧稳定分支;PSI ≥ 0.10 时进入右侧深度排查流程

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模型在持续运行中保持可靠的排序能力和风险区分度,为后续的定价策略调整提供坚实的数据基础。