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的计算分为四个步骤,以下通过一个示例数据说明:

  1. 确定分箱边界:基于预期样本,采用等频分箱法将分数范围划分为10个区间。
  2. 计算预期分布 Ei:统计预期样本在每个区间内的占比。
  3. 计算实际分布 Ai:将实际样本按相同边界分箱,统计每个区间的占比。
  4. 计算每个分箱的贡献值并求和:
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值输出:

PSI计算流程总览 原始分数输入 步骤1:选择分箱方法 等距 / 等频 / 自定义 步骤2:确定分箱边界 步骤3a:计算预期分布 Eᵢ 开发样本 / 基准期样本 步骤3b:计算实际分布 Aᵢ 当前监控期样本 步骤4:计算 PSI = Σ[(Aᵢ-Eᵢ)×ln(Aᵢ/Eᵢ)] PSI 输出值

2.5 PSI的数学意义与解读

PSI的数学本质是两个概率分布之间的散度度量,具体为对称化后的KL散度。其值域为 [0, +∞),数值越大表示分布偏移越严重。行业通用的解读标准如下:

PSI 范围 稳定性判断 建议行动
PSI < 0.1 无显著偏移 无需干预,继续常规监控
0.1 ≤ PSI < 0.25 轻度偏移 需关注偏移方向,排查原因
PSI ≥ 0.25 严重偏移 立即触发告警,启动模型复核或重构
补充说明:上述阈值是行业通用经验值,实际应用中可根据业务风险容忍度进行调整。例如,在信贷审批场景中,若模型用于高风险决策,可将告警阈值下调至 0.15;而在低风险场景中,可放宽至 0.3。本教程后续章节将详细讲解如何通过数据驱动的方法优化这些阈值。