2. PSI 数学原理与公式推导

群体稳定性指标(Population Stability Index, PSI)是衡量两个分布之间差异的标准化度量。在精算与风控模型中,PSI 用于监控模型评分或关键特征在时间维度上的分布偏移程度。其核心公式如下:

PSI 定义公式:
PSI = Σ (Actual_i - Expected_i) * ln(Actual_i / Expected_i)

其中,i 表示第 i 个分组(通常为等频分箱后的区间),Actual_i 为当前样本在该分组的实际占比,Expected_i 为建模样本(或基准期)在该分组的预期占比。

2.1 符号含义与计算逻辑

符号 名称 含义 计算逻辑
i 分组索引 将模型评分或特征值划分为 n 个互斥区间 通常按等频分箱(每箱样本数大致相等),分箱数一般取 10~20
Actual_i 实际占比 当前监控期样本落入第 i 组的比例 Actual_i = count_i(当前期) / N(当前期)
Expected_i 预期占比 基准期(建模样本或稳定期)样本落入第 i 组的比例 Expected_i = count_i(基准期) / N(基准期)
Actual_i - Expected_i 占比差异 衡量该分组内实际分布与基准分布的绝对偏移量 正值表示该组当前占比高于基准,负值表示低于基准
ln(Actual_i / Expected_i) 对数比率 衡量该分组内实际占比相对于预期占比的倍数变化(取自然对数) 当 Actual_i = Expected_i 时,该项为 0;偏离越大,绝对值越大
关键理解: PSI 本质上是每个分组的“绝对差异”与“对数比率”的乘积之和。绝对差异赋予线性权重,对数比率赋予非线性惩罚——当实际占比远小于或远大于预期占比时,对数项会放大该分组的贡献,从而更敏感地捕捉极端偏移。

2.2 公式推导:从相对熵到 PSI

PSI 的数学根源来自信息论中的 相对熵(Kullback-Leibler Divergence, KL 散度)。KL 散度衡量两个概率分布 P 和 Q 之间的不对称差异:

KL(P || Q) = Σ P_i * ln(P_i / Q_i)

PSI 在此基础上做了对称化处理,同时考虑 P→Q 和 Q→P 两个方向的 KL 散度之和:

PSI = KL(Actual || Expected) + KL(Expected || Actual)

展开后得到:

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

利用 ln(Expected_i / Actual_i) = -ln(Actual_i / Expected_i),合并两项:

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

这正是 PSI 的最终形式。它同时惩罚了“实际分布偏离预期”和“预期分布偏离实际”两个方向,因此是一个对称且非负的度量。

注意: 当某个分组的 Expected_i = 0 或 Actual_i = 0 时,对数项无定义。实际处理中,通常对零值做平滑处理(如加极小值 1e-6),或将该分组与相邻组合并。

2.3 PSI 计算流程与分箱逻辑

完整的 PSI 计算遵循以下步骤:

  1. 确定基准分布: 使用建模样本或历史稳定期的模型评分,作为预期分布。
  2. 等频分箱: 将基准分布的评分从小到大排序,按等频原则划分为 n 组(通常 n=10)。记录每个分组的边界值(cutoff points)。
  3. 计算预期占比: 统计基准期每个分组的样本数,除以总样本数,得到 Expected_i。
  4. 映射当前期: 使用相同的分组边界,将当前监控期的评分落入对应分组,统计每个分组的样本数,除以当前期总样本数,得到 Actual_i。
  5. 计算分组贡献: 对每个分组计算 (Actual_i - Expected_i) * ln(Actual_i / Expected_i)。
  6. 求和: 将所有分组的贡献值相加,得到最终的 PSI 值。
分箱边界一致性: 这是 PSI 计算中最容易出错的环节。必须使用基准期确定的分箱边界来划分当前期,不能重新对当前期做等频分箱,否则会破坏分布比较的基准。

2.4 PSI 计算示例(手工演算)

假设我们将模型评分分为 3 组(为简化演示),基准期与当前期的分布如下:

分组 基准期样本数 当前期样本数 Expected_i Actual_i Actual_i - Expected_i ln(Actual_i / Expected_i) 分组贡献
低分 (0-300) 300 200 0.30 0.20 -0.10 ln(0.20/0.30) = -0.4055 (-0.10) * (-0.4055) = 0.0406
中分 (300-600) 400 500 0.40 0.50 0.10 ln(0.50/0.40) = 0.2231 0.10 * 0.2231 = 0.0223
高分 (600-1000) 300 300 0.30 0.30 0.00 ln(0.30/0.30) = 0.0000 0.00 * 0.0000 = 0.0000
合计 PSI = 0.0629

该示例中 PSI = 0.0629,属于较低水平(通常 PSI < 0.10 视为稳定)。低分组的占比下降和中分组的占比上升被同时捕捉,体现了 PSI 对双向偏移的敏感性。

2.5 PSI 的数学性质与阈值参考

  • 非负性: PSI ≥ 0,当且仅当 Actual_i = Expected_i 对所有分组成立时,PSI = 0。
  • 对称性: 交换实际与预期分布,PSI 值不变(因为公式本身已对称化)。
  • 无量纲: PSI 是一个纯数值,不受样本量级影响,但受分箱数影响(分箱越多,PSI 通常越大)。
PSI 范围 稳定性判断 建议动作
< 0.10 稳定 无需干预,模型表现正常
0.10 ~ 0.25 轻度偏移 需关注,排查特征或客群变化
> 0.25 严重偏移 必须告警,启动模型重训或策略调整
行业经验: 上述阈值是通用参考值,实际应用中应根据模型类型(如申请评分卡、行为评分卡)和业务容忍度进行调整。对于高敏感场景(如反欺诈模型),可将告警阈值下调至 0.15。

2.6 PSI 计算流程架构图

PSI 计算流程架构图 PSI 计算流程架构图 基准期评分分布 等频分箱 (n=10) 计算 Expected_i 当前期评分分布 映射至相同分箱边界 计算 Actual_i 计算分组贡献 求和 → PSI 值 分箱边界必须由基准期确定 当前期不可重新分箱

2.7 PSI 与 KL 散度的关系对比

对比维度 KL 散度 PSI
对称性 非对称:KL(P||Q) ≠ KL(Q||P) 对称:PSI(P,Q) = PSI(Q,P)
取值范围 [0, +∞) [0, +∞)
对零值处理 若 Q_i=0 且 P_i>0,则无穷大 同样需平滑处理
实际应用 信息论、模型蒸馏 风控模型稳定性监控
分箱依赖性 通常用于连续分布 强依赖分箱方式
总结: PSI 是 KL 散度的对称化变体,专为工业级分布偏移监控而设计。其公式简洁、计算高效、解释性强,是精算与风控领域最广泛使用的稳定性指标之一。理解其数学原理,是后续进行告警阈值调优和模型监控策略设计的基础。