异常值与范围规则

本节目标

先用类型、硬范围和跨字段契约识别无效值,再把统计长尾作为调查候选;避免用删除或裁剪掩盖真实故障与分布变化。

非法值与统计异常不同

延迟为 -12 ms 违反物理/契约约束,是无效值;延迟为 120000 ms 很罕见,却可能是真实超时。前者可按规则拒绝,后者应调查而不是自动删除。

检查顺序

  1. 类型与可解析性:"fast" 不能解析为延迟。
  2. 硬范围:比例应在 [0,1],计数不应为负。
  3. 跨字段一致性:结束时间不能早于开始时间。
  4. 分布检查:分位数、箱线图、对数尺度、按版本/来源分组。
  5. 领域调查:罕见值是故障、攻击、长尾还是单位错误?

常见统计规则及局限

Z-score 假设均值和标准差有解释,重尾数据会使阈值失真。IQR 规则以四分位距识别远离主体的值,对偏态也不是“真异常判定器”。这些方法适合生成调查候选,而非自动删除事实。

对延迟、token 数、费用等右偏字段,先看对数坐标和 p50/p95/p99。均值可能被少数超大值支配,但高分位恰恰可能代表用户最痛苦的尾延迟。

分布漂移

历史范围内的每一行都可能合法,但整体分布已经变化。例如新模型版本使 token 数整体翻倍。清洗负责报告漂移与来源,不能通过裁剪把变化“洗掉”。

处理记录

每个规则输出原值、规范值、动作(接受/修复/隔离)、原因代码和规则版本。裁剪、缩尾或对数变换属于建模选择,应在训练 Pipeline 中完成并用验证数据评估。

练习

对 latency_ms=[120, 140, 150, 180, 90000, -1] 分别判断无效值和调查候选。写出你需要哪些额外字段才能解释 90000。

掌握检查

  • 我能区分“不可解析”“违反硬范围”“统计罕见”和“整体漂移”。
  • 我不会把 Z-score/IQR 候选直接当作错误事实删除。
  • 我会为右偏延迟同时报告 p50、p95/p99、样本量和时间窗口。
  • 我能保留原值、规范值、动作、原因代码和规则版本。

下一步:文本、JSON 与时间规范化。

参考资料

资料核验日期:2026-07-14。