1. PSI 概念与风控意义
1.1 群体稳定性指标(PSI)的定义
群体稳定性指标(Population Stability Index,PSI) 是衡量两个样本分布之间差异程度的量化指标。在风控模型监控中,PSI 用于比较模型评分在 开发样本(期望分布) 与 当前生产样本(实际分布) 之间的偏移程度。PSI 值越小,说明两个分布越接近,模型稳定性越好;PSI 值越大,说明分布偏移越严重,模型可能已失效或环境发生显著变化。
核心定义: PSI 基于信息论中的 KL 散度(Kullback-Leibler divergence)对称化改进,通过将连续变量分箱后,逐箱计算期望占比与实际占比的差异,并加权求和得到单一数值。
1.2 PSI 计算公式
PSI 的计算分为 分箱 和 求和 两个步骤。假设将模型评分或特征值划分为 n 个等宽或等频区间:
PSI = Σ (实际占比_i - 期望占比_i) × ln(实际占比_i / 期望占比_i)
其中:
- 实际占比_i = 当前生产样本落在第 i 个区间的样本数 / 当前生产样本总数
- 期望占比_i = 开发样本落在第 i 个区间的样本数 / 开发样本总数
- ln 为自然对数
- i = 1, 2, ..., n(n 通常取 10 或 20)
计算要点: 当某个区间的期望占比或实际占比为 0 时,为避免对数无定义,通常做平滑处理(如加极小值 0.0001)或合并空箱。实践中建议使用等频分箱(每箱样本量大致相等)以降低极端值影响。
1.3 PSI 阈值与风控判定标准
| PSI 范围 | 稳定性等级 | 风控建议 |
|---|---|---|
| PSI < 0.1 | 稳定 | 模型分布无显著变化,可继续使用 |
| 0.1 ≤ PSI < 0.25 | 轻度漂移 | 需关注,排查特征或客群变化,准备预警 |
| PSI ≥ 0.25 | 严重漂移 | 模型已不可靠,需立即重训或回退 |
行业经验: 上述阈值是通用参考值。在信贷风控等高风险场景中,部分机构将 PSI ≥ 0.2 即视为严重漂移;在营销评分等低风险场景中,阈值可适当放宽至 0.3。建议根据业务损失函数和模型使用周期自定义阈值。
1.4 PSI 在风控模型监控中的核心价值
PSI 是风控模型监控体系中 最基础、最广泛使用 的稳定性指标,其核心价值体现在以下四个方面:
- 早期预警: 在模型效果(如 KS、AUC)明显下降之前,PSI 能提前捕捉到评分分布的整体偏移,为风控团队争取干预时间。
- 客群变化感知: 当宏观经济、政策法规或获客渠道发生变化时,客群结构会随之改变,PSI 能量化这种变化对模型的影响程度。
- 特征漂移诊断: 通过计算每个特征的 PSI,可以定位导致模型不稳定的具体特征,辅助特征工程和模型迭代。
- 模型生命周期管理: PSI 是模型监控报告中的必选项,与 KS、AUC 等效果指标共同构成模型健康度仪表盘,支撑模型退役、重训或版本升级决策。
1.5 PSI 与模型效果指标的对比
| 指标 | 衡量对象 | 变化方向 | 监控频率 | 典型阈值 |
|---|---|---|---|---|
| PSI | 评分分布稳定性 | 越大越不稳定 | 每日/每周 | 0.1 / 0.25 |
| KS | 好坏样本区分能力 | 越大区分力越强 | 每周/每月 | 0.2 / 0.4 |
| AUC | 排序能力 | 越大排序力越强 | 每周/每月 | 0.7 / 0.8 |
| Lift | 提升度 | 越大提升效果越好 | 每月 | 2.0 / 3.0 |
实践建议: PSI 应作为 第一道防线 部署在风控监控系统中。当 PSI 触发告警时,再联动检查 KS、AUC 等效果指标,形成“稳定性 → 区分力 → 排序力”的逐层诊断链路。
1.6 PSI 漂移的典型场景
- 场景一:客群结构突变 —— 如某消费金融产品突然放开学生群体准入,导致评分分布整体左移,PSI 飙升。
- 场景二:宏观经济冲击 —— 如疫情导致大量用户收入下降,模型中的收入相关特征分布发生偏移。
- 场景三:数据采集异常 —— 如上游数据源字段缺失率从 5% 升至 30%,模型输入分布被扭曲。
- 场景四:模型版本迭代 —— 新模型上线后,评分分布与旧模型存在系统性偏差,需通过 PSI 验证版本一致性。
1.7 PSI 计算与漂移示意
下图展示了 PSI 的计算逻辑:将模型评分分为 10 个等频区间,逐箱比较期望占比(蓝色)与实际占比(橙色),差异越大则 PSI 值越高。
1.8 PSI 在 Kafka 集成中的定位
在实时风控场景中,PSI 计算需要依赖 流式数据 而非离线批处理。Kafka 作为高吞吐、低延迟的消息中间件,能够承载模型评分数据的实时采集、传输和分发。PSI 漂移告警系统通过消费 Kafka 中的评分 Topic,按时间窗口(如小时/天)聚合计算 PSI,并与预设阈值比较,触发告警通知。下图展示了 PSI 在 Kafka 流处理架构中的位置: