2. PSI 指标原理:从公式推导到阈值判定
PSI(Population Stability Index,群体稳定性指标)是监控模型或业务分布随时间偏移的核心指标。在每日批次监控中,PSI 用于量化“今日分布”与“基准分布”之间的差异,从而判断数据分布是否发生显著变化。
2.1 PSI 计算公式推导
PSI 的数学基础来源于信息论中的 KL 散度(Kullback-Leibler divergence),但做了对称化处理。其标准计算公式如下:
PSI = Σ ( (Actual_i - Expected_i) * ln(Actual_i / Expected_i) )
其中:
- Expected_i:第 i 个分箱中基准分布(如历史 30 天)的样本占比。
- Actual_i:第 i 个分箱中当前分布(如今日)的样本占比。
- ln:自然对数。
推导逻辑:
- 将连续变量或离散变量划分为 k 个互斥的分箱(bins)。
- 分别计算基准分布和当前分布在每个分箱中的占比(百分比)。
- 对每个分箱计算 (实际占比 - 预期占比) × ln(实际占比 / 预期占比)。
- 将所有分箱的结果求和,得到最终的 PSI 值。
注意: 当某个分箱的预期占比为 0 时,ln(Actual_i / 0) 无定义。实际工程中通常对占比做平滑处理(如加极小值 1e-6),或合并空箱。
2.2 分箱方法:等距分箱 vs 等频分箱
分箱是 PSI 计算的前置步骤,分箱方式直接影响 PSI 的敏感度和稳定性。主流方法有两种:等距分箱和等频分箱。
| 对比维度 | 等距分箱(Equal Width) | 等频分箱(Equal Frequency) |
|---|---|---|
| 分箱规则 | 将数值范围等分为 k 个区间,每个区间宽度相同 | 将数据按排序后等分为 k 组,每组样本数量相同 |
| 适用场景 | 变量分布均匀、无极端离群点 | 变量分布偏态、存在长尾或离群值 |
| 优点 | 分箱边界固定,跨时间可比性强 | 每个分箱样本量均衡,避免空箱 |
| 缺点 | 数据密集区箱内差异小,稀疏区可能空箱 | 分箱边界随数据分布变化,跨时间一致性弱 |
| PSI 敏感度 | 对分布形状变化敏感 | 对尾部偏移敏感度较低 |
工程建议: 在每日 PSI 监控中,优先使用等频分箱,因为每日数据分布可能波动,等频分箱能保证每个分箱都有足够的样本,避免因空箱导致 PSI 计算异常。
下面通过 SVG 图展示两种分箱方法的差异:
2.3 PSI 阈值判定标准
在金融风控、用户画像、营销评分等场景中,行业通用 PSI 阈值判定标准如下:
| PSI 值范围 | 判定结论 | 建议操作 |
|---|---|---|
| PSI < 0.1 | 分布稳定,无显著偏移 | 无需干预,继续监控 |
| 0.1 ≤ PSI < 0.25 | 轻度偏移,需关注 | 排查特征变化原因,评估影响 |
| PSI ≥ 0.25 | 严重偏移,需立即行动 | 触发告警,回滚或重建模型 |
注意: 阈值 0.1 和 0.25 是行业经验值,实际业务中可根据监控灵敏度调整。例如,在强监管场景下,可将阈值收紧为 0.05 和 0.15。
下面通过 SVG 图展示 PSI 阈值判定流程:
2.4 实际业务中的 PSI 解读
在每日批次监控中,PSI 值需要结合业务上下文解读:
- PSI < 0.1:分布稳定,模型或业务特征未发生显著变化,可正常使用。
- 0.1 ≤ PSI < 0.25:轻度偏移,需排查是否由季节性、促销活动、数据采集异常等原因引起。
- PSI ≥ 0.25:严重偏移,通常意味着模型失效或业务逻辑发生根本性变化,需立即介入。
实战经验: 在 SQL 实现中,建议将 PSI 计算结果与历史趋势图结合,观察 PSI 的连续变化,而非仅依赖单日阈值。连续 3 天 PSI 超过 0.1 比单日 PSI 达到 0.2 更具预警价值。