链式方程多重插补 (MICE) 解释

机器算法验证 回归 机器学习 分类 缺失数据 多重插补
2022-02-07 21:59:19

我已经看到链式方程 (MICE) 的多重插补被用作缺失数据处理方法。有谁能简单解释一下 MICE 的工作原理吗?

1个回答

MICE 是一种多重插补方法,用于在数据缺失机制的某些假设下替换数据集中的缺失数据值(例如,数据随机缺失,数据完全随机缺失)。

如果您从一个包含一个或多个变量中缺失值的数据集开始,您可以创建该数据集的多个副本- 例如,您可以创建原始数据集的 5 个副本 - 并替换缺失的数据值在每个副本中使用 MICE 程序。然后您可以:

  • 使用您预期的统计分析分析 5 个完整的数据集副本;
  • 合并(或汇集)这些完整数据分析的结果;
  • 报告综合结果。

合并(或合并)结果的规则特定于合并的结果,最初由 Rubin 开发。

Jesper N. Wulff 和 Linda Ejlskov的文章Multiple Imputation by Chained Equations in Praxis:指南和评论中的图 1直观地总结了上述过程:http ://www.ejbrm.com/issue/download.html?idArticle= 450 .

MICE 如何替换原始数据集的每个副本中的缺失数据值?

链式方程的多重插补:它是什么以及它是如何工作的?由 Azur 等人撰写。用一个很好的例子解释了 MICE 引擎盖下发生的事情:https ://www.ncbi.nlm.nih.gov/pmc/articles/PMC3074241/

在示例中,作者的文章从一个简单的数据集开始,该数据集仅包含 3 个变量:年龄、收入和性别。所有 3 个都至少有一些缺失值。

要应用 MICE,请创建此简单数据集的 5 个副本(例如),并为每个副本循环多次执行以下步骤:

第 1 步:将每个变量中的缺失值替换(或估算)为临时“占位符”值,该值仅源自该变量可用的非缺失值。例如,用数据中观察到的平均年龄值替换缺失的年龄值,用数据中观察到的平均收入值替换缺失的收入值等。

步骤 2 重新设置为仅忽略年龄变量的“占位符”插补。这样,当前数据副本包含年龄的缺失值,但不包含收入和性别的缺失值。

第 3 步:通过线性回归模型对收入和性别的年龄进行回归(尽管也可以仅根据这些变量之一对年龄进行回归);为了能够将模型拟合到当前数据副本,请在模型拟合过程中删除所有缺少年龄的记录。在这个模型中,年龄是因变量,收入和性别是自变量。

步骤 4使用上一步中的拟合回归模型来预测缺失的年龄值。(当随后在其他变量的回归模型中将年龄用作自变量时,将使用年龄的观察值和这些预测值。)该文章没有明确说明应将随机分量添加到这些预测。

第 5 步:对每个缺少数据的变量(即收入和性别)分别重复第 2-4 步。

对每个变量年龄、收入和性别循环通过步骤 1-5 一次构成一个循环在这个周期结束时,年龄、收入和性别中的所有缺失值都将被回归模型的预测所取代,这些预测反映了在数据中观察到的这些变量之间的关系。

如前所述,MICE 要求我们在步骤 1-5 中循环多个周期,并在随后的每个周期中更新年龄、收入和性别的缺失值的插补。

我们可以预先指定要执行的周期数(例如,10 个周期)——一旦我们到达最后一个周期,我们保留与该最后一个周期对应的估算值,获得一个估算数据集(即,一个数据集,其中所有年龄、性别和收入中的缺失值被替换为通过迭代程序获得的估算数据值)。

总而言之,MICE 通过使用分而治之的方法来估算数据集变量中的缺失值——换句话说,一次只关注一个变量。一旦将焦点放在一个变量上,MICE 就会使用数据集中的所有其他变量(或这些变量的明智选择的子集)来预测该变量中的缺失。预测基于回归模型,模型的形式取决于焦点变量的性质(例如,年龄和收入需要线性回归模型来预测它们的缺失值,但性别需要逻辑回归模型) .