1

多重插补包mice使用可以使用set.seed参数设置的随机数生成器。我正在运行 R 的多个实例(即 3 个),其中相同的数据使用相同的mice参数进行估算,set.seed=NA其中没有指定任何种子值。

然而,R 的三个实例产生完全相同的插补。我对这个观察感到困惑,因为我认为 R 的不同实例在使用时应该使用不同的种子值set.seed=NA,但看起来它们使用的是相同的。当我set.seed手动设置时,会产生不同的插补。

我的问题是:这是否合理,或者是否存在导致种子相同的计算机(PC windows 7)问题,即使我设置了set.seed=NA. 我欢迎任何关于这个问题的想法。

顺便说一句:我使用 R 的多个实例,因为 MICE 函数ibind()可用于组合mids(乘以估算数据集)对象。因此,它可以节省多核系统的计算时间。如果产生相同的插补,这当然是无稽之谈。

4

1 回答 1

2

如果将NULL用作 的参数set.seed,RNG 将产生不同的结果。

> set.seed(NULL)
> rnorm(5)
[1] -0.45861478 -0.56525262 -0.95349202  0.05073898 -1.01956671
> set.seed(NULL)
> rnorm(5)
[1]  0.57787302  3.27165390  0.53466909 -1.15390604 -0.02624054

我建议使用序列

set.seed(NULL)
mice(...) # without seed argument
于 2013-12-07T11:53:28.767 回答