2. PSI基础概念:群体稳定性指标
群体稳定性指标(Population Stability Index,PSI)是衡量两个样本分布之间差异程度的量化指标。在机器学习模型监控与异常波动复盘中,PSI 用于判断模型输入特征或模型输出分数在不同时间窗口(如训练集 vs 近期生产数据)的分布是否发生显著偏移。PSI 值越大,说明分布差异越明显,模型面临的环境变化风险越高。
2.1 PSI的数学定义与公式
PSI 基于信息论中的 KL 散度(Kullback-Leibler divergence)对称化改进而来。其核心思想是将连续变量分箱后,逐箱计算实际占比与预期占比的差异,并加权求和。标准计算公式如下:
PSI = Σ (实际占比_i - 预期占比_i) × ln(实际占比_i / 预期占比_i)
其中:
- 预期占比_i = 第 i 个分箱中基准分布(如训练集)的样本数 / 基准分布总样本数
- 实际占比_i = 第 i 个分箱中目标分布(如生产数据)的样本数 / 目标分布总样本数
- ln 为自然对数
- 分箱数通常取 10 或 20,等宽或等频分箱均可
当某个分箱中实际占比或预期占比为 0 时,为避免对数无定义,通常做以下处理:
- 加微小平滑值:给分子分母同时加上 0.0001 或 1e-6。
- 合并空箱:将占比为 0 的分箱与相邻分箱合并。
- 截断处理:将占比限制在 [0.0001, 0.9999] 区间内。
实践提示: 在异常波动复盘场景中,PSI 通常对模型输出的预测分数(如违约概率、点击率)或关键特征(如年龄、收入、交易金额)进行计算。分箱方式建议与模型训练时的分箱逻辑保持一致,避免因分箱差异引入额外偏移。
2.2 取值范围与业务含义
PSI 的取值范围为 [0, +∞)。在实际业务中,通常根据经验阈值将 PSI 划分为三个区间,对应不同的监控动作:
| PSI 取值范围 | 稳定性等级 | 业务含义 | 建议动作 |
|---|---|---|---|
| 0 < PSI < 0.1 | 稳定 | 分布差异极小,模型环境基本无变化 | 无需干预,持续监控 |
| 0.1 ≤ PSI < 0.25 | 轻度偏移 | 分布出现可察觉变化,需关注原因 | 排查特征或数据源变化,评估是否需要重训 |
| PSI ≥ 0.25 | 严重偏移 | 分布发生显著漂移,模型性能可能大幅下降 | 立即触发告警,启动异常复盘与模型迭代 |
注意: 上述阈值为行业通用经验值,实际应用中应根据业务敏感度调整。例如,在信贷风控场景中,PSI > 0.2 即可能触发紧急复盘;而在推荐系统场景中,PSI 可容忍至 0.3 以上。建议结合模型性能指标(如 AUC、KS)联合判断,避免单一阈值误判。
2.3 PSI与分布偏移的关系
PSI 本质上量化了两个概率分布之间的“距离”。为了直观理解 PSI 如何反映分布变化,下图展示了三种典型场景下的分布对比与对应的 PSI 值:
2.4 PSI的计算步骤
在实际异常波动复盘项目中,PSI 的计算通常遵循以下标准化流程:
- 确定基准分布与目标分布:基准分布通常为模型训练集或验证集的输出分数/特征值;目标分布为待评估的近期生产数据。
- 分箱处理:将连续变量划分为 K 个区间(通常 K=10),可采用等宽分箱或等频分箱。等频分箱对长尾分布更鲁棒。
- 计算各箱占比:分别统计基准分布和目标分布在每个分箱中的样本占比。
- 逐箱计算差异项:对每个分箱,计算 (实际占比 - 预期占比) × ln(实际占比 / 预期占比)。
- 求和得到 PSI:将所有分箱的差异项相加,即得最终 PSI 值。
关键点: PSI 对分箱数量敏感。分箱过少会掩盖局部偏移,分箱过多则可能因稀疏性导致 PSI 虚高。建议在模型上线前通过交叉验证确定最优分箱数,并在监控中固定使用。
2.5 PSI与Drift的对比
在模型监控领域,PSI 常与 Drift(漂移检测)概念一同出现。下表梳理了二者的核心差异:
| 对比维度 | PSI(群体稳定性指标) | Drift(漂移检测) |
|---|---|---|
| 核心思想 | 基于分箱的分布差异加权求和 | 基于统计检验(如 KS 检验、卡方检验)或距离度量 |
| 输出形式 | 连续数值(0 ~ +∞) | P 值或距离值,常结合阈值判断 |
| 对样本量敏感度 | 中等,分箱后受样本量影响较小 | 高,大样本下微小差异也可能显著 |
| 业务可解释性 | 强,阈值体系成熟,易于沟通 | 中等,需结合统计背景理解 |
| 适用场景 | 模型输出分数、连续特征监控 | 分类特征、小样本场景、假设检验 |
在实际的异常波动复盘中,PSI 和 Drift 通常互为补充:PSI 提供直观的偏移幅度度量,Drift 提供统计显著性判断。二者结合使用,可以更全面地评估模型环境的稳定性。