3. 漂移类型总览

在金融风控、量化投研和智能投顾等场景中,模型上线只是起点。真正决定模型生命周期长短的,是它能否持续感知并应对“分布变化”。很多团队把一切分布变化都笼统称为“数据漂移”,结果在排查时方向混乱:到底是输入变了、标签变了,还是输入与输出之间的关系变了?本节把五个高频概念一次讲清,并给出可落地的判别路径。

一、核心原理:先分清“谁变了”

设模型输入为特征 X,输出为标签 Y,联合分布为 P(X, Y)。任何漂移本质上都是这个联合分布或其组成部分发生了变化。五个概念的区别,就在于变化发生在哪个部分:

  • 数据漂移(Data Drift):最宽泛的统称,指生产数据分布与训练数据分布出现任何显著差异,是“总称”而非具体机制。
  • 协变量漂移(Covariate Drift / Shift):只有 P(X) 变了,P(Y|X) 保持不变。例如用户收入整体上移,但“收入→违约”的规律没变。
  • 特征漂移(Feature Drift):协变量漂移在工程视角的落地说法,特指一个或多个具体特征列的分布、量纲、缺失率、取值域发生变化。
  • 标签漂移(Label Drift / Prior Shift):P(Y) 变了,P(X|Y) 不变。例如经济下行期违约样本占比从 3% 升到 8%。
  • 概念漂移(Concept Drift):P(Y|X) 本身变了,即同样的输入,正确答案变了。这是最危险、最难自动修复的一类。
核心记忆口诀:协变量看 X,标签看 Y,概念看 X→Y 的关系,特征漂移是协变量漂移的工程化表达,数据漂移是它们的共同上位词。
五类漂移在 P(X, Y) 中的位置 数据漂移(总称) P(X) 变化 协变量漂移 特征漂移(工程视角) P(Y) 变化 标签漂移 P(Y|X) 变化 → 概念漂移(最危险)

二、方法流程:四步判别法

面对一次线上告警,不要急着换模型,先按下面流程定位漂移类型,再决定处置动作。

  1. 确认监控对象:先看是特征侧告警还是标签侧告警。特征侧统计量包括均值、方差、分位数、缺失率、PSI、KS;标签侧看正负样本占比、逾期率、收益分布。
  2. 做单变量检测:对每个特征计算 PSI 或 KS,定位到具体列。若只有少数特征显著偏移,多为特征漂移。
  3. 做标签分布检测:若特征稳定但标签占比明显变化,判定为标签漂移。
  4. 验证关系是否变化:在标签可得的前提下,用近期数据重训一个影子模型,对比新旧模型在同一批样本上的表现。若旧模型 AUC 明显下降而新模型恢复,说明 P(Y|X) 变了,即概念漂移。
# 特征漂移快速检测示例(PSI)
import numpy as np

def psi(base, curr, bins=10):
    breakpoints = np.percentile(base, np.linspace(0, 100, bins + 1))
    breakpoints[0], breakpoints[-1] = -np.inf, np.inf
    b = np.histogram(base, breakpoints)[0] / len(base)
    c = np.histogram(curr, breakpoints)[0] / len(curr)
    b, c = np.clip(b, 1e-6, None), np.clip(c, 1e-6, None)
    return np.sum((c - b) * np.log(c / b))

# 经验阈值:PSI < 0.1 稳定;0.1~0.25 需关注;> 0.25 显著漂移
print(psi(train_feature, prod_feature))

三、案例场景:一次信贷模型的漂移复盘

某消费信贷模型上线六个月后,KS 从 0.42 降到 0.31。团队最初判断是“数据漂移”,准备直接重训。按四步法排查后,结论完全不同:

检测项结果判定
收入、负债率等特征 PSI0.06,稳定无特征漂移
缺失率、取值域无异常无特征漂移
违约样本占比3.1% → 7.8%存在标签漂移
影子模型对比新模型 AUC 提升 0.09存在概念漂移

真实原因是宏观环境变化导致“同样的收入水平,还款能力下降”,即 P(Y|X) 发生迁移,同时伴随样本先验变化。若只做特征侧监控,这次漂移会被完全漏掉。处置上,团队采用了近期样本加权重训 + 阈值重校准,而非简单替换特征。

在金融场景中,标签漂移和概念漂移往往同时出现。经济周期切换时,违约率上升(标签漂移)与风险规律改变(概念漂移)通常结伴而行,排查时不要只取其一。

四、误区与复盘

  • 误区一:把数据漂移当具体类型。数据漂移是总称,汇报时应说明具体是特征、标签还是概念漂移,否则无法指导处置。
  • 误区二:只看特征不看标签。金融标签获取有滞后(如逾期 30+),导致标签漂移发现晚,需建立延迟标签回填机制。
  • 误区三:概念漂移靠重训就能解决。若关系变化是结构性的,重训只能短期缓解,需引入新特征或调整业务规则。
  • 误区四:阈值一刀切。PSI 0.1 的阈值对低频特征过于敏感,应按特征稳定性分级设定。
概念漂移无法仅靠输入监控发现,必须依赖带标签的回测。建议至少保留一条“影子模型 + 延迟标签”的验证链路,否则你只能看到特征在动,却看不到模型为什么失效。

总结来看,五类漂移不是并列的五个盒子,而是同一联合分布的不同切面。协变量漂移与特征漂移描述输入侧,标签漂移描述输出侧,概念漂移描述映射关系,数据漂移是它们的统称。判别顺序建议固定为:先特征、再标签、最后验证关系。只有定位准确,后续的样本加权、阈值校准、重训或重构才有意义。