PSI 漂移基础:定义、计算公式、阈值与业务含义
群体稳定性指标(Population Stability Index,PSI)是衡量两个样本分布之间差异程度的统计量。在风控、营销、运维等场景中,PSI 被广泛用于监测模型评分、特征分布或业务指标随时间或环境变化的漂移程度。本章从数学定义出发,逐步拆解 PSI 的计算逻辑、阈值设定依据及其在规则引擎中的业务解释。
2.1 PSI 定义与核心思想
PSI 本质上是对两个概率分布之间差异的对称度量,其基础是信息论中的 KL 散度(Kullback-Leibler Divergence)。与 KL 散度不同,PSI 具有对称性,即 PSI(A, B) = PSI(B, A),更适合用于比较实际分布与预期分布之间的稳定性。
核心思想: 将连续变量或离散变量的取值空间划分为若干区间(分箱),分别计算每个区间内实际样本占比与预期样本占比,然后累加各区间差异的加权对数比。PSI 值越大,说明两个分布差异越大,漂移越显著。
2.2 PSI 计算公式
标准 PSI 计算公式如下:
PSI = Σ (Actual_i - Expected_i) * ln(Actual_i / Expected_i)
其中:
- i = 1, 2, ..., n,表示第 i 个分箱区间
- Actual_i = 第 i 个区间内实际样本数 / 实际样本总数
- Expected_i = 第 i 个区间内预期样本数 / 预期样本总数
- ln 为自然对数
计算步骤分为四步:
- 分箱(Binning): 将变量取值划分为等频或等距区间,通常建议 10~20 个分箱。
- 计算占比: 分别统计每个区间在预期分布和实际分布中的样本占比。
- 计算差异项: 对每个区间计算 (Actual_i - Expected_i) * ln(Actual_i / Expected_i)。
- 求和: 将所有区间的差异项相加,得到最终 PSI 值。
注意事项: 当某个区间内 Actual_i 或 Expected_i 为 0 时,ln(0) 无定义。实际处理中需对零值进行平滑处理,例如加入极小常数(如 0.0001)或合并相邻区间。
2.3 漂移阈值与业务含义
在工业实践中,PSI 值通常按以下区间进行解读:
| PSI 值范围 | 漂移等级 | 业务含义 | 建议动作 |
|---|---|---|---|
| PSI < 0.1 | 无漂移 / 轻微漂移 | 分布基本一致,模型或指标稳定 | 无需干预,持续监控 |
| 0.1 ≤ PSI < 0.25 | 中度漂移 | 分布出现可察觉变化,需关注 | 触发告警,排查特征或数据源变化 |
| PSI ≥ 0.25 | 严重漂移 | 分布发生显著偏移,模型可能失效 | 立即告警,启动模型重训或规则调整 |
阈值调整说明: 上述阈值为通用经验值。在金融风控等严监管场景,可适当收紧阈值(如 0.05 告警、0.15 严重);在流量波动较大的互联网场景,可适当放宽(如 0.15 告警、0.3 严重)。阈值需结合业务容忍度与误报率进行调优。
2.4 PSI 漂移计算示例
以下为一个简化的 PSI 计算示例,假设某模型评分变量分为 5 个等距区间:
| 区间 | 预期占比 (Expected_i) | 实际占比 (Actual_i) | 差异项 |
|---|---|---|---|
| [0, 20) | 0.20 | 0.15 | (0.15-0.20)*ln(0.15/0.20) = 0.0144 |
| [20, 40) | 0.20 | 0.25 | (0.25-0.20)*ln(0.25/0.20) = 0.0112 |
| [40, 60) | 0.20 | 0.22 | (0.22-0.20)*ln(0.22/0.20) = 0.0019 |
| [60, 80) | 0.20 | 0.18 | (0.18-0.20)*ln(0.18/0.20) = 0.0021 |
| [80, 100] | 0.20 | 0.20 | (0.20-0.20)*ln(0.20/0.20) = 0.0000 |
| 合计 | 1.00 | 1.00 | PSI = 0.0296 |
本例中 PSI = 0.0296 < 0.1,属于无漂移范围,模型评分分布保持稳定。
2.5 PSI 漂移计算流程
下图展示了从原始数据到 PSI 告警输出的完整计算流程:
2.6 PSI 在规则引擎中的业务含义
在规则引擎场景中,PSI 漂移告警通常应用于以下三个层面:
- 特征漂移: 监控入模特征或规则变量的分布变化。例如,用户年龄分布从 25-35 岁向 35-45 岁偏移,可能导致规则命中率变化。
- 模型评分漂移: 监控模型输出分数的分布变化。评分分布右移可能表示客群质量提升,左移则可能表示风险上升。
- 规则命中率漂移: 监控规则引擎中各规则的命中率变化。命中率 PSI 超过阈值时,说明规则效果发生系统性变化。
业务解释要点: PSI 告警本身只说明分布发生了变化,不直接说明变化原因。收到告警后,需结合业务上下文、特征重要性排序、时间序列趋势等辅助信息进行根因分析。PSI 是“信号灯”,不是“诊断报告”。
2.7 PSI 与 KL 散度对比
| 对比维度 | PSI(群体稳定性指标) | KL 散度 |
|---|---|---|
| 对称性 | 对称:PSI(A,B) = PSI(B,A) | 非对称:KL(A||B) ≠ KL(B||A) |
| 取值范围 | [0, +∞),有明确阈值经验 | [0, +∞),无统一阈值标准 |
| 业务解释性 | 强,工业界广泛使用 | 弱,多用于理论推导 |
| 对零值敏感度 | 需平滑处理 | 需平滑处理 |
| 应用场景 | 模型监控、特征漂移、规则稳定性 | 特征选择、信息增益计算 |