Combine multiple chains comprising BKMR fits at different starting values.
1 2 3
add in custom burnin (number of burnin iterations per chain)
ensures that the first half of the combined chain contains
only the first half of each individual chain - this allows unaltered use
of standard functions from bkmr package, which automatically trims the first
half of the iterations. This can be used for posterior summaries, but
certain diagnostics may not work well (autocorrelation, effective sample size)
so the diagnostics should be done on the individual chains
#' @param ... arguments to
Chains are not combined fully sequentially
bkmrplusfit object, which inherits from
with multiple chains combined into a single object and additional parameters
iters, which index the specific chains and
iterations for each posterior sample in the
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
# following example from https://jenfb.github.io/bkmr/overview.html set.seed(111) library(bkmr) dat <- bkmr::SimData(n = 50, M = 4) y <- dat$y Z <- dat$Z X <- dat$X set.seed(111) Sys.setenv(R_FUTURE_SUPPORTSMULTICORE_UNSTABLE="quiet") future::plan(strategy = future::multiprocess, workers=2) # run 4 parallel Markov chains (low iterations used for illustration) fitkm.list <- kmbayes_parallel(nchains=2, y = y, Z = Z, X = X, iter = 500, verbose = FALSE, varsel = TRUE) bigkm = kmbayes_combine(fitkm.list) ests = ExtractEsts(bigkm) ExtractPIPs(bigkm) pred.resp.univar <- PredictorResponseUnivar(fit = bigkm) risks.overall <- OverallRiskSummaries(fit = bigkm, y = y, Z = Z, X = X, qs = seq(0.25, 0.75, by = 0.05), q.fixed = 0.5, method = "exact") # additional objects that are not in a standard bkmrfit object: summary(bigkm$iters) table(bigkm$chain) closeAllConnections()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.