2. PSI 计算公式:数学表达式、参数含义与计算步骤详解
群体稳定性指标(Population Stability Index, PSI)的核心在于量化两个分布之间的差异程度。其数学基础源于信息论中的 相对熵(KL 散度),但通过对称化处理,使其成为一个衡量分布偏移的实用统计量。下面从数学表达式、参数含义和计算步骤三个层面进行拆解。
2.1 数学表达式
PSI 的标准计算公式如下:
PSI = Σ (P_actual_i - P_expected_i) * ln(P_actual_i / P_expected_i)
其中:
- Σ:对评分卡或模型输出的所有分数段(通常为 10~20 个分箱)进行求和。
- P_actual_i:第 i 个分数段中,实际样本(当前期)的占比。
- P_expected_i:第 i 个分数段中,期望样本(基准期/建模期)的占比。
- ln:自然对数。
关键理解: 公式本质上是每个分箱的“占比差异”与“占比比值的对数”的乘积之和。当两个分布完全一致时,每个分箱的 P_actual_i = P_expected_i,ln(1)=0,PSI=0。差异越大,PSI 值越大。
2.2 各参数含义详解
| 参数 | 符号 | 含义 | 典型取值/说明 |
|---|---|---|---|
| 实际占比 | P_actual_i | 当前监控期(如本月)落在第 i 个分数段的样本数占总样本数的比例 | 0 ≤ P_actual_i ≤ 1,所有分箱之和 = 1 |
| 期望占比 | P_expected_i | 基准期(如建模时或上个月)落在第 i 个分数段的样本占比 | 0 ≤ P_expected_i ≤ 1,所有分箱之和 = 1 |
| 分箱序号 | i | 分数段编号,通常按分数从低到高或从高到低排列 | i = 1, 2, ..., N(N 通常为 10 或 20) |
| 自然对数 | ln | 对占比比值取自然对数,放大差异信号 | 当 P_actual_i < P_expected_i 时,ln 为负值 |
| 求和符号 | Σ | 对所有分箱的贡献值进行累加,得到最终 PSI 值 | PSI 值 ≥ 0 |
⚠️ 避坑提示: 当某个分箱的 P_expected_i = 0 时,公式中的 ln(P_actual_i / 0) 无定义。实际处理中,需对空箱进行合并或添加极小平滑值(如 0.0001),避免计算异常。
2.3 计算步骤详解
PSI 的计算遵循一套标准化的流程,共分为 5 个步骤:
- 步骤 1:确定基准分布(期望分布)
选取一个稳定的历史时期(如模型开发时的验证集、或上个月的全量样本)作为基准。统计该时期每个分数段的样本数量,并计算占比 P_expected_i。 - 步骤 2:确定当前分布(实际分布)
选取当前监控周期(如本月)的样本,按照与基准期完全相同的分数段切分方式,统计每个分数段的样本数量,并计算占比 P_actual_i。 - 步骤 3:计算每个分箱的差异贡献
对每个分箱 i,计算 (P_actual_i - P_expected_i) * ln(P_actual_i / P_expected_i)。 - 步骤 4:求和得到 PSI
将所有分箱的差异贡献值相加,得到最终的 PSI 值。 - 步骤 5:结果解读
根据 PSI 值的大小判断分布偏移程度(详见后续章节的哨兵阈值设定)。
2.4 计算流程可视化
下图展示了从基准期和当前期数据输入,到最终 PSI 值输出的完整计算链路:
2.5 计算示例(手工模拟)
假设我们将评分卡分数划分为 3 个分箱(实际应用中通常为 10~20 箱),基准期和当前期的样本分布如下:
| 分箱 i | 分数区间 | 基准期样本数 | 基准期占比 P_expected | 当前期样本数 | 当前期占比 P_actual |
|---|---|---|---|---|---|
| 1 | 0~300 | 200 | 0.20 | 150 | 0.15 |
| 2 | 301~600 | 500 | 0.50 | 550 | 0.55 |
| 3 | 601~1000 | 300 | 0.30 | 300 | 0.30 |
| 合计 | — | 1000 | 1.00 | 1000 | 1.00 |
逐箱计算差异贡献:
- 分箱 1: (0.15 - 0.20) * ln(0.15 / 0.20) = (-0.05) * ln(0.75) = (-0.05) * (-0.2877) = 0.0144
- 分箱 2: (0.55 - 0.50) * ln(0.55 / 0.50) = (0.05) * ln(1.10) = 0.05 * 0.0953 = 0.0048
- 分箱 3: (0.30 - 0.30) * ln(0.30 / 0.30) = 0 * 0 = 0.0000
PSI = 0.0144 + 0.0048 + 0.0000 = 0.0192
💡 经验解读: 本例中 PSI = 0.0192,远小于 0.10,说明当前期分布与基准期分布非常接近,模型稳定性良好,无需触发预警。
2.6 分箱策略对 PSI 的影响
分箱方式直接影响 PSI 的敏感度和稳定性。下表对比了两种主流分箱策略:
| 分箱策略 | 方法 | 优点 | 缺点 |
|---|---|---|---|
| 等距分箱 | 按分数区间等宽划分(如每 50 分一箱) | 分箱边界固定,便于跨期对比 | 可能导致某些分箱样本过少或过多 |
| 等频分箱 | 按样本量均分(每箱约 10% 样本) | 每个分箱样本量均衡,统计稳定 | 分箱边界随分布变化而移动,跨期对比需固定边界 |
推荐做法: 在模型上线时,使用基准期的等频分箱边界作为固定切分点。后续所有监控周期均沿用这套固定边界,确保 PSI 计算的一致性。