← 返回题目列表

什么是样本选择偏差?如何修正?

高频 困难 第 25 / 25 题 更新于 2026/09/25
机器学习基础理论面试题
学习 AI 实战项目

简化版

当样本被观察或入选的概率同时与特征、标签有关时,训练分布不能代表目标总体;缺失并非随机时,仅增加样本量不会消除偏差。

回答时应把“进入训练样本的机制与目标总体不一致”讲清,再说明如何验证和落地;关键边界是:重加权会在入样概率很小时放大方差;目标区域完全没有样本时无法靠权重凭空恢复信息。

详细版

样本选择偏差发生在进入训练集的概率与特征或结果有关,缺失并非随机时,增加同来源样本只会更精确地学习偏差。若给定 X 后选择 S 与 Y 独立,可估计 propensity 并做逆概率加权;若选择仍依赖未观测结果,则需要额外假设或新采集。

先训练入样模型检查目标人群是否有共同支持,极端权重意味着重叠不足、估计方差会爆炸。截断权重、分层和双重稳健方法可以改善稳定性,却不能在目标区域完全无样本时凭空恢复信息。

完整版教学

一、问题本质与使用动机

样本选择偏差的关键是先明确目标总体,再说明哪些机制决定一条记录能否进入训练与评估数据。

选择变量 S 决定样本能否被观察。若给定 X 后 S 与 Y 独立,可按 propensity 修正;若仍依赖未观测 Y,则需要额外假设或新数据。

可做截断权重、分层匹配或双重稳健估计,但完全未覆盖区域必须主动采样。修正方法不能替代采集设计。

二、机制与数学表达

在相应可交换与重叠假设下,可用入样概率构造加权风险:

weighted risk = Σ L_i / propensity_i

重加权会在入样概率很小时放大方差;

三、带数字的推演

例如满意度只调查响应问卷的 20% 用户,而不满意用户响应率 5%、满意用户 40%,直接平均会高估总体满意度。

可以训练入样模型估计 P(S=1|X),再检查不同人群覆盖和权重分布;极端权重提示重叠不足,估计方差会迅速增大。

四、从数据到上线的执行流程

修正流程应从目标总体定义开始:

定义目标总体 → 建模入样概率 → 检查共同支持 → 加权/匹配 → 目标分布验收

画出完整采样流程,比较入样率和覆盖率;选择概率可估计且假设合理时,才使用逆概率加权或分层重采样,并用目标总体独立数据验证。

记录抽样规则、响应率与每条样本权重;线上目标总体或采集机制变化后,旧 propensity 模型也要重新验证。

五、方案对比与选择边界

条件可用方法关键风险
S ⟂ YX逆概率加权
重叠较弱截断/匹配/分层方差与外推
无共同支持重新采集无法从现有数据识别

方法能否识别目标量取决于选择机制、重叠与模型假设,而非算法复杂度。

六、加权何时能识别目标风险

令 S=1 表示样本被观察。若给定已观测协变量 X 后,选择与结果独立,即 S ⟂ Y | X,且目标区域都有正的入样概率,则可用逆概率权重恢复目标分布期望。实践还要区分训练总体与部署总体,并把归一化方式写清。

若入样概率为 0.01,权重约 100,一条样本就可能主导估计。裁剪权重能降方差却引入偏差,必须报告裁剪前后、权重分布和有效样本量。若某区域从未被采集,任何权重都不能恢复其标签,只能新采样或缩小结论范围。

七、怎样诊断与验证修正

先画出从目标总体到入样的每一步,比较各人群响应率和覆盖;训练选择模型得到 propensity 后,检查重加权是否让可观测协变量接近目标总体。平衡改善仍不能证明所有未观测混杂已消除,可做敏感性分析和不同采集机制对照。

例如不满意用户响应率 5%、满意用户 40%,直接对问卷平均会高估满意度。若响应率来自真实设计或可验证模型,可按逆概率校正;若“是否满意”本身在控制 X 后仍影响响应,常规 MAR 加权假设不成立,需要跟访、随机激励或额外选择模型假设。

重加权只能修正已观测且有重叠支持的选择机制;目标人群完全缺失的区域无法凭权重创造证据。

八、常见误区与追问

  • 误区:样本越多选择偏差越小。 同一有偏机制只会让错误估计更稳定。
  • 误区:重加权后协变量平衡就证明无偏。 只能验证已观测变量,未观测选择因素仍可能存在。
  • 误区:极端权重越大越忠实。 它提示重叠不足并放大方差,应考虑裁剪、分层或补采。
  • 追问:选择偏差和类别不平衡相同吗? 不同;前者是入样机制不代表目标总体,后者只是标签比例不均。
  • 追问:无共同支持怎么办? 新采集目标区域、改变策略或限制模型适用范围,不能外推冒充证据。
  • 追问:双重稳健是什么意思? 在相应条件下,结果模型或 propensity 模型至少一个正确即可保持一致性,但仍依赖可交换性和重叠等假设。

九、加强记忆

先问“谁有机会进入样本”,再看选择在给定 X 后是否还依赖 Y。可估计且有重叠才谈加权;极端权重是缺数据的报警,不是把权重继续放大的理由。