2. PSI 数学原理:期望分布与实际分布的对比逻辑
群体稳定性指标(Population Stability Index, PSI)是风控策略监控中最核心的量化指标之一。它通过衡量两个分布之间的“距离”来判断模型评分或策略分数在时间维度上的偏移程度。理解 PSI 的数学推导,是正确设置告警阈值的前提。
2.1 PSI 计算公式推导
PSI 的数学基础来源于信息论中的 KL 散度(Kullback-Leibler Divergence),但做了对称化处理。其核心思想是:将连续分数离散化为 k 个等宽或等频分箱,然后逐箱比较实际分布(当前批次)与期望分布(基准批次)的占比差异。
标准计算公式:
PSI = Σ [ (Actual_i - Expected_i) * ln(Actual_i / Expected_i) ]
其中:
- i = 第 i 个分箱(i = 1, 2, ..., k)
- Actual_i = 当前批次落在第 i 箱的样本占比
- Expected_i = 基准批次落在第 i 箱的样本占比
- ln = 自然对数
推导步骤:
- 分箱处理:将评分区间(如 0–1000 分)划分为 k 个互斥区间(通常 k=10 或 k=20)。
- 计算期望占比:统计基准批次(如模型上线首月)在每个箱中的样本数,除以总样本数,得到 Expected_i。
- 计算实际占比:统计当前监控批次(如本月)在每个箱中的样本数,除以总样本数,得到 Actual_i。
- 逐箱计算偏差:对每个箱计算 (Actual_i - Expected_i) × ln(Actual_i / Expected_i)。
- 求和:将所有箱的偏差值相加,得到最终的 PSI 值。
⚠️ 零值处理:当某个箱的 Actual_i 或 Expected_i 为 0 时,ln(0) 无定义。实际工程中,通常对每个箱的占比做微小平滑处理(如加 0.0001),或直接将该箱的贡献值设为 0。
2.2 期望分布 vs 实际分布:对比逻辑
PSI 的本质是量化“实际分布”相对于“期望分布”的偏移程度。两者的对比逻辑可以通过以下维度理解:
| 对比维度 | 期望分布(基准) | 实际分布(当前) |
|---|---|---|
| 定义 | 模型/策略稳定运行时的参考分布 | 当前监控周期内的实时分布 |
| 选取方式 | 模型上线首月、测试集、或前 3 个月滚动平均 | 最近 1 天 / 1 周 / 1 个月的样本 |
| 分布形态 | 通常呈左偏或右偏,取决于评分卡设计 | 可能因客群变化、策略调整而出现整体平移或尾部变形 |
| PSI 贡献 | 作为分母和参考点 | 作为分子,驱动偏差计算 |
| 偏移方向 | 固定不变(除非重新定义基准) | 可正向偏移(高分增多)或负向偏移(低分增多) |
对比逻辑的核心:当实际分布与期望分布完全一致时,每个箱的 (Actual_i - Expected_i) = 0,PSI = 0。随着分布偏移增大,PSI 值单调递增。风控场景中,通常设定 PSI > 0.1 为轻度漂移,PSI > 0.25 为重度漂移,需触发告警。
2.3 PSI 计算流程与分箱逻辑
下图展示了从原始分数到 PSI 值的完整计算流程,包含分箱、占比计算、逐箱偏差求和三个核心阶段。
2.4 分箱方式对 PSI 的影响
分箱策略直接影响 PSI 的灵敏度和稳定性。以下是两种主流分箱方式的对比:
| 分箱方式 | 方法描述 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 等宽分箱 | 将分数区间均匀划分为 k 段(如 0–100, 100–200, …) | 计算简单,区间含义固定 | 样本分布不均时,部分箱可能为空 | 评分卡分数范围已知且稳定 |
| 等频分箱 | 按基准批次样本量,使每个箱包含相同数量的样本 | 避免空箱,对分布尾部更敏感 | 区间边界随基准分布变化,不易解释 | 样本量波动大或分数分布严重偏态 |
实战建议:在风控策略监控中,推荐使用 等频分箱(k=10)。因为等频分箱能保证每个箱都有足够的样本计算占比,避免因空箱导致 PSI 计算失真。同时,10 个分箱在灵敏度和稳定性之间取得了较好的平衡。
2.5 PSI 数值解读与阈值参考
PSI 是一个无量纲指标,其数值大小直接反映分布偏移的严重程度。以下是行业通用的解读标准:
- PSI < 0.1:分布无显著偏移,模型/策略稳定。
- 0.1 ≤ PSI < 0.25:轻度偏移,需关注并排查原因。
- PSI ≥ 0.25:重度偏移,必须触发告警并启动策略调优。
下图展示了 PSI 值与分布偏移程度的关系,以及对应的风控动作建议。
2.6 计算示例:手算 PSI
假设某评分卡将分数分为 3 个箱(为简化演示),基准批次与当前批次的样本占比分布如下:
| 分箱 | 期望占比 (Expected) | 实际占比 (Actual) | 差值 (A-E) | ln(A/E) | 单箱贡献 |
|---|---|---|---|---|---|
| 箱 1(低分) | 0.30 | 0.25 | -0.05 | -0.1823 | 0.0091 |
| 箱 2(中分) | 0.50 | 0.55 | 0.05 | 0.0953 | 0.0048 |
| 箱 3(高分) | 0.20 | 0.20 | 0.00 | 0.0000 | 0.0000 |
| 合计 | 1.00 | 1.00 | 0.00 | — | 0.0139 |
计算得到 PSI = 0.0139,远小于 0.1,说明当前批次分布与基准批次几乎一致,无需告警。
注意:实际风控场景中,分箱数通常为 10,且样本量在万级以上。PSI 对微小偏移非常敏感,即使 PSI 在 0.05–0.1 之间,也应结合业务逻辑判断是否需要提前干预。