您在分析的哪个阶段对缺失变量进行插补?

机器算法验证 状态 缺失数据 数据插补 多重插补
2022-04-16 00:30:30

有一个包含 30 个变量和超过 500 万个观测值的数据集。我们计划使用数据的子样本进行分析。每个变量约有 0.02 - 2.5% 缺失。为此,我计划在 Stata 中进行插补,但我不确定我们是否应该一次或在不同阶段对所有 50 个变量进行插补。

我们将使用 11 个变量来创建子样本。因此,我们计划在此阶段之前使用插补,以便正确应用排除标准。但是,一旦完成,将运行 3 种不同的回归(OLS 和逻辑模型)。所有 30 个变量都将在其中的某个时间点使用。

问题是:是否应在应用排除标准之后对其他变量(未用于排除标准的 19 个变量)进行插补,或者是否应同时对所有变量进行插补(在应用排除之前标准)。

stata 中的命令,hotdeck就是我们要使用的。

2个回答

你应该先做所有的插补,否则你可能会得到有偏见的结果。

我不知道是什么hotdeck在 Stata 中确实如此,但如果它是一种单一的插补方法(即你得到一个完整/插补的数据集),那么我建议不要这样做。如果算法允许不同的种子创建不同的插补,至少我会建议创建几个完整的数据集。我不知道您选择热甲板的原因是什么,但我一直发现多重插补更优越并且具有理想的统计特性,当某些假设成立时,即数据缺失为 MAR(随机缺失)或 MCAR(完全随机缺失)而不是 MNAR(非随机缺失)。粗略地说,这意味着,对于任何特定变量,如果可以从其他变量中预测缺失数据,或者如果缺失值是简单的随机样本,则多重插补将产生无偏的结果。

由于您已决定依赖 MCAR(完全随机缺失)数据的插补方法,因此我推断您的数据确实是 MCAR。在这种情况下,您应该在应用排除标准后估算缺失值,原因有两个:

  1. 速度(因为要处理的数据点较少,排除标准的下游);
  2. 为您感兴趣的数据定制插补。(然而,在排除之前估算所有 30 个变量会比正在研究的人群更大、更不具体。)

上面的警告是基于我的推断,因为你选择了 hotdeck ,所以你有 MCAR 数据。如果我错了,那么:

  • 不要使用 hotdeck 估算任何数据;使用诸如链式方程(MICE)的多重插补之类的东西,其中有工具箱。
  • 在应用排除标准之前估算数据。基本上,请参阅 Robert Long 的另一个答案。

祝你好运!

参考: