2. PSI 数学原理:公式推导、分箱策略与分布比较逻辑
群体稳定性指标(Population Stability Index, PSI)是衡量两个概率分布之间差异的标准化度量。在特征漂移检测中,PSI 用于量化特征在 期望分布(参考分布) 与 实际分布(当前分布) 之间的偏移程度。理解其数学原理是正确计算和调优的基础。
2.1 PSI 公式推导
PSI 的数学基础源于信息论中的 KL 散度(Kullback-Leibler Divergence),但 PSI 通过对称化处理使其成为一个对称且稳定的度量指标。其核心公式如下:
PSI = Σ (P_i - Q_i) * ln(P_i / Q_i)
其中:
- P_i:第 i 个分箱中 实际分布 的样本比例(当前分布)。
- Q_i:第 i 个分箱中 期望分布 的样本比例(参考分布)。
- ln(P_i / Q_i):自然对数,用于衡量两个比例之间的差异幅度。
- Σ:对所有分箱求和。
推导逻辑:
- 从 KL 散度出发:KL(P||Q) = Σ P_i * ln(P_i / Q_i),但 KL 散度是非对称的(KL(P||Q) ≠ KL(Q||P))。
- 对称化处理:PSI 采用 (P_i - Q_i) * ln(P_i / Q_i) 的形式,该表达式在交换 P 和 Q 后符号相反,但绝对值不变,因此 PSI 是 对称的。
- 物理含义:当 P_i = Q_i 时,每一项为 0,PSI = 0,表示无漂移。当分布差异增大时,PSI 值单调递增。
💡 关键理解:PSI 本质上是对两个分布在每个分箱上的“差异”进行加权求和。权重由 (P_i - Q_i) 提供,方向由 ln(P_i / Q_i) 决定。这种设计使得 PSI 对分布的整体偏移和局部突变都敏感。
2.2 分箱策略
分箱是 PSI 计算的前置步骤,直接影响结果的稳定性和可解释性。常见的分箱策略包括等距分箱、等频分箱和自定义分箱。
| 分箱策略 | 方法描述 | 适用场景 | 注意事项 |
|---|---|---|---|
| 等距分箱 | 将特征值范围均匀划分为 N 个区间,每个区间宽度相同。 | 特征值分布均匀,无极端异常值。 | 若数据分布极不均匀,可能导致某些分箱样本数为 0,引发 ln(0) 错误。 |
| 等频分箱 | 基于期望分布的百分位数划分,使每个分箱包含大致相等的样本数。 | 特征值分布偏斜或存在长尾。 | 分箱边界由期望分布决定,实际分布可能在某些分箱中样本数极少。 |
| 自定义分箱 | 根据业务知识或模型分箱逻辑手动设定边界。 | 特征具有业务含义的阈值(如信用评分卡中的分段)。 | 需要领域专家参与,且分箱边界需在时间维度上保持稳定。 |
分箱数量建议:
- 通常推荐 10 ~ 20 个分箱,分箱过少会丢失分布细节,分箱过多则引入噪声。
- 每个分箱的期望比例 Q_i 应至少大于 0.01(即 1%),以避免 ln(P_i / Q_i) 因分母过小导致数值不稳定。
- 若某个分箱中 Q_i = 0,则需合并相邻分箱或使用平滑处理(如加 1 平滑)。
⚠️ 常见陷阱:不要对实际分布和期望分布分别独立分箱。分箱边界必须基于 期望分布 确定,然后使用相同的边界对实际分布进行划分。否则,PSI 将失去可比性。
2.3 期望分布与实际分布的比较逻辑
PSI 的比较逻辑可以分解为三个步骤:对齐分箱 → 计算比例 → 逐箱求和。下面通过一个具体示例说明。
示例数据: 某特征“用户年龄”在期望分布(训练集)和实际分布(当前月)中的样本分布如下(共 1000 个样本,分箱数为 5):
| 分箱区间 | 期望样本数 | 期望比例 Q_i | 实际样本数 | 实际比例 P_i | (P_i - Q_i) | ln(P_i / Q_i) | 单项 PSI |
|---|---|---|---|---|---|---|---|
| [18, 25) | 200 | 0.20 | 150 | 0.15 | -0.05 | -0.2877 | 0.0144 |
| [25, 35) | 300 | 0.30 | 350 | 0.35 | 0.05 | 0.1542 | 0.0077 |
| [35, 45) | 250 | 0.25 | 200 | 0.20 | -0.05 | -0.2231 | 0.0112 |
| [45, 55) | 150 | 0.15 | 200 | 0.20 | 0.05 | 0.2877 | 0.0144 |
| [55, 65] | 100 | 0.10 | 100 | 0.10 | 0.00 | 0.0000 | 0.0000 |
| 合计 | 1000 | 1.00 | 1000 | 1.00 | — | — | 0.0477 |
计算得到的 PSI = 0.0477。根据行业经验:
- PSI < 0.10:分布稳定,无需干预。
- 0.10 ≤ PSI < 0.25:轻度漂移,需进一步监控。
- PSI ≥ 0.25:显著漂移,需立即排查原因并考虑模型更新。
📊 比较逻辑总结:PSI 通过逐箱比较期望比例与实际比例的差异,将差异的“方向”(正负)和“幅度”(对数比)结合起来,最终输出一个无量纲的标量值。该值越大,说明两个分布的整体差异越大,特征漂移越严重。
2.4 PSI 计算流程示意图
下图展示了从原始数据到 PSI 值的完整计算流程,包含分箱、比例计算和逐箱求和三个核心阶段。
2.5 分布比较逻辑的数学解释
PSI 的比较逻辑可以进一步拆解为两个维度的乘积:
- 方向因子 (P_i - Q_i):表示实际比例相对于期望比例是“增加”还是“减少”。正数表示实际比例高于期望,负数表示低于期望。
- 幅度因子 ln(P_i / Q_i):表示比例变化的相对幅度。当 P_i 远大于 Q_i 时,该值较大;当 P_i 远小于 Q_i 时,该值为负且绝对值较大。
两者的乘积 (P_i - Q_i) * ln(P_i / Q_i) 始终 非负(因为当 P_i > Q_i 时,两项均为正;当 P_i < Q_i 时,两项均为负,乘积为正)。这一性质保证了 PSI 的累加性,且每个分箱对总 PSI 的贡献都是正向的。
🔍 深入理解:PSI 对分布差异的“敏感度”是非线性的。当 P_i 与 Q_i 接近时,ln(P_i/Q_i) ≈ (P_i - Q_i)/Q_i,此时单项 PSI ≈ (P_i - Q_i)² / Q_i,类似于卡方统计量的形式。当差异较大时,对数项起主导作用,使得 PSI 对极端偏移更加敏感。
2.6 实际应用中的分布比较逻辑
下图展示了在特征漂移监控中,期望分布与实际分布的比较逻辑如何与业务决策流程结合。
📌 实践建议:在计算 PSI 时,务必先对期望分布进行分箱,并记录分箱边界。后续每次计算实际分布的 PSI 时,都使用相同的分箱边界,以确保比较逻辑的一致性。同时,建议对每个分箱的样本数进行最低阈值检查(如至少 5 个样本),避免因样本稀疏导致计算不稳定。