bkmrhat (version 0.1.16)

comb_bkmrfits: Combine multiple BKMR chains

Description

Combine multiple chains comprising BKMR fits at different starting values.

Usage

comb_bkmrfits(fitkm.list, burnin = 0, reorder = TRUE)

Arguments

fitkm.list

output from kmbayes_par

burnin

add in custom burnin (number of burnin iterations per chain)

reorder

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 as.mcmc.bkmrfit

Value

a bkmrplusfit object, which inherits from bkmrfit (from the kmbayes function) with multiple chains combined into a single object and additional parameters given by chain and iters, which index the specific chains and iterations for each posterior sample in the bkmrplusfit object

Details

Chains are not combined fully sequentially

Examples

Run this code
# NOT RUN {
# 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)
# run 4 parallel Markov chains
fitkm.list <- kmbayes_parallel(nchains=4, y = y, Z = Z, X = X, iter = 5000,
  verbose = FALSE, varsel = TRUE)
bigkm = comb_bkmrfits(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)
# }
# NOT RUN {
closeAllConnections()

# }

Run the code above in your browser using DataCamp Workspace