3. PSI计算原理:实际分布与预期分布的对比、计算公式推导、分箱方法

PSI(Population Stability Index,群体稳定性指标)是衡量两个分布之间差异程度的量化工具。在额度定价风控中,它用于监控模型评分或关键特征在时间维度上的分布偏移。其核心思想是:将实际分布与预期分布进行逐箱对比,累加差异的标准化度量。

3.1 核心概念:实际分布 vs 预期分布

在PSI计算中,两个分布的定义如下:

分布类型 定义 在额度定价中的典型场景
预期分布(Expected) 作为基准的参考分布,通常来自模型开发时的训练集或验证集 模型开发时(T0)的额度评分分布
实际分布(Actual) 需要被监控的当前分布,通常来自最新的线上样本 当前月份(T1)的额度评分分布

PSI的本质是衡量“实际分布”相对于“预期分布”发生了多大程度的偏移。偏移越大,说明模型所处的环境或客群结构发生了显著变化,模型可能失效。

关键理解: PSI不是衡量模型预测准确率,而是衡量模型输入或输出的分布稳定性。一个高PSI值意味着模型在T1时刻面对的客群与T0时刻不同,需要重新校准或迭代。

3.2 计算公式推导

PSI的计算基于信息论中的KL散度(Kullback-Leibler divergence)的对称化形式。其标准计算公式如下:

PSI = Σ (Actual_i - Expected_i) * ln(Actual_i / Expected_i)

其中:
- i 表示第 i 个分箱(bin)
- Actual_i  = 第 i 箱中实际样本占比(%)
- Expected_i = 第 i 箱中预期样本占比(%)
- ln 为自然对数
- Σ 表示对所有分箱求和

公式推导步骤:

  1. 分箱: 将评分或特征值域划分为 k 个互斥的区间(箱)。
  2. 计算占比: 分别统计预期分布和实际分布落在每个箱中的样本数量,并转换为百分比(占比)。
  3. 逐箱计算差异: 对每个箱,计算 (Actual_i - Expected_i) 与 ln(Actual_i / Expected_i) 的乘积。
  4. 求和: 将所有箱的乘积结果相加,得到最终的PSI值。

公式的直观理解:

  • (Actual_i - Expected_i): 衡量两个分布在该箱上的“数量差异”。差异越大,贡献越大。
  • ln(Actual_i / Expected_i): 衡量两个分布在该箱上的“比例差异”。比例差异越大,贡献越大。
  • 两者相乘,既考虑了绝对差异,也考虑了相对差异,使得PSI对分布形状的变化非常敏感。
计算注意事项: 当 Expected_i 或 Actual_i 为 0 时,ln(0) 无定义。实际处理中,通常对占比进行平滑处理(如加一个小常数 0.0001),或将该箱与相邻箱合并,避免除零或取对数错误。

3.3 分箱方法详解

分箱是PSI计算的前置步骤,分箱方式直接影响PSI值的敏感度和稳定性。常用的分箱方法有三种:等频分箱、等距分箱和自定义分箱。

分箱方法 原理 优点 缺点 适用场景
等频分箱 每个箱中包含大致相同数量的样本 对数据分布形状不敏感,能保证每个箱都有足够的样本量,避免空箱 箱的边界值不固定,可能将相似数值的样本分到不同箱 评分卡分数、概率预测值等连续变量
等距分箱 将值域等分为宽度相同的区间 边界值固定、直观、易于解释 在数据分布不均匀时,可能导致某些箱样本极少或为空,影响PSI计算稳定性 年龄、收入等具有明确数值意义的变量
自定义分箱 根据业务经验或模型逻辑手动设定箱边界 最灵活,可结合业务含义(如额度等级、风险等级)进行分箱 依赖专家经验,主观性强,不易自动化 业务规则明确的场景,如额度区间、信用等级

3.4 分箱方法对比与选择

以下通过一个具体示例,展示不同分箱方法对PSI计算结果的影响。假设预期分布和实际分布均为1000个样本,评分范围0-1000。

示例数据: 预期分布集中在300-700分,实际分布整体向低分段偏移(200-600分)。
# 等频分箱(5箱,每箱约200个样本)
箱1: 0-350分  预期占比20%  实际占比30%
箱2: 350-450分 预期占比20%  实际占比25%
箱3: 450-550分 预期占比20%  实际占比20%
箱4: 550-650分 预期占比20%  实际占比15%
箱5: 650-1000分 预期占比20%  实际占比10%
PSI = (0.3-0.2)*ln(0.3/0.2) + (0.25-0.2)*ln(0.25/0.2) + ... = 0.081

