M2-078M2: Classical Machine LearningMissing Values & Data LeakageMedium
Mastery:

Missing Values & Data Leakage: 什么时候应该加'缺失指示变量'?

📐 Mathematical Definition
x′=[ximputed, 1{x missing}]x'=[x_{imputed},\ \mathbb 1\{x\ \text{missing}\}]
⚡ Executive Summary
Core Concept: 当缺失本身有信息(MNAR 或缺失与目标相关)时,指示变量能显著提升模型。

📌 Key Takeaways

  • •
    MNAR 下缺失模式本身是特征
  • •
    注意不要与插补值共线

📐 Mathematical Derivations

加指示变量的场景:① <strong>MNAR</strong>——缺失本身携带信息(如'收入未填'可能暗示高收入或低收入群体,与目标相关);② <strong>缺失与目标相关</strong>——即使不是 MNAR,若缺失率在不同类别间差异大(如违约客户的'工作年限'缺失率更高),指示变量就是有效特征;③ <strong>系统性缺失</strong>——如某字段在某段时间/某渠道系统性缺失(可通过指示变量让模型区分来源)。<strong>判断方法</strong>:计算'缺失指示变量'与目标的相关性/互信息,或对比缺失组与完整组的目标分布;若差异显著则加入。<strong>为什么有效</strong>:插补值把缺失样本'伪装'成有观测值的样本(信息被抹去),而指示变量让模型能对缺失样本学一个<strong>独立的偏移</strong>(相当于给缺失样本一个专属截距),保留了缺失模式的信息。

🏭 Production Trade-offs

实践要点:① <strong>共线性与过拟合</strong>——指示变量与插补值可能相关(若插补值系统性偏高/偏低),但通常不严重;对树模型无影响(可分别分裂),对线性模型可能引入共线。若缺失率很低(<1%),指示变量的信息量少且可能增加过拟合风险,可不加。② <strong>不要只加指示变量不插补</strong>——线性模型无法处理 NaN,故需'插补 + 指示'组合;树模型可直接处理缺失(无需插补),此时指示变量可能冗余(但有时仍有增益,可实验验证)。③ <strong>多特征缺失的交互</strong>——若多个特征同时缺失(如某数据源故障导致一组字段全缺),可加一个'数据源/批次'特征而非多个指示变量,避免冗余。④ <strong>生产环境的可得性</strong>——指示变量在推理时需能计算(即知道该字段是否缺失),这在多数场景成立(若线上用默认值填充而非真缺失,则指示变量恒为 0,失效);需确认线上流程与训练一致。⑤ <strong>可解释性</strong>——指示变量的含义直观('该字段缺失'),业务方易理解;但需注意模型可能学出'缺失即高风险'的规则,需评估是否合理(可能只是数据采集偏差)。
⚠️ Common Interview Pitfalls
  • ✕
    缺失率极低(<1%)时仍加指示变量(增噪)
  • ✕
    加了指示变量就不做插补(线性模型无法处理 NaN)
🎯 Interviewer Follow-ups
  • ?
    如何判断缺失是否有信息?
  • ?
    指示变量会增加过拟合风险吗?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-077: Missing Values & Data Leakage: 比较均值/中位数插补、KNN 插补与多重插补。📋Back to BankNext →M2-079: Missing Values & Data Leakage: 如何系统性排查数据泄漏?给出可操作的清单。