3. PSI 数学原理:群体稳定性指标公式、分箱方法、期望值与实际值对比
群体稳定性指标(Population Stability Index, PSI)是衡量两个样本分布之间差异程度的量化指标。在支付风控场景中,它被广泛用于监控模型评分、特征分布或业务指标在时间维度上的偏移程度。PSI 的核心思想是通过比较“期望分布”(通常为基准期分布)与“实际分布”(通常为监控期分布)在每个分箱上的占比差异,来评估整体分布的稳定性。
3.1 PSI 计算公式
PSI 的计算基于信息论中的 KL 散度(Kullback-Leibler divergence)的对称化形式。其标准计算公式如下:
PSI = Σ ( (Actual_i - Expected_i) * ln(Actual_i / Expected_i) )
其中:
- Expected_i:基准期(期望)数据在第 i 个分箱中的样本占比。
- Actual_i:监控期(实际)数据在第 i 个分箱中的样本占比。
- ln:自然对数。
- Σ:对所有分箱求和。
公式解读: 当 Actual_i 与 Expected_i 完全相等时,每个分箱的贡献为 0,PSI = 0,表示分布无偏移。差异越大,PSI 值越高。
3.2 分箱方法
分箱是 PSI 计算的前置步骤,其目的是将连续变量或离散变量划分为若干个区间(箱),以便计算每个区间的占比。分箱质量直接影响 PSI 的敏感性和稳定性。常用的分箱方法包括:
| 分箱方法 | 原理 | 适用场景 | 注意事项 |
|---|---|---|---|
| 等距分箱 | 将变量取值范围均匀划分为 N 个等宽区间 | 变量分布均匀,无极端值 | 容易导致某些箱内样本数为 0,需处理空箱 |
| 等频分箱 | 使每个箱内包含大致相同数量的样本 | 分布偏态或存在长尾 | 分箱边界可能不直观,需保证基准期与监控期使用相同边界 |
| 决策树分箱 | 利用决策树算法,基于目标变量进行最优分割 | 有监督场景,需结合标签 | 计算成本较高,需防止过拟合 |
| 自定义分箱 | 根据业务经验或监管要求设定固定边界 | 业务含义明确,如年龄分段、金额阈值 | 需定期验证边界是否仍适用 |
分箱避坑: 无论采用哪种分箱方法,基准期与监控期必须使用完全相同的分箱边界。否则,PSI 计算将失去可比性。此外,应避免出现某个分箱在基准期或监控期中占比为 0 的情况,因为 ln(0) 无定义。通常做法是为空箱添加一个极小值(如 0.0001)进行平滑处理。
3.3 期望值与实际值对比
PSI 的本质是逐箱比较“期望占比”与“实际占比”的偏离程度。以下通过一个简化的支付风控评分卡示例来说明对比过程:
| 分箱区间(评分) | 基准期占比(Expected) | 监控期占比(Actual) | 差值 (Actual - Expected) | ln(Actual / Expected) | 单箱贡献 |
|---|---|---|---|---|---|
| [0, 300) | 0.10 | 0.15 | +0.05 | 0.4055 | 0.0203 |
| [300, 500) | 0.20 | 0.25 | +0.05 | 0.2231 | 0.0112 |
| [500, 700) | 0.40 | 0.35 | -0.05 | -0.1335 | 0.0067 |
| [700, 900) | 0.20 | 0.18 | -0.02 | -0.1054 | 0.0021 |
| [900, ∞) | 0.10 | 0.07 | -0.03 | -0.3567 | 0.0107 |
| PSI 总和 | 0.0510 | ||||
解读: 上例中 PSI = 0.051。根据行业通用阈值,PSI < 0.1 表示分布稳定,0.1 ≤ PSI < 0.25 表示轻度偏移需关注,PSI ≥ 0.25 表示显著偏移需告警。该示例处于稳定区间,但低分箱([0,300))占比上升明显,需结合业务进一步分析。
3.4 PSI 计算流程与偏移判定
下图展示了从数据分箱到偏移预警的完整 PSI 计算流程:
3.5 PSI 阈值与预警策略
在支付风控批次偏移预警中,PSI 的阈值设定需结合业务容忍度与模型稳定性要求。以下是通用的阈值参考:
- PSI < 0.1:分布稳定,无需干预。
- 0.1 ≤ PSI < 0.25:轻度偏移,需排查原因并加强监控。
- PSI ≥ 0.25:显著偏移,触发告警并启动模型或策略重评估。
实战建议: 在 Flink 实时计算中,PSI 的阈值可以配置为动态参数,通过外部配置中心(如 Nacos、Apollo)下发,实现无需重启作业即可调整预警灵敏度。同时,建议对每个分箱的贡献度进行排序,快速定位导致偏移的主要区间。