在 `R` 中使用 `boot` 函数的 `parallel` 选项
Use `parallel` option of `boot` function in `R`
我在 R
中使用 boot
函数来实现 bootstrap。我的问题是如何设置 boot
以利用其并行选项。考虑以下估计中位数的具体示例。
med_est <- function(dat, indices){
.dat <- dat[indices]
median(.dat)
}
dat <- rnorm(200)
system.time(boot(dat, med_est, R = 10000))
system.time(boot(dat, med_est, R = 10000, parallel = "multicore"))
我不知道如何使用 boot
函数中的 parallel
选项。让 parallel = "multicore"
不会提高时间的速度。我尝试过更复杂的估计问题。但我没有看到区别。所以我想我没有正确使用 boot
。我的机器是双核的Mac.
来自 boot
手册(粗体是我的)。
boot(data, statistic, R, sim = "ordinary", stype = c("i", "f", "w"),
strata = rep(1,n), L = NULL, m = 0, weights = NULL,
ran.gen = function(d, p) d, mle = NULL, simple = FALSE, ...,
parallel = c("no", "multicore", "snow"),
ncpus = getOption("boot.ncpus", 1L), cl = NULL)
尝试:
system.time(boot(dat, med_est, R = 10000, parallel = "multicore", ncpus=2))
我在 R
中使用 boot
函数来实现 bootstrap。我的问题是如何设置 boot
以利用其并行选项。考虑以下估计中位数的具体示例。
med_est <- function(dat, indices){
.dat <- dat[indices]
median(.dat)
}
dat <- rnorm(200)
system.time(boot(dat, med_est, R = 10000))
system.time(boot(dat, med_est, R = 10000, parallel = "multicore"))
我不知道如何使用 boot
函数中的 parallel
选项。让 parallel = "multicore"
不会提高时间的速度。我尝试过更复杂的估计问题。但我没有看到区别。所以我想我没有正确使用 boot
。我的机器是双核的Mac.
来自 boot
手册(粗体是我的)。
boot(data, statistic, R, sim = "ordinary", stype = c("i", "f", "w"), strata = rep(1,n), L = NULL, m = 0, weights = NULL, ran.gen = function(d, p) d, mle = NULL, simple = FALSE, ..., parallel = c("no", "multicore", "snow"), ncpus = getOption("boot.ncpus", 1L), cl = NULL)
尝试:
system.time(boot(dat, med_est, R = 10000, parallel = "multicore", ncpus=2))