如何在使用 MICE 进行多重插补后进行描述性统计(中位数、IQR、频率、比例等)

How to proceed with descriptive statistics (median, IQR, frequencies, proportions etc) after multiple imputation using MICE

我一直在使用 R 中的 mice-package (van Buuren) 执行多重插补,其中 m = 50(50 个插补数据集)和 20 次迭代,大约 9 个变量缺失数据(MAR = 随机缺失)范围从 5-13%。在此之后,我想继续为我的数据集估计描述性统计数据(即不只对描述性统计数据使用完整的案例分析,还要将结果与我估算的描述性统计数据进行比较)。所以我现在的问题是,如何进行。

我知道处理 MICE 数据的正确程序是:

  1. 通过 mice 函数估算缺失数据,产生多重估算数据集 (class mids);
  2. 通过 with() 函数在每个估算数据集上拟合感兴趣的模型(科学模型),得到 class mira 的对象;
  3. 将每个模型的估计值合并为一组估计值和标准误差,结果是 class mipo 的对象; 或者,通过 D1() 或 D3() 函数比较来自不同科学模型的汇总估计值。

我的问题是我不明白如何将这个理论应用到我的数据上。我做了:

#Load package:
library(mice)
library(dplyr)

#Perform imputation:
Imp_Data <- mice(MY_DATA, m=50, method = "pmm", maxit = 20, seed = 123)

#Make the imputed data in long format:
Imp_Data_Long <- complete(Imp_Data, action = "long", include = FALSE)

然后我假设此过程对于获取 BMI 变量的中位数是正确的,其中 .imp 变量是插补数据集的编号(即从 1-50):

BMI_Medians_50 <- Imp_Data_Long %>% group_by(.imp, Smoker) %>% summarise(Med_BMI = median(BMI))

BMI_Median_Pooled <- mean(BMI_Medians_50$Med_BMI)

我可能完全理解错了,但我非常努力地理解正确的过程,并在 Whosebug 和 StatQuest 上发现了非常不同的过程。

一般来说,您会执行多重插补(与单一插补相比),因为您要考虑执行插补所带来的不确定性。

丢失的数据最终会丢失 - 我们只能估计真实数据可能是什么样子。通过多重插补,我们生成了多个估计值,即真实数据的样子。我们的目标是对估算值的值进行类似概率分布的处理。

对于您的描述性统计,您不需要使用 rubins 规则进行汇集(这些对于标准误差和线性模型的其他指标很重要)。您将分别计算每个 m = 50 个估算数据集的统计数据,然后将它们与您想要的指标汇总/汇总。

您要存档的是为您的 reader 提供有关插补带来的不确定性的信息。 (以及估算值最有可能的范围)

例如,将均值视为描述性统计数据。在这里你可以提供这些估算数据集的最低均值和最高均值。您可以提供这些平均值的平均值以及估算数据集的平均值的标准差。

您的完整案例分析将仅提供例如3.3 作为变量的均值。但是,在您的 m=50 多个估算数据集中,相同的平均值可能会有很大差异,例如从 1.1 到 50.3。这可以为您提供有价值的信息,您应该非常小心地从完整的案例分析中提取 3.3,并且该数据集的此类统计数据通常存在很多不确定性。