1. PSI 基础概念
1.1 PSI 的定义
PSI(Population Stability Index,群体稳定性指标)是衡量两个样本分布之间偏移程度的统计量。在风控场景中,PSI 用于量化模型评分或关键特征在时间维度上的分布变化,从而判断模型是否发生“漂移”(Drift)。
核心直觉:如果模型在训练集(期望分布)上的评分分布与当前生产环境(实际分布)上的评分分布差异过大,说明模型可能已经失效,需要触发告警或重训。
PSI 的计算基于分箱(Binning)思想:将连续变量划分为 K 个等距或等频区间,然后比较每个区间内实际占比与期望占比的差异。
1.2 PSI 在风控中的核心价值
在实时风控系统中,PSI 监控是模型稳定性巡检的基石。其核心价值体现在以下四个方面:
| 价值维度 | 说明 | 典型场景 |
|---|---|---|
| 早期预警 | 在模型效果明显下降前,通过分布偏移提前发现异常 | 评分卡分数分布偏移、特征分布突变 |
| 量化漂移 | 将“模型是否稳定”这一模糊问题转化为可量化的数值指标 | PSI > 0.25 触发告警 |
| 辅助归因 | 通过逐特征 PSI 定位导致模型不稳定的具体变量 | 特征 A 的 PSI 为 0.35,特征 B 为 0.05 |
| 合规审计 | 满足监管对模型持续监控和可解释性的要求 | 模型上线后定期输出稳定性报告 |
关键阈值参考:PSI < 0.10 表示无显著偏移;0.10 ≤ PSI < 0.25 表示轻度偏移,需关注;PSI ≥ 0.25 表示严重偏移,必须立即介入。
1.3 PSI 与 CSI 的区别
CSI(Characteristic Stability Index,特征稳定性指标)与 PSI 同源,但关注粒度不同。两者对比如下:
| 对比维度 | PSI | CSI |
|---|---|---|
| 监控对象 | 模型输出分数(Score) | 单个输入特征(Feature) |
| 计算粒度 | 模型级 | 特征级 |
| 告警含义 | 模型整体预测分布偏移 | 某个特征分布偏移 |
| 归因能力 | 弱(仅知道模型不稳定) | 强(可定位到具体特征) |
| 典型用途 | 模型稳定性巡检、上线前验证 | 特征漂移排查、数据质量监控 |
实践注意:PSI 和 CSI 应配合使用。先通过 PSI 发现模型整体漂移,再通过 CSI 定位具体是哪些特征导致的漂移,形成“宏观告警 → 微观归因”的闭环。
1.4 PSI 的数学公式推导
PSI 的数学本质是离散化后的 KL 散度(Kullback-Leibler divergence)的对称化变体。其推导过程如下:
步骤 1:分箱
将模型评分(或特征值)划分为 K 个互斥区间(Bins)。通常使用等距分箱或等频分箱,推荐分箱数 K = 10。
步骤 2:计算每个区间的占比
- 实际占比(Actual %):当前生产样本中落在第 i 个区间的样本数占总样本数的比例,记为
A_i。 - 期望占比(Expected %):训练集或基准样本中落在第 i 个区间的样本数占总样本数的比例,记为
E_i。
步骤 3:计算每个区间的贡献值
对于第 i 个区间,其 PSI 贡献值为:
贡献值_i = (A_i - E_i) * ln(A_i / E_i)
步骤 4:求和得到 PSI
将所有区间的贡献值相加,即得到最终的 PSI 值:
PSI = Σ[(A_i - E_i) * ln(A_i / E_i)] (i = 1, 2, ..., K)
公式要点:
- 当
A_i = E_i时,该区间贡献为 0,表示完全稳定。 - 当
A_i与E_i差异越大,贡献值越大,PSI 越高。 - 若某个区间
E_i = 0,需做平滑处理(如加极小值 ε),避免除零错误。
步骤 5:与 KL 散度的关系
PSI 实际上是两个方向 KL 散度的对称和:
PSI = KL(A || E) + KL(E || A)
其中:
KL(A || E) = Σ[A_i * ln(A_i / E_i)]
KL(E || A) = Σ[E_i * ln(E_i / A_i)]
这种对称化处理使得 PSI 对分布偏移的方向不敏感,能够更全面地衡量两个分布的差异程度。