3. PSI 计算步骤详解:分箱方法、各分箱占比计算、PSI 逐项求和过程

群体稳定性指标(PSI)的计算并非单一公式的简单套用,其核心在于通过“分箱”将连续分布离散化,进而量化两个分布之间的差异。本章将拆解 PSI 计算的三个核心步骤:分箱方法、各分箱占比计算以及逐项求和过程,确保每一步都有清晰的操作依据。

3.1 分箱方法:离散化的基础

分箱是将连续变量(如模型评分)划分为若干个离散区间(箱)的过程。分箱的粗细直接影响 PSI 的敏感度与稳定性。常用的分箱方法包括等距分箱、等频分箱和自定义分箱。

分箱方法 原理 适用场景 注意事项
等距分箱 将评分范围划分为宽度相等的区间 评分分布均匀,无极端长尾 若样本集中在少数区间,会导致部分箱为空或样本极少
等频分箱 使每个箱包含大致相等的样本数量 评分分布不均匀,存在长尾或尖峰 分箱边界可能不规整,需注意业务可解释性
自定义分箱 根据业务规则或风险等级划分区间 有明确业务含义的评分卡(如 A/B/C/D 级) 需保证每个箱在预期分布中有足够的样本量
实践建议:在风控模型监控中,推荐使用 等频分箱 作为默认方法。它能确保每个箱在预期分布(训练集)中都有足够的样本,避免因空箱导致 PSI 计算异常。通常分箱数量建议在 10~20 之间。

3.2 各分箱占比计算:预期分布 vs 实际分布

确定分箱边界后,需要分别计算预期分布(Expected)和实际分布(Actual)在每个箱中的样本占比。预期分布通常来自模型开发时的训练集或验证集,实际分布来自当前监控期的样本。

计算公式如下:

# 假设分箱边界为 bins = [0, 100, 200, 300, 400, 500]
# 预期样本数组 expected_samples = [150, 200, 300, 200, 150]
# 实际样本数组 actual_samples = [180, 220, 260, 190, 150]

# 计算占比
total_expected = sum(expected_samples)  # 1000
total_actual = sum(actual_samples)      # 1000

expected_pct = [count / total_expected for count in expected_samples]
actual_pct = [count / total_actual for count in actual_samples]

print("预期占比:", expected_pct)
print("实际占比:", actual_pct)

输出结果示例:

分箱区间 预期样本数 预期占比 实际样本数 实际占比
[0, 100) 150 15.0% 180 18.0%
[100, 200) 200 20.0% 220 22.0%
[200, 300) 300 30.0% 260 26.0%
[300, 400) 200 20.0% 190 19.0%
[400, 500] 150 15.0% 150 15.0%
避坑提示:当某个箱的实际占比为 0% 时,计算 (Actual% - Expected%) * ln(Actual% / Expected%) 会出现除零错误。此时通常将该箱的贡献值视为 0,或对该箱进行合并处理。

3.3 PSI 逐项求和过程

得到每个箱的预期占比和实际占比后,PSI 的计算公式为:

PSI = Σ (Actual% - Expected%) × ln(Actual% / Expected%)

逐项求和的过程如下表所示:

分箱区间 预期占比 (E) 实际占比 (A) A - E ln(A / E) 单项贡献
[0, 100) 0.150 0.180 +0.030 0.1823 0.0055
[100, 200) 0.200 0.220 +0.020 0.0953 0.0019
[200, 300) 0.300 0.260 -0.040 -0.1431 0.0057
[300, 400) 0.200 0.190 -0.010 -0.0513 0.0005
[400, 500] 0.150 0.150 0.000 0.0000 0.0000
PSI 总和 0.0136

最终 PSI 值为 0.0136,远低于 0.1 的警戒线,表明当前实际分布与预期分布基本一致,模型表现稳定。

关键理解:PSI 的逐项求和过程本质上是将两个分布的差异分解到每个分箱中。每个箱的贡献值反映了该区间内样本迁移的幅度。贡献值较大的箱往往是模型漂移的“重灾区”,需要重点关注。
PSI 计算流程:从分箱到求和 步骤 1:确定分箱 等距 / 等频 / 自定义 步骤 2:计算占比 预期占比 vs 实际占比 步骤 3:逐项求和 Σ (A-E) × ln(A/E) 分箱方法对比 • 等距:宽度一致,简单直观 • 等频:样本量均衡,推荐使用 • 自定义:贴合业务规则 占比计算要点 • 预期分布:训练集/验证集 • 实际分布:当前监控期 • 占比 = 箱内样本 / 总样本 逐项求和要点 • 每个箱独立计算贡献 • 贡献值可正可负 • 总和即为 PSI 值 输出:PSI 值 → 稳定性判断

3.4 分箱数量与边界对 PSI 的影响

分箱的数量和边界选择会直接影响 PSI 的计算结果。以下表格展示了不同分箱策略对同一组数据计算出的 PSI 差异:

分箱策略 分箱数量 PSI 值 结论
等距分箱 5 0.0136 稳定
等距分箱 10 0.0284 稳定(但更敏感)
等频分箱 10 0.0210 稳定
自定义分箱(3 箱) 3 0.0052 稳定(过于粗糙)
重要提醒:分箱数量过少会掩盖局部漂移,分箱数量过多则可能放大随机波动。建议在模型上线前固定分箱策略,并在监控周期内保持一致,以确保 PSI 的可比性。