3. 数据分布基础回顾

在实施特征漂移监控之前,必须建立对数据分布的扎实理解。特征漂移的本质是数据分布随时间或环境发生变化,因此掌握概率分布、统计矩(均值、方差、偏度、峰度)以及分布相似性度量是构建监控体系的理论基石。

3.1 概率分布:数据世界的“指纹”

概率分布描述了随机变量取值的可能性规律。在ML系统中,每个特征都可以视为一个随机变量,其分布形态决定了模型的行为边界。

分布类型 典型场景 漂移敏感度
正态分布 用户身高、传感器噪声、模型误差 均值/方差变化易检测
二项分布 点击率、转化率、二分类标签 成功概率p漂移
泊松分布 每小时请求数、异常事件计数 速率参数λ漂移
长尾分布 用户消费金额、页面停留时间 尾部形状变化难捕捉
实践要点: 并非所有特征都服从正态分布。在监控实践中,应先通过KS检验或Shapiro-Wilk检验确认特征分布形态,再选择合适的漂移检测方法。

3.2 均值与方差:分布的中心与离散度

均值和方差是描述分布最基础的两个统计量,也是特征漂移监控中最常用的指标。

  • 均值(μ):分布的中心位置。均值漂移意味着特征的整体水平发生变化,例如用户年龄均值从35岁变为40岁。
  • 方差(σ²):分布的离散程度。方差增大表示特征值更加分散,可能引入更多不确定性;方差减小表示特征趋于集中,可能丢失信息。
  • 标准差(σ):方差的平方根,与原始数据量纲一致,便于解释。
监控建议: 对于数值型特征,建议同时监控均值和方差的滑动窗口变化。均值漂移通常反映业务逻辑变化,方差漂移往往暗示数据采集或预处理环节异常。

3.3 偏度与峰度:分布的形状特征

仅靠均值和方差无法完整描述分布形态。偏度和峰度提供了分布形状的量化指标,对于检测非对称性漂移和尾部变化至关重要。

统计量 含义 漂移指示
偏度(Skewness) 分布不对称的方向和程度 正偏→右尾变长;负偏→左尾变长
峰度(Kurtosis) 分布尾部的厚度和峰顶的尖锐度 高峰度→异常值增多;低峰度→分布扁平
  • 偏度 = 0:对称分布(如正态分布)。
  • 偏度 > 0:右偏分布,右侧尾部更长,均值大于中位数。
  • 偏度 < 0:左偏分布,左侧尾部更长,均值小于中位数。
  • 峰度 = 3:正态分布的峰度(超值峰度=0)。
  • 峰度 > 3:尖峰厚尾,极端值概率更高。
  • 峰度 < 3:低峰薄尾,分布更均匀。
常见陷阱: 偏度和峰度对样本量敏感。小样本(n < 100)下计算的偏度和峰度波动较大,容易产生误报。建议在监控窗口内至少积累500个样本后再计算形状统计量。

3.4 分布相似性度量简介

特征漂移监控的核心是比较参考分布(训练集)与当前分布(生产数据)的相似性。以下是三种最常用的度量方法:

  1. KL散度(Kullback-Leibler Divergence):衡量两个概率分布之间的信息损失。非对称,值越大表示分布差异越大。
  2. JS散度(Jensen-Shannon Divergence):KL散度的对称化版本,值域[0,1],更稳定。
  3. Wasserstein距离(Earth Mover's Distance):度量将一个分布“搬运”到另一个分布所需的最小成本,对分布形状变化更敏感。
选型建议: 对于连续型特征,Wasserstein距离比KL散度更鲁棒,尤其在分布重叠较少时。对于离散型特征,JS散度计算简单且对称,适合快速监控。
分布形态对比与统计量关系 正态分布(对称) 偏度≈0 峰度≈3 右偏分布 偏度>0 右尾长 左偏分布 偏度<0 左尾长 μ σ

3.5 分布相似性度量对比

度量方法 对称性 值域 对尾部敏感 计算复杂度 推荐场景
KL散度 否 [0, +∞) 高 O(n) 信息论视角分析
JS散度 是 [0, 1] 中 O(n) 快速监控、离散特征
Wasserstein距离 是 [0, +∞) 高 O(n log n) 连续特征、分布重叠少
工程实践: 在Python中,可以使用scipy.stats.ks_2samp进行KS检验,使用scipy.spatial.distance.jensenshannon计算JS散度。对于Wasserstein距离,推荐使用scipy.stats.wasserstein_distance(一维)或POT库(高维)。
分布相似性度量计算流程 参考分布 P 训练集/基线 当前分布 Q 生产数据/窗口 相似性度量计算 阈值比较与告警 常用度量方法 • KL散度:信息损失 • JS散度:对称版本 • Wasserstein距离

3.6 实践中的分布监控策略

在实际MLOps工作中,分布监控需要结合业务场景选择合适的统计量和度量方法。以下是一个推荐的监控策略矩阵:

特征类型 首选统计量 相似性度量 告警阈值参考
连续型(正态) 均值、标准差 Wasserstein距离 > 0.1 * 训练集标准差
连续型(偏态) 中位数、IQR KS检验p值 p < 0.01
离散型(类别) 类别频率 JS散度 > 0.05
计数型 均值、方差 Wasserstein距离 > 0.2 * 训练集均值
关键原则: 分布监控不是“一刀切”的工程。每个特征都应基于其统计特性选择最合适的监控指标。建议在模型上线前,对每个特征进行分布形态分析,并记录其基线统计量,作为后续漂移检测的参考基准。