4、样本一致性校验的总体框架
样本一致性校验是金融特征服务上线前与上线后的核心质量关卡。它通过多维度、多等级的校验体系,确保离线训练样本与在线推理样本在统计特征与业务逻辑上保持一致,从而避免因样本分布偏移或特征构造错误导致的模型效果衰减。
4.1 校验维度
样本一致性校验从四个核心维度展开,覆盖从数据结构到业务语义的完整检查范围:
| 校验维度 | 校验目标 | 典型检查项 | 发现问题类型 |
|---|---|---|---|
| Schema | 数据结构与元数据一致性 | 字段名称、字段类型、字段顺序、是否可空 | 特征遗漏、类型变更、列顺序错乱 |
| 分布 | 统计分布形态一致性 | 均值/方差、分位数、PSI、KS 统计量 | 特征漂移、数据断层、采样偏差 |
| 值域 | 取值范围与边界一致性 | 最小值/最大值、枚举值集合、缺失率 | 异常值注入、枚举值溢出、空值激增 |
| 逻辑 | 业务规则与依赖关系一致性 | 特征间约束、衍生逻辑、时间戳先后顺序 | 特征矛盾、计算错误、时序倒挂 |
实践要点: 四个维度并非孤立执行。通常先做 Schema 校验(通过则继续),再做值域与分布校验(并行),最后执行逻辑校验。任一维度失败都应触发告警并阻断上线流程。
4.2 校验流程
标准化的校验流程分为五个阶段,形成从数据接入到结果输出的闭环:
- 数据准备:从离线存储与在线缓存中分别抽取基准样本(如 T-1 日全量特征)与待校验样本(当前批次特征),确保时间窗口对齐。
- Schema 预检:快速比对字段元数据,若发现字段缺失或类型不匹配,直接标记为“严重”等级并终止后续校验。
- 分布与值域校验:对通过 Schema 预检的特征执行统计量计算与分布对比,输出 PSI、KS 等指标。
- 逻辑规则校验:加载业务规则引擎,逐条验证特征间的依赖关系与业务约束。
- 结果聚合与判定:汇总各维度校验结果,按校验等级生成最终结论(通过/警告/阻断)。
4.3 校验等级
根据校验结果的严重程度与业务影响,将校验结论划分为三个等级,用于驱动不同的响应动作:
| 等级 | 判定条件 | 响应动作 | 示例场景 |
|---|---|---|---|
| 严重 (Critical) | Schema 不匹配 或 核心特征 PSI > 0.25 | 阻断上线,立即告警,回滚至上一版本 | 字段类型从 float 变为 int;缺失率从 5% 突增至 80% |
| 警告 (Warning) | 非核心特征 PSI > 0.1 或 值域边界偏移 > 20% | 允许上线,但触发人工审核与监控升级 | 某枚举特征新增了未定义的取值;均值偏移超过 3 个标准差 |
| 通过 (Pass) | 所有维度校验均在阈值范围内 | 正常上线,记录校验日志 | 所有特征 PSI < 0.1,Schema 完全一致 |
等级阈值建议: 对于金融风控场景,建议将核心特征(如授信额度、逾期天数)的 PSI 阈值设为 0.1(警告)与 0.2(严重);对于非核心特征(如用户设备类型),可适当放宽至 0.15 与 0.3。阈值需根据业务敏感度动态调整。
4.4 校验维度与等级的关系矩阵
不同校验维度在不同等级下的典型表现如下,帮助快速定位问题严重性:
| 校验维度 | 严重 (Critical) | 警告 (Warning) | 通过 (Pass) |
|---|---|---|---|
| Schema | 字段缺失、类型变更 | 字段顺序错乱(不影响解析) | 完全一致 |
| 分布 | PSI > 0.25,KS > 0.3 | 0.1 < PSI ≤ 0.25 | PSI ≤ 0.1 |
| 值域 | 出现业务禁止值(如负年龄) | 枚举值新增但仍在合理范围 | 值域完全一致 |
| 逻辑 | 特征间矛盾(如收入 < 支出且无负债) | 时序轻微倒挂(毫秒级) | 所有规则通过 |
等级覆盖规则: 当多个维度出现不同等级的结果时,采用“最高等级优先”原则。例如,Schema 校验结果为“通过”,但分布校验结果为“严重”,则整体结论为“严重”。该规则确保不会因低等级维度掩盖高等级风险。