-
Notifications
You must be signed in to change notification settings - Fork 1
/
Erlang_bootstrap.r
42 lines (41 loc) · 1.09 KB
/
Erlang_bootstrap.r
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
erlang_bootstrap_once <- function(dt,
mll,
mle,
type = "nonparametric"){
if(type == "nonparametric"){
indices <- sample(seq_len(dt$K),
size = dt$K,
replace = TRUE)
dd <- list(
obs_x = dt$obs_x[indices],
K = dt$K
)
}else{
dd <- simulate_obsdata(n = dt$K,
mu = mle[1], b = mle[2])
}
obj <- get_estimates(data = dd, minusloglik_fun = mll)
return(
data.frame(
mu_est = obj$results$point[1],
beta_est = obj$results$point[2]
)
)
}
erlang_bootstrap <- function(dt, Nrep = 200, ncores,
mll,
mle,
type = "nonparametric"){
result <- parallel::mclapply(
1:Nrep,
function(i){
data.frame(
erlang_bootstrap_once(dt = dt, mll = mll,
mle = mle, type = type),
replicate = i
)
},
mc.cores = ncores
)
return(do.call(rbind, result))
}