gpt4 book ai didi

r - R(小鼠)中的多重插补 - 如何测试插补运行?

转载 作者:行者123 更新时间:2023-12-05 04:01:43 27 4
gpt4 key购买 nike

我处理的数据集包含 55 个变量的 171 个观察值,其中 35 个变量具有我想用 mice 函数估算的 NA:

imp_Data <- mice(Data,m=5,maxit=50,meth='pmm',seed=500)

imp_Data$imp

现在,运行了 5 个插补,我不知道如何测试和决定 5 个插补中的哪一个最适合我的数据集。

检查该主题时,我一次又一次地发现脚本使用带有线性模型的 with() 函数,然后是 pool() 函数:

fit <- with(imp_Data, lm(a ~ b + c + d + e))

combine <- pool(fit)

但我不明白为什么需要这个线性模型以及它如何帮助我找到最佳插补运行。

谁能用简单的方式告诉我如何对 5 个插补进行检验/我如何决定选择哪一个?

感谢您的帮助!

最佳答案

mice 是一个多重插补包。多重插补本身并不是真正的插补算法 - 它更像是一个如何插补数据的概念,同时还考虑了插补带来的不确定性。

如果您只想要一个插补数据集,您可以使用单一插补包,例如 VIM (例如函数 irmi()kNN() )。还有包 imputeR missForest 适用于单一插补。你输出一个单一的估算数据集。

如果您仍想使用小鼠,并且只想在最后有一个估算数据集,您可以只采用五个数据集中的任何一个,也可以在五个数据集之间进行平均。

还有一个更深层次的原因,为什么多重插补会创建多个插补数据集。这背后的想法是,归责本身会引入偏见。您不能真正声称您估算的 NA 值是例如正好是 5。从贝叶斯的角度来看,更正确的答案是,缺失值可能介于 3 和 7 之间。因此,如果您将其设置为 5,就会引入偏差。

多重插补通过从不同的概率分布中抽样来解决这个问题,最后得到多个插补数据集,这基本上是所有可能的解决方案。

现在多重插补的主要思想是采用这五个数据集,将每个数据集视为可能的解决方案,然后对每个数据集进行分析!之后,您的分析结果(而不是估算的数据集!)将汇集在一起​​。

因此 with() 和 pooling() 部分与创建一个数据集无关,它们是将五个分析结果组合在一起所必需的。

线性模型是许多人应用于数据的一种分析形式。 (他们想分析一些变量与响应变量的关系)。为了得到无偏差的结果,该分析进行了 5 次,然后合并结果。

因此,如果您无论如何都不想使用线性模型,则不需要它。因为这部分与数据分析有关,而不与插补有关。

关于r - R(小鼠)中的多重插补 - 如何测试插补运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com