多重插补数据中联合ROC估计

3
我曾使用以下R包:micemitoolspROC
基本设计:3个预测变量,缺失数据率在5%到70%之间,n~ 1,000。1个二进制目标结果变量。
分析目的:确定每个预测变量的AUROC。
我使用mice包来填补数据,现在有m个填补后的数据集。使用下面的命令,我可以获取每个数据集的AUROC曲线:
fit1<-with(imp2, (roc(target, symptom1, ci=TRUE)))
fit2<-with(imp2, (roc(target, symptom2, ci=TRUE))) 
fit3<-with(imp2, (roc(target, symptom3, ci=TRUE)))

我可以毫无问题地看到每个m个数据集的估计值。

fit1
fit2
fit3

为了结合这些参数,我尝试使用 mitools。
>summary(pool(fit1))
>summary(pool(fit2))
>summary(pool(fit3))

我收到以下错误提示信息:"Error in pool(fit): Object has no vcov() method"
当结合m个数据集的系数估计时,我的理解是这些系数的平均值很简单。然而,误差项更加复杂。
我的问题是:如何汇总“m”个ROC参数估计(AUROC和95%C.I.或S.E.),以获得精确的误差项用于显著性测试/ 95%置信区间?
感谢您提前的任何帮助。

您想要“获得准确的估计”...关于什么?请精确描述您想要获取的内容。提供可重现的代码示例也会有所帮助。 - Calimo
编辑了帖子以澄清我是在询问如何正确地组合误差项以进行显著性测试/95%置信区间。 - user3228372
你这里有多个错误项,特别是采样和插补。 - Calimo
我同意。我知道在线性回归框架中,当您从多个填充数据集中汇总回归系数时,有一种特定的方法来考虑抽样和填充误差。我正在寻求帮助,以便对ROC参数估计(即AUROC和AUROC的SE)进行此操作。 - user3228372
2个回答

1

我认为以下方法可以将估计值结合起来。

pROC生成AUROC的点估计以及95%置信区间。

要将m个填补数据集的AUROC结合起来,只需对AUROC进行平均。

为了创建适当的标准误差估计和95% CI,我将95% CI转换为SE。使用标准公式(Multiple Imputation FAQ),我计算了估计的内部,外部和总方差。一旦我有了标准误差,我就将其转换回95% CI。

如果有更好的建议,请告诉我,非常感谢。


0

我会使用 boot 包进行自助法来评估不同的方差来源。例如,针对由插补引起的方差,您可以使用以下代码:

bootstrap.imputation <- function(d, i, symptom){
    sampled.data <- d[i,]
    imputed.data <- ... # here the code you use to generate one imputed dataset, but apply it to sampled.data

    auc(roc(imputed.data$target, imputed.data[[symptom]]))
} 

boot.n <- 2000
boot(dataset, bootstrap.imputation, boot.n, "symptom1") # symptom1 is passed with ... to bootstrap.imputation
boot(dataset, bootstrap.imputation, boot.n, "symptom2") 
boot(dataset, bootstrap.imputation, boot.n, "symptom3") 

然后您可以执行相同的操作来评估AUC的方差。填充您的数据,然后再次应用引导(或者您可以使用pROC的内置函数进行操作)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接