2. PSI 数学原理:公式推导与分箱策略

群体稳定性指标(Population Stability Index, PSI)是量化风控中衡量两个分布之间差异的核心统计量。其数学本质源于信息论中的 KL 散度(Kullback-Leibler divergence)的对称化变体。本章从公式推导出发,深入解析分箱策略对 PSI 值的敏感度影响。

2.1 PSI 计算公式推导

PSI 的计算基于将连续变量或离散变量划分为 k 个箱(bins),然后比较每个箱中实际分布(Actual)与预期分布(Expected)的占比差异。标准计算公式如下:

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

其中:
- Actual_i   = 第 i 个箱中实际样本数 / 总实际样本数
- Expected_i = 第 i 个箱中预期样本数 / 总预期样本数
- i = 1, 2, ..., k(箱总数)

推导逻辑:该公式可拆解为两个 KL 散度的平均值,即 PSI = D_KL(Actual || Expected) + D_KL(Expected || Actual)。这种对称化处理使得 PSI 对分布的双向偏移都敏感,避免了单一 KL 散度的非对称性问题。

关键阈值:
  • PSI < 0.10:分布稳定,无需干预。
  • 0.10 ≤ PSI < 0.25:轻度偏移,需监控。
  • PSI ≥ 0.25:显著偏移,必须触发模型复审或压力测试。
PSI 公式推导与分布对比流程 预期分布 (Expected) 实际分布 (Actual) 分箱策略 分箱策略 Expected_i % Actual_i % 分布偏移 PSI = Σ (A_i - E_i) * ln(A_i / E_i) 对称化 KL 散度 双向捕捉分布偏移

2.2 分箱策略:等频 vs 等距

分箱是 PSI 计算的前置步骤,不同的分箱策略会显著改变每个箱的样本占比,进而影响 PSI 值。两种主流策略对比如下:

对比维度 等频分箱(Equal Frequency) 等距分箱(Equal Width)
定义 每个箱包含大致相同的样本数量 每个箱在数值轴上具有相同的区间宽度
适用场景 评分卡分数、概率预测值等分布不均匀的变量 年龄、收入等线性尺度变量,或分布均匀的数据
对 PSI 的影响 对分布尾部变化敏感;箱边界随分布偏移而移动 对分布中心变化敏感;可能产生空箱或极稀疏箱
稳定性 中等;箱边界需随预期分布重新计算 高;箱边界固定,便于跨时间对比
常见箱数 10 箱(默认)或 20 箱 10 箱或根据业务范围自定义
避坑提示: 等距分箱在数据分布严重偏斜时,可能导致大部分样本集中在少数几个箱中,其余箱样本占比接近 0%,造成 PSI 计算中的 ln(0) 错误。此时建议使用等频分箱,或对极端值进行截尾处理。

2.3 分箱策略对 PSI 值的敏感性分析

为了直观展示分箱策略的影响,考虑一个简单的数值示例:假设预期分布为均匀分布(0-100),实际分布向右偏移 10 个单位。分别使用等频和等距分箱(k=5)计算 PSI:

等频 vs 等距分箱对 PSI 的影响对比 等频分箱(k=5) 箱1 20% 箱2 20% 箱3 20% 箱4 20% 箱5 20% 预期:每箱 20% 样本 实际偏移后:尾部箱占比变化明显 等距分箱(k=5) 0-20 15% 20-40 18% 40-60 22% 60-80 25% 80-100 20% 预期:每箱宽度 20 单位 实际偏移后:中心箱占比变化明显 结论 等频分箱对尾部偏移更敏感(PSI 偏高),等距分箱对中心偏移更敏感(PSI 偏低)

2.4 分箱策略选择建议

  1. 评分卡模型监控:优先使用等频分箱(通常 10 箱),因为评分卡分数分布往往偏斜,等频分箱能保证每个箱都有足够样本计算占比。
  2. 连续变量压力测试:若变量分布已知且稳定(如正态分布),等距分箱更便于解释箱边界含义。
  3. 混合策略:在自动化监控系统中,可同时计算两种分箱策略下的 PSI,取最大值作为预警信号,以覆盖不同偏移模式。
  4. 箱数选择:箱数过少(k < 5)会丢失分布细节;箱数过多(k > 20)会导致样本稀疏,PSI 方差增大。推荐 k=10 作为默认值。
实操建议: 在 Python 中实现 PSI 计算时,使用 pandas.qcut() 进行等频分箱,使用 pandas.cut() 进行等距分箱。务必在分箱前对预期分布和实际分布使用 相同的箱边界,否则 PSI 将失去可比性。