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

群体稳定性指标(Population Stability Index, PSI)的核心在于量化两个概率分布之间的差异。在风控场景中,这两个分布通常代表同一评分卡在预期(开发/基准)样本与实际(当前/待测)样本上的分数分布。PSI 的数学基础源于信息论中的KL 散度,并与交叉熵有着紧密的联系。

2.1 PSI 的数学公式

PSI 的标准计算公式如下:

PSI = Σ (实际占比_i - 预期占比_i) * ln(实际占比_i / 预期占比_i)

其中:

  • i:代表第 i 个分数区间(通常将分数等频或等距划分为 10~20 个桶)。
  • 预期占比_i:在开发样本中,落入第 i 个区间的样本数占总样本数的比例。
  • 实际占比_i:在当前待测样本中,落入第 i 个区间的样本数占总样本数的比例。
计算要点:当某个区间的预期占比或实际占比为 0 时,会导致 ln(0) 或除以 0 的数学错误。实际处理中,通常会对占比进行平滑处理(如加一个极小值 ε = 1e-6),或直接将该区间合并到相邻区间。

2.2 与 KL 散度的关系

PSI 在数学上等价于对称化的 KL 散度。KL 散度(Kullback-Leibler Divergence)用于衡量两个概率分布 P 和 Q 之间的非对称差异:

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

将 PSI 公式展开,可以拆解为两个 KL 散度的和:

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

因此,PSI 本质上是 KL 散度的对称版本,它同时衡量了从实际分布到预期分布、以及从预期分布到实际分布的信息损失。这种对称性使得 PSI 在风控监控中比单向的 KL 散度更稳定、更直观。

关键区别:KL 散度是非对称的(KL(P||Q) ≠ KL(Q||P)),而 PSI 通过对称化处理,消除了方向性偏差,更适合作为“距离”度量来监控模型稳定性。

2.3 与交叉熵的对比

交叉熵(Cross-Entropy)同样源于信息论,用于衡量两个分布之间的差异。下表详细对比了三者的核心差异:

指标 数学形式 对称性 取值范围 风控应用场景
PSI Σ (P-Q) * ln(P/Q) 对称 [0, +∞) 评分卡分数分布稳定性监控
KL 散度 Σ P * ln(P/Q) 非对称 [0, +∞) 特征重要性排序、分布差异诊断
交叉熵 -Σ P * ln(Q) 非对称 [0, +∞) 模型损失函数(如逻辑回归、神经网络)

从公式上看,交叉熵与 KL 散度存在直接关系:

H(P, Q) = -Σ P_i * ln(Q_i)
KL(P || Q) = H(P, Q) - H(P)

其中 H(P) 是分布 P 的熵。交叉熵等于 KL 散度加上分布 P 的熵。在模型训练中,最小化交叉熵等价于最小化 KL 散度(因为 H(P) 是常数)。

实践误区:不要将 PSI 与交叉熵混用。PSI 专门用于分布偏移监控,而交叉熵通常作为模型训练的目标函数。在压力测试复盘时,PSI 用于判断模型是否失效,交叉熵则用于评估模型预测的置信度。

2.4 数学关系结构图

下图展示了 PSI、KL 散度与交叉熵之间的数学推导关系:

PSI、KL 散度与交叉熵的数学关系 交叉熵 H(P,Q) -Σ P_i * ln(Q_i) KL 散度 KL(P||Q) Σ P_i * ln(P_i/Q_i) PSI Σ (P-Q) * ln(P/Q) KL = H(P,Q) - H(P) PSI = KL(P||Q) + KL(Q||P) 核心推导逻辑 1. 交叉熵 H(P,Q) 减去分布 P 的熵 H(P) 得到 KL 散度。 2. KL 散度是非对称的:KL(P||Q) ≠ KL(Q||P)。 3. PSI 通过对称化处理,同时计算两个方向的 KL 散度之和, 使其成为衡量分布稳定性的对称指标。

2.5 PSI 计算流程

在实际风控系统中,PSI 的计算遵循以下标准流程:

  1. 分箱处理:将评分卡分数范围(如 300~900 分)等频或等距划分为 K 个区间(通常 K=10)。
  2. 计算预期占比:统计开发样本中每个区间的样本数,除以总样本数,得到 Q_i。
  3. 计算实际占比:统计当前待测样本中每个区间的样本数,除以总样本数,得到 P_i。
  4. 平滑处理:若 P_i 或 Q_i 为 0,则替换为极小值(如 1e-6)。
  5. 逐区间计算:对每个区间计算 (P_i - Q_i) * ln(P_i / Q_i)。
  6. 求和:将所有区间的结果累加,得到最终的 PSI 值。
行业经验阈值:
  • PSI < 0.1:分布稳定,模型无需调整。
  • 0.1 ≤ PSI < 0.25:轻度偏移,需进一步监控特征变化。
  • PSI ≥ 0.25:显著偏移,模型可能失效,需立即复盘并考虑重建。

2.6 公式推导的直观理解

从信息论角度理解 PSI 公式:

  • ln(实际占比/预期占比):衡量每个区间上实际分布相对于预期分布的“信息量变化”。如果实际占比大于预期占比,该值为正;反之为负。
  • (实际占比 - 预期占比):作为权重,放大差异较大的区间对整体 PSI 的贡献。
  • 求和:将所有区间的加权信息量变化汇总,得到整体分布偏移程度。

这种设计使得 PSI 对分布的整体形状变化(如均值偏移、方差变化、双峰出现)都非常敏感,是压力测试中监控模型稳定性的首选指标。