2. PSI计算原理:分箱方法、实际分布与预期分布的计算、PSI值的计算步骤
PSI(Population Stability Index,群体稳定性指标)是衡量模型评分或特征分布在时间维度上变化程度的量化工具。其核心思想是:将连续型分数或概率值离散化为若干个区间(分箱),然后比较两个时间窗口内样本落在每个区间中的占比差异,最终汇总为一个无量纲的稳定性指数。
2.1 分箱方法
分箱是PSI计算的第一步,也是影响结果稳定性的关键环节。常见的分箱方法有三种:
| 分箱方法 | 原理 | 适用场景 | 注意事项 |
|---|---|---|---|
| 等距分箱 | 将分数范围等分为N个宽度相同的区间 | 分数分布均匀、无极端值 | 极端值可能导致空箱或样本稀疏 |
| 等频分箱 | 按样本量均分,每个区间包含大致相同的样本数 | 分布偏态、长尾数据 | 边界值可能因样本量波动而偏移 |
| 自定义分箱 | 根据业务经验或监管要求设定固定切分点 | 评分卡、信用等级等有明确业务含义的场景 | 需定期验证切分点是否仍合理 |
推荐做法:在风控模型监控中,优先使用等频分箱(通常分为10箱),因为它能保证每个区间都有足够的样本量,避免因空箱导致PSI计算失真。若业务上有明确的分数段含义(如A/B/C/D等级),则采用自定义分箱。
2.2 实际分布与预期分布的计算
在PSI计算中,需要定义两个关键分布:
- 预期分布(Expected Distribution, Ei):通常选取模型开发时或上一次模型验证时的样本分布作为基准。计算每个分箱中样本数占总样本数的比例。
- 实际分布(Actual Distribution, Ai):当前监控周期内的样本分布。同样计算每个分箱中样本数占总样本数的比例。
计算公式如下:
E_i = 预期样本在第 i 箱的数量 / 预期样本总数
A_i = 实际样本在第 i 箱的数量 / 实际样本总数
其中,i = 1, 2, ..., N,N为分箱总数。两个分布均以百分比形式表示,且满足 ΣE_i = 100%,ΣA_i = 100%。
关键点:预期分布和实际分布必须使用相同的分箱边界。如果实际样本的分数范围超出预期样本的边界,需将超出部分归入最近的分箱(左边界或右边界),避免产生未定义区间。
2.3 PSI值的计算步骤
PSI的计算分为四个步骤,以下通过一个示例数据说明:
- 确定分箱边界:基于预期样本,采用等频分箱法将分数范围划分为10个区间。
- 计算预期分布 Ei:统计预期样本在每个区间内的占比。
- 计算实际分布 Ai:将实际样本按相同边界分箱,统计每个区间的占比。
- 计算每个分箱的贡献值并求和:
PSI = Σ [ (A_i - E_i) × ln(A_i / E_i) ]
其中,ln为自然对数。当 A_i = 0 或 E_i = 0 时,为避免数学错误,通常做以下处理:
- 若
A_i = 0,则令A_i = 0.0001(极小值) - 若
E_i = 0,则令E_i = 0.0001
以下是一个完整的计算示例(10箱等频分箱):
| 分箱序号 | 分数区间 | 预期占比 Ei | 实际占比 Ai | Ai - Ei | ln(Ai/Ei) | 分箱贡献 |
|---|---|---|---|---|---|---|
| 1 | [200, 280) | 10.0% | 8.5% | -1.5% | -0.1625 | 0.0024 |
| 2 | [280, 340) | 10.0% | 9.2% | -0.8% | -0.0834 | 0.0007 |
| 3 | [340, 400) | 10.0% | 10.5% | 0.5% | 0.0488 | 0.0002 |
| 4 | [400, 460) | 10.0% | 11.8% | 1.8% | 0.1655 | 0.0030 |
| 5 | [460, 520) | 10.0% | 12.0% | 2.0% | 0.1823 | 0.0036 |
| 6 | [520, 580) | 10.0% | 11.5% | 1.5% | 0.1398 | 0.0021 |
| 7 | [580, 640) | 10.0% | 10.2% | 0.2% | 0.0198 | 0.0000 |
| 8 | [640, 700) | 10.0% | 9.8% | -0.2% | -0.0202 | 0.0000 |
| 9 | [700, 760) | 10.0% | 8.5% | -1.5% | -0.1625 | 0.0024 |
| 10 | [760, 850] | 10.0% | 8.0% | -2.0% | -0.2231 | 0.0045 |
| PSI = Σ | 0.0189 | |||||
上例中,PSI = 0.0189,即约 0.019。根据行业通用阈值,该值小于 0.1,表示模型评分分布无显著偏移,稳定性良好。
常见陷阱:
- 分箱数量过少(如<5箱)会掩盖局部偏移,过多(如>20箱)则放大随机波动。推荐 10~20 箱。
- 预期分布和实际分布的总样本量差异过大时,PSI 可能受样本量影响,建议对样本量差异超过 5 倍的情况进行加权校正。
- 当某个分箱的 Ai 或 Ei 为 0 时,直接代入公式会导致 ln(0) 错误,务必做平滑处理。
2.4 PSI计算流程总览
以下SVG图展示了PSI计算的完整流程,从原始分数输入到最终PSI值输出:
2.5 PSI的数学意义与解读
PSI的数学本质是两个概率分布之间的散度度量,具体为对称化后的KL散度。其值域为 [0, +∞),数值越大表示分布偏移越严重。行业通用的解读标准如下:
| PSI 范围 | 稳定性判断 | 建议行动 |
|---|---|---|
| PSI < 0.1 | 无显著偏移 | 无需干预,继续常规监控 |
| 0.1 ≤ PSI < 0.25 | 轻度偏移 | 需关注偏移方向,排查原因 |
| PSI ≥ 0.25 | 严重偏移 | 立即触发告警,启动模型复核或重构 |
补充说明:上述阈值是行业通用经验值,实际应用中可根据业务风险容忍度进行调整。例如,在信贷审批场景中,若模型用于高风险决策,可将告警阈值下调至 0.15;而在低风险场景中,可放宽至 0.3。本教程后续章节将详细讲解如何通过数据驱动的方法优化这些阈值。