有多少丢失的数据太多了?多重插补 (MICE) & R

机器算法验证 r 缺失数据
2022-02-08 11:26:03

目前,我正在处理一个包含 200 多个变量(准确地说是 238 个)和每个变量 290 个观察值(理论上)的大型数据集。该数据集缺少很多值,变量范围为 0-100%“缺失”。我最终将对这些数据执行逻辑回归,所以在我的 238 列中,我最多只使用十个左右。

然而,由于我的几乎所有列都缺少一些数据,我转向多重插补来填补空白(使用 MICE 包)。

我的问题是;鉴于我在缺失数据中有大量变化,我应该以多少百分比的缺失开始从 mouse() 函数中排除变量?

老鼠能很好地处理缺失 50% 值的变量吗?60%、70%、80%、90%呢?

4个回答

原则上,MICE 应该能够处理大量的缺失数据。与缺失数据点较少的变量相比,具有大量缺失数据点的变量最终会产生更大的误差项,因此您检测与这些变量的重要关系的能力将受到相应限制。这是进行多重插补并分析所有插补结果的优势。

比缺失数据的“截止”更重要的是仔细考虑(1)模型的预期用途和(2)多重插补所需的“随机缺失”假设是否适用于您的案例。

就(1)而言,如果您打算使用模型进行预测,但某些变量本质上很难获得,那么将它们包含在模型中是没有意义的。此外,您应该利用您对主题的了解来考虑包含变量。如果您根据这些知识怀疑只有 10 个左右是重要的,也许您应该只使用这 10 个。

就(2)而言,如果变量缺失数据的概率取决于变量的实际值,则多重插补是不合适的。

老鼠可以处理大量缺失的数据。尤其是如果有很多列的缺失数据很少,80% 的列是没有问题的。您还可以预期,在大多数情况下,添加此变量会比忽略它产生更好的插补结果。(因为有更多信息/相关性有助于估计其他变量)

但是:铁的事实是,你永远不会确定,无论如何归责是多么好。因为真正的价值观很好......“失踪”

如果我有几个插补选项可供选择,我会选择一个可以为预测模型带来最佳结果的选项。

这不是一个编码问题,但如果你想在这里得到答案,那就是......

丢失的数据非常复杂。没有接受丢弃变量的百分比值。变量的方差是在插补数据之前需要注意的重要事项。

如果您不想花一些时间查看缺失值背后的所有统计数据,只需使用缺失值较少的变量即可。

如果您花时间阅读 MICE 手册,这里有一些基本信息可以帮助您正确估算。

丢失数据不是简单的任务,您已经知道自己在做什么。否则你会引入偏见!

(目前无法发表评论 - 抱歉!我想对乔尔的回复发表评论。)

我想指出,我相信,插补算法的质量与可能被有效插补的数据量有关。

如果插补方法很差(即,它以有偏差的方式预测缺失值),那么即使只有 5% 或 10% 的数据丢失也没关系 - 它仍然会产生有偏差的结果(尽管如此,也许是可以容忍的) )。您拥有的缺失数据越多,您就越依赖于您的插补算法是有效的。例如,如果您正在估算 80% 的数据,我相信您会非常有信心自己估算得很好;否则,您可能会引入相当大的偏见。