2. 特征缺失基础概念:什么是特征缺失、缺失类型(MCAR、MAR、MNAR)、缺失对模型的影响
2.1 什么是特征缺失
特征缺失(Feature Missing)是指数据集中某个或某些特征的观测值未被记录、丢失或不可用的情况。在机器学习生产环境中,特征缺失是数据质量下降的最常见原因之一,直接影响模型推理的稳定性和准确性。
缺失数据通常以 NaN、NULL、-1、0 或空字符串等形式出现,但并非所有占位符都代表真正的缺失——需要结合业务逻辑判断。
关键认知: 缺失 ≠ 无意义。缺失本身可能携带信息(例如用户未填写收入字段可能暗示收入不稳定),因此不能简单删除或填充。
2.2 缺失数据的三种类型
根据缺失机制与观测数据的关系,统计学家 Rubin(1976)将缺失数据分为三类。理解这些类型是选择缺失处理策略的前提。
| 类型 | 全称 | 定义 | 典型示例 | 处理难度 |
|---|---|---|---|---|
| MCAR | 完全随机缺失 | 缺失与否完全独立于所有变量(包括自身) | 传感器因随机断电丢失某时刻温度值 | 低 |
| MAR | 随机缺失 | 缺失与否依赖于其他已观测变量,但不依赖于缺失变量本身 | 高收入人群更倾向于不填写收入字段,但收入值本身与已填写的职业、学历相关 | 中 |
| MNAR | 非随机缺失 | 缺失与否依赖于缺失变量本身的值 | 血压极高或极低的患者拒绝提供血压数据 | 高 |
巡检提示: 生产环境中 MCAR 极少见,多数缺失属于 MAR 或 MNAR。若直接删除 MNAR 数据,会导致严重的估计偏差。
2.3 缺失类型判别流程
实际工作中无法 100% 确定缺失类型,但可通过以下步骤辅助判断:
- 可视化检查: 绘制缺失热力图,观察缺失是否集中在特定特征或样本子集。
- 分组统计: 按某特征分组,计算另一特征的缺失率。例如按“是否点击广告”分组,统计“收入”缺失率是否显著不同。
- 逻辑推断: 结合业务规则判断。例如风控场景中,用户主动隐藏负债信息通常属于 MNAR。
- 敏感性分析: 对缺失数据做不同假设(MCAR / MAR / MNAR),观察模型结果是否稳定。
2.4 缺失对模型的影响
特征缺失从多个维度损害模型性能,具体影响如下:
| 影响维度 | 具体表现 | 后果 |
|---|---|---|
| 样本量缩减 | 删除含缺失的样本导致有效样本减少 | 统计效力下降,模型方差增大 |
| 特征信息丢失 | 缺失特征无法参与模型计算 | 模型区分能力减弱,AUC 下降 |
| 分布偏移 | 缺失模式随时间变化,导致训练/推理分布不一致 | PSI 飙升,模型失效 |
| 估计偏差 | MNAR 数据被简单填充后引入系统性偏差 | 模型预测产生方向性错误 |
| 推理异常 | 模型遇到未见过的缺失模式时输出不稳定 | 线上推理结果不可信 |
⚠ 监控重点: 缺失率突变是 PSI 异常的前兆信号。建议对每个特征设置缺失率阈值(如 5%),一旦超限立即告警并排查根因。
2.5 缺失机制与处理策略对照
不同缺失类型对应不同的处理策略,错误的选择会放大负面影响:
| 缺失类型 | 推荐策略 | 不推荐策略 |
|---|---|---|
| MCAR | 直接删除、均值/中位数填充 | 复杂插补(浪费计算资源) |
| MAR | 多重插补、模型预测填充 | 直接删除(损失信息) |
| MNAR | 建立缺失指示变量、使用对缺失鲁棒的模型 | 均值填充(引入严重偏差) |
2.6 缺失机制与影响关系图
下图展示了三种缺失类型与模型影响之间的对应关系,帮助快速定位问题:
2.7 生产环境中的缺失监控要点
- 逐特征缺失率: 每日统计每个特征的缺失比例,与基线对比。
- 缺失模式漂移: 监控缺失是否从 MCAR 演变为 MAR/MNAR(例如某特征原本随机缺失,后变为与标签相关)。
- 填充策略验证: 每次模型更新前,验证填充策略在最新数据上的有效性。
- 缺失与 PSI 联动: 当特征缺失率变化超过 2% 时,自动触发该特征的 PSI 计算,评估分布偏移程度。
最佳实践: 在特征存储层(如特征平台)统一记录缺失元数据,包括缺失率、缺失类型推断、填充策略版本,便于回溯分析。