纠正有偏见的调查结果

机器算法验证 民意调查 样本 偏见
2022-04-03 01:47:13

知道人口样本(非随机)在人口统计方面存在偏差,纠正这个问题的最佳实践是什么?

也就是说,假设我可以将一组人口统计数据附加到样本中,并且我希望转换这个样本,使它们与这些结果在选择时的人口相似。稍后,这个调整后的样本将用于数学建模。

正如我所看到的,纠正某个方面非常简单。如果男性的代表不足50 %,则所有男性的权重为2但是,如果要同时考虑多个变量怎么办?构建一个n维数组是要走的路吗?有更好的解决方案吗?

有现成的方法吗?一个R包?

3个回答

正如蒂姆指出的那样,您应该使用调查权重。

在您的情况下,更具体地说,如果您要用于使样本与您的人口匹配的所有辅助变量(您的人口统计变量)都是您将使用的定性变量:

  • 后分层:如果您有这些变量在总体上的完整联合分布
  • Raking:如果您只有这些变量在总体上的边际分布

更一般地说,如果您有定性定量的辅助变量,您可以使用校准方法

Tim 还指出surveyR. 在那里您可以找到实现这些方法的三个函数:

  • 后分层:postStratify
  • 耙:rake
  • 校准:calibrate

包含加权功能sampling软件包。R

  • 校准:calib

需要注意的是,尽管这些加权方法最初是在概率抽样框架下开发的,但您的情况似乎并非如此(您将样本称为“非随机”)。只要加权调整中使用的辅助变量与您的结果变量和样本的选择机制相关,这些方法可能会减轻您估计中的一些潜在偏差。请参阅 Little 和 Vartivarian 的这篇论文,了解调查无响应中的类似讨论。

在这种情况下,常见的做法是使用调查权重(或此处的介绍)。可以在Wikipedia上找到明确的定义:

如果样本设计没有给每个人平等的被选中机会,通常应该对数据进行加权。例如,当家庭的选择概率相等,但每个家庭中有一个人被采访时,这使得来自大家庭的人被采访的机会更小。这可以使用调查权重来解释。同样,拥有多条电话线的家庭更有可能在随机拨号样本中被选中,并且可以调整权重。

R有一个调查包,可让您使用加权(另请参阅描述它的JSS 文章)。通常,您可以在 R 中使用具有不同功能的权重(例如lm,有weights参数)。

我遵循 Raphael 和 Tim 的建议——尤其是关于 R 包的使用survey但是,正如 Raphael 所建议的,这些加权技术是为概率样本开发的,您的情况可能并非如此。

如果您熟悉多级建模并且有质量辅助数据来估计权重,您可以使用 R 包lme4(它灵活且对用户友好)来实施 Andrew Gelman 在本文本文中的建议。

我没有将它应用到我自己的工作中,但 Gelman 的结果令人印象深刻。我认为这些论文至少值得深思。