4、校验指标体系:PSI、KS统计量、KL散度、JS散度、余弦相似度

样本偏差校验的核心在于构建一套可量化的指标体系,用于衡量训练数据与线上服务数据之间的分布差异。本章详细解析五种最常用的校验指标:PSI(群体稳定性指标)、KS统计量、KL散度、JS散度以及余弦相似度。每种指标从数学定义、业务含义、阈值标准与适用场景四个维度进行拆解。

4.1 指标全景对比

下表从核心思想、输出范围、对称性与敏感性四个关键维度,对五种指标进行横向对比,帮助快速建立选型直觉。

指标 核心思想 输出范围 对称性 敏感性
PSI 分箱后实际占比 vs 预期占比的差异 [0, +∞) 对称 对分箱方式敏感
KS统计量 两组累积分布的最大垂直距离 [0, 1] 对称 对分布中心位置敏感
KL散度 用Q近似P时的信息损失 [0, +∞) 非对称 对P的尾部敏感
JS散度 KL散度的对称平滑版本 [0, 1](对数底为2) 对称 对分布重叠区域敏感
余弦相似度 向量夹角的余弦值 [-1, 1] 对称 对向量方向敏感,对模长不敏感

4.2 PSI(群体稳定性指标)

PSI 是金融风控领域最常用的分布稳定性监控指标,用于衡量特征或模型分数在时间维度上的偏移程度。

  • 计算步骤:将预期分布(通常为训练集)按分位数分为K个等宽或等频箱;计算每个箱中实际样本占比(Ai)与预期样本占比(Ei);代入公式:
    PSI = Σ (Aᵢ - Eᵢ) * ln(Aᵢ / Eᵢ)
  • 阈值标准:PSI < 0.1 表示无显著偏移;0.1 ≤ PSI < 0.25 需关注;PSI ≥ 0.25 表示发生重大偏移,需立即排查。
  • 适用场景:连续型特征的分箱稳定性监控、模型分数(score)的周/月级漂移检测。
工程避坑:分箱数量通常取10~20箱。箱数过少会掩盖局部偏移,箱数过多会导致空箱或占比为0,使ln(0)无定义。建议对空箱做平滑处理(如加极小值ε)。

4.3 KS统计量

KS统计量基于经验累积分布函数(ECDF),衡量两组样本分布的最大差异位置与幅度。

  • 数学定义:
    KS = max |F₁(x) - F₂(x)|
    其中 F₁ 和 F₂ 分别为训练集与线上数据的累积分布函数。
  • 阈值标准:KS < 0.1 分布一致;0.1 ≤ KS < 0.2 轻度偏移;KS ≥ 0.2 显著偏移。
  • 适用场景:连续型特征分布对比、模型分数区分能力评估(与AUC配合使用)。
提示:KS统计量对分布的中心位置变化非常敏感。如果线上数据整体向右平移,KS值会迅速增大。建议与PSI联合使用,PSI反映整体偏移量,KS反映最大偏移位置。

4.4 KL散度与JS散度

KL散度与JS散度均来自信息论,用于量化两个概率分布之间的差异程度。

  • KL散度:
    KL(P||Q) = Σ P(x) * log(P(x) / Q(x))
    非对称,即 KL(P||Q) ≠ KL(Q||P)。当Q(x)=0且P(x)>0时发散到无穷大。
  • JS散度:
    JS(P||Q) = 0.5 * KL(P||M) + 0.5 * KL(Q||M),其中 M = (P+Q)/2
    对称且有界,取值范围[0, 1](以2为底的对数)。
  • 阈值标准:KL散度无通用阈值,通常与基线对比相对变化;JS散度 < 0.1 分布相似,0.1~0.3 中度偏移,> 0.3 严重偏移。
  • 适用场景:离散型特征(如类别特征、embedding分布)的分布差异度量;KL散度适合检测尾部差异,JS散度适合检测整体重叠度。
注意:KL散度对P分布中概率极小的区域非常敏感。在特征服务中,如果某个特征值在训练集中出现概率极低(如0.001),但在线上变为0.01,KL散度会给出很大的值。此时建议优先使用JS散度或对概率做截断处理。

4.5 余弦相似度

余弦相似度从向量空间角度衡量分布或特征向量的方向一致性,常用于高维稀疏特征(如one-hot编码、embedding向量)的偏差校验。

  • 数学定义:
    cos(A, B) = (A · B) / (||A|| * ||B||)
  • 阈值标准:cos > 0.9 高度相似;0.7 ≤ cos ≤ 0.9 轻度偏移;cos < 0.7 显著偏移。
  • 适用场景:高维稀疏特征(如用户画像tag、商品类目)、embedding向量的分布对比、模型中间层表征的漂移检测。
选型建议:对于连续型数值特征,优先使用PSI + KS组合;对于离散型类别特征,优先使用JS散度 + 余弦相似度组合;对于模型分数或概率输出,PSI是行业标准。

4.6 指标体系选择流程

下图展示了在特征服务中如何根据特征类型与业务场景,快速选择最合适的校验指标组合。

特征服务样本偏差校验指标选择流程 输入特征分布 特征类型判断 连续型特征 离散型特征 推荐指标组合 PSI(整体偏移) + KS统计量(最大偏移位置) 推荐指标组合 JS散度(分布重叠度) + 余弦相似度(方向一致性) 特殊场景:模型分数/概率输出 最终推荐:PSI(行业标准)

4.7 多指标联合判据

单一指标存在盲区,实际工程中建议采用多指标联合判据,降低误报与漏报率。下表给出一个典型的联合判据矩阵。

PSI KS JS散度 余弦相似度 综合判定 建议动作
< 0.1 < 0.1 < 0.1 > 0.95 分布一致 无需处理
0.1~0.25 0.1~0.2 0.1~0.2 0.85~0.95 轻度偏移 标记监控,触发告警
≥ 0.25 ≥ 0.2 ≥ 0.2 < 0.85 显著偏移 立即阻断,启动重训练
≥ 0.25 < 0.1 ≥ 0.3 > 0.9 尾部偏移 排查长尾特征,局部修正
最佳实践:在特征服务中,建议对每个特征同时计算PSI与JS散度,对模型分数计算PSI与KS统计量。设置三级告警阈值:黄色(关注)、橙色(告警)、红色(阻断)。每次模型上线前,自动对比线上实时分布与训练集分布,生成偏差报告。