gpt4 book ai didi

r - 如何创建随机种子

转载 作者:行者123 更新时间:2023-12-04 12:52:39 26 4
gpt4 key购买 nike

假设我将一个 R 进程分配给 10 个工作人员来运行一些并行模拟。确保每个 worker 使用不同随机数的可靠方法是什么?我一直在使用这个:

myseed <- (unclass(Sys.time())*1e9 * Sys.getpid()) %% 1e9;
set.seed(myseed);

但令我惊讶的是,由于 worker 之间的 RNG 冲突,我遇到了问题。这里可能出了什么问题?是否有更好的随机性来源可用于为 RNG 设定种子?

最佳答案

请参阅 vignette("parallel") 第 6 节,了解如何使用该包中的函数完成此操作的详细信息,这些函数似乎独立于使用 parallel 的函数并行运行。

这里给出的例子是:

RNGkind("L'Ecuyer-CMRG")
set.seed(<something>)
## start M workers
s <- .Random.seed
for (i in 1:M) {
s <- nextRNGStream(s)
# send s to worker i as .Random.seed
}

那个小插图还提到了 rstream rlecuyer 包,除了 doRNG 包,@Simon O'Hanlon 在他的评论中提到,以及 rsprng @Dirk 提到的包。

关于r - 如何创建随机种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21244575/

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