2. PSI基础概念:群体稳定性指标的定义、数学公式与直观理解

群体稳定性指标(Population Stability Index,PSI)是风控与机器学习模型监控中最常用的分布漂移度量工具。它量化了同一特征或模型评分在预期分布(开发集/基准集)与实际分布(监控集/当前集)之间的整体偏移程度。PSI值越大,说明两个群体的分布差异越显著,模型失效或数据质量恶化的风险越高。

2.1 数学定义与计算公式

PSI的计算基于分箱(Binning)思想:将连续变量或概率值划分为K个等距或等频区间,然后比较每个区间内样本占比的变化。标准公式如下:

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

其中:
- Expected_i = 基准集(如训练集)落在第 i 个分箱的样本比例
- Actual_i   = 监控集(如当前月份)落在第 i 个分箱的样本比例
- K          = 总分箱数(通常取 10 或 20)
- ln         = 自然对数

当某个分箱的 Expected_i 或 Actual_i 为 0 时,工程上通常做微小平滑处理(如加 0.0001)以避免除零或对数无穷大。

2.2 分箱方式对比

分箱方式 做法 适用场景 注意事项
等距分箱 按数值范围均分为 K 段 评分卡分数、概率值等有明确上下界的变量 边界处样本可能稀疏,导致 PSI 波动大
等频分箱 按基准集分位数切分,每箱样本数大致相等 长尾分布、无界变量、特征分布严重偏态 监控集落在同一分箱的样本数可能变化很大
自定义分箱 根据业务含义或风险等级手动设定断点 信用评分卡、利率区间、年龄分段 需定期验证断点是否仍符合业务逻辑
工程建议:在模型监控中,推荐优先使用等频分箱(10箱)。等频分箱对分布形态的鲁棒性更好,且能避免因个别极端值导致 PSI 虚高。若特征为概率输出(0~1),等距分箱(20箱)能更精细地捕捉尾部漂移。

2.3 PSI 的直观理解:从信息论到分布差异

PSI 的数学形式与KL散度(Kullback-Leibler divergence)密切相关。实际上,PSI 是基准分布 P 与监控分布 Q 之间 KL 散度的对称化变体:

PSI = KL(P||Q) + KL(Q||P)  (近似对称形式)

这意味着 PSI 同时衡量了“从基准看监控的差异”和“从监控看基准的差异”,因此它是一个对称且非负的指标。当两个分布完全一致时,PSI = 0;差异越大,PSI 值越高。

关键理解:PSI 不是简单的比例差之和,而是用对数放大了小比例区间的变化。一个分箱从 5% 降到 1%(变化 4 个百分点)对 PSI 的贡献,远大于从 50% 降到 46%(同样变化 4 个百分点)。这使 PSI 对尾部漂移非常敏感。

2.4 PSI 漂移程度判定标准

业界通用的 PSI 阈值与对应行动建议如下:

PSI 范围 漂移程度 建议行动
PSI < 0.1 无显著漂移 无需干预,继续常规监控
0.1 ≤ PSI < 0.25 轻度漂移 发出预警,排查特征来源或业务策略变化
PSI ≥ 0.25 严重漂移 立即停止模型决策,启动模型重训或特征重构
注意:上述阈值是经验值,实际应用中应根据业务容忍度调整。例如,在信贷审批场景中,PSI > 0.2 就可能触发人工审核;而在推荐系统场景中,PSI 可放宽至 0.3。切勿机械套用阈值,需结合 IC(信息值)和业务指标综合判断。

2.5 PSI 计算流程与可视化

下图展示了从原始数据到 PSI 值的完整计算链路:

PSI 计算流程与分布漂移可视化 基准集分布 监控集分布 等频/等距分箱 等频/等距分箱 Expected_i (%) Actual_i (%) PSI = Σ (Actual - Expected) × ln(Actual / Expected) PSI 综合了每个分箱的占比变化,并用对数放大尾部差异,最终输出一个无量纲的漂移分数

2.6 PSI 与 KL 散度的关系

下表总结了 PSI 与 KL 散度的核心区别,帮助理解 PSI 的数学本质:

属性 KL 散度 KL(P||Q) PSI
对称性 非对称(KL(P||Q) ≠ KL(Q||P)) 近似对称(PSI ≈ KL(P||Q) + KL(Q||P))
取值范围 [0, +∞) [0, +∞)
对尾部敏感度 高(对数项放大低概率区域) 高(继承 KL 散度特性)
工程易用性 需指定参考分布方向 无需指定方向,直接比较两个分布
业界接受度 学术研究常用 工业风控监控标准指标

2.7 一个直观的数值例子

假设某评分卡模型将客户分为“好/坏”两档,基准集与监控集的分布如下:

分箱(评分区间) 基准集占比 Expected_i 监控集占比 Actual_i 差值 (A - E) ln(A/E) 单项贡献
0–20(高风险) 10% 5% -5% -0.693 0.0347
20–40 20% 15% -5% -0.288 0.0144
40–60 40% 45% +5% 0.118 0.0059
60–80 20% 25% +5% 0.223 0.0112
80–100(低风险) 10% 10% 0% 0.000 0.0000

计算得到 PSI = 0.0347 + 0.0144 + 0.0059 + 0.0112 + 0.0000 = 0.0662。该值小于 0.1,说明监控集与基准集之间无显著漂移,模型可继续使用。

观察要点:高风险区间(0–20)虽然占比绝对值只下降了 5%,但由于 ln(0.05/0.10) = -0.693 的放大作用,其单项贡献(0.0347)远高于其他区间。这体现了 PSI 对尾部风险变化的高度敏感性——即使少量客户从高风险区间流失,也会被 PSI 明显捕捉。