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 计算流程:

PSI 计算流程与偏移判定 基准期数据 监控期数据 分箱处理 分箱处理 期望占比 (E_i) 实际占比 (A_i) PSI = Σ(A_i - E_i)·ln(A_i/E_i) 偏移判定:阈值比较 说明:分箱边界由基准期确定,监控期复用相同边界;PSI 阈值通常取 0.1(关注)和 0.25(告警)

3.5 PSI 阈值与预警策略

在支付风控批次偏移预警中,PSI 的阈值设定需结合业务容忍度与模型稳定性要求。以下是通用的阈值参考:

  • PSI < 0.1:分布稳定,无需干预。
  • 0.1 ≤ PSI < 0.25:轻度偏移,需排查原因并加强监控。
  • PSI ≥ 0.25:显著偏移,触发告警并启动模型或策略重评估。
实战建议: 在 Flink 实时计算中,PSI 的阈值可以配置为动态参数,通过外部配置中心(如 Nacos、Apollo)下发,实现无需重启作业即可调整预警灵敏度。同时,建议对每个分箱的贡献度进行排序,快速定位导致偏移的主要区间。