# 等距分箱(5箱,每箱200分)
箱1: 0-200分  预期占比5%   实际占比15%
箱2: 200-400分 预期占比25%  实际占比40%
箱3: 400-600分 预期占比40%  实际占比30%
箱4: 600-800分 预期占比25%  实际占比12%
箱5: 800-1000分 预期占比5%   实际占比3%
PSI = (0.15-0.05)*ln(0.15/0.05) + (0.4-0.25)*ln(0.4/0.25) + ... = 0.152

从示例可以看出,等距分箱由于箱边界固定,更能捕捉到分布整体偏移的细节,PSI值更高(0.152 > 0.081)。而等频分箱由于自适应调整边界,会“平滑”掉部分偏移信息。

选择建议:
  • 监控模型评分稳定性: 优先使用等频分箱,保证每个监控周期内各箱样本量稳定,避免空箱导致的计算异常。
  • 监控特征分布偏移: 优先使用等距分箱,能更敏感地捕捉到分布形状的变化。
  • 业务规则明确: 使用自定义分箱,如按额度等级(低、中、高)或风险等级(A、B、C、D)分箱。

3.5 PSI计算流程与分箱策略

以下SVG图展示了PSI计算的完整流程,从数据输入到最终输出PSI值,并突出分箱环节的核心地位。

PSI计算流程与分箱策略 输入数据 选择分箱方法 等频分箱 等距分箱 自定义分箱 计算各箱占比 计算PSI值

3.6 分箱数量与PSI稳定性

分箱数量(k值)的选择对PSI结果有显著影响。以下是不同分箱数量下的表现对比:

分箱数量 优点 缺点 推荐场景
5-10箱 计算稳定,对微小偏移不敏感,适合高频监控 可能掩盖局部偏移 日常监控、自动化告警
10-20箱 平衡了敏感度和稳定性,行业常用 需要保证样本量充足 月度/季度稳定性分析
20箱以上 对分布细节敏感,能捕捉局部偏移 易受噪声影响,空箱风险高 深度分析、模型诊断
实践建议: 在额度定价PSI监控中,建议使用10箱等频分箱作为默认配置。该配置在大多数场景下能兼顾敏感度和稳定性。如果监控发现PSI异常升高,再切换到20箱等距分箱进行深度诊断,定位偏移发生的具体区间。

3.7 分箱方法选择决策树

以下SVG图提供了一个分箱方法选择的决策路径,帮助在实际工作中快速做出选择。

分箱方法选择决策树 是否有业务规则边界? 是 → 自定义分箱 否 → 继续判断 监控对象是模型评分? 是 → 等频分箱 否 → 等距分箱

3.8 分箱后的PSI计算示例

以下是一个完整的PSI计算示例,使用10箱等频分箱,展示从原始数据到最终PSI值的完整计算过程。

# 假设预期分布和实际分布各有10000个样本,评分范围0-1000
# 使用10箱等频分箱,每箱约1000个样本

箱号 | 预期占比(%) | 实际占比(%) | 差异(Actual-Expected) | ln(Actual/Expected) | 贡献值
1    | 10.0        | 12.5        | 2.5                  | 0.2231              | 0.00558
2    | 10.0        | 11.8        | 1.8                  | 0.1655              | 0.00298
3    | 10.0        | 11.2        | 1.2                  | 0.1133              | 0.00136
4    | 10.0        | 10.5        | 0.5                  | 0.0488              | 0.00024
5    | 10.0        | 10.0        | 0.0                  | 0.0000              | 0.00000
6    | 10.0        | 9.5         | -0.5                 | -0.0513             | 0.00026
7    | 10.0        | 8.8         | -1.2                 | -0.1278             | 0.00153
8    | 10.0        | 8.2         | -1.8                 | -0.1985             | 0.00357
9    | 10.0        | 7.5         | -2.5                 | -0.2877             | 0.00719
10   | 10.0        | 7.0         | -3.0                 | -0.3567             | 0.01070

PSI = 0.00558 + 0.00298 + 0.00136 + 0.00024 + 0.00000 + 0.00026 + 0.00153 + 0.00357 + 0.00719 + 0.01070 = 0.03341
PSI阈值参考:
  • PSI < 0.1: 分布稳定,无需关注。
  • 0.1 ≤ PSI < 0.25: 轻度偏移,需要关注并分析原因。
  • PSI ≥ 0.25: 显著偏移,必须触发告警并启动模型复核流程。
上述示例中PSI=0.033,属于稳定范围。