ComputePostmeanHnew function

Compute the posterior mean and variance of h at a new predictor values

Compute the posterior mean and variance of h at a new predictor values

ComputePostmeanHnew( fit, y = NULL, Z = NULL, X = NULL, Znew = NULL, sel = NULL, method = "approx" )

Arguments

  • fit: An object containing the results returned by a the kmbayes function
  • y: a vector of outcome data of length n.
  • Z: an n-by-M matrix of predictor variables to be included in the h function. Each row represents an observation and each column represents an predictor.
  • X: an n-by-K matrix of covariate data where each row represents an observation and each column represents a covariate. Should not contain an intercept column.
  • Znew: matrix of new predictor values at which to predict new h, where each row represents a new observation. If set to NULL then will default to using the observed exposures Z.
  • sel: selects which iterations of the MCMC sampler to use for inference; see details
  • method: method for obtaining posterior summaries at a vector of new points. Options are "approx" and "exact"; defaults to "approx", which is faster particularly for large datasets; see details

Returns

a list of length two containing the posterior mean vector and posterior variance matrix

Details

  • If method == "approx", the argument sel defaults to the second half of the MCMC iterations.
  • If method == "exact", the argument sel defaults to keeping every 10 iterations after dropping the first 50% of samples, or if this results in fewer than 100 iterations, than 100 iterations are kept

For guided examples and additional information, go to https://jenfb.github.io/bkmr/overview.html

Examples

set.seed(111) dat <- SimData(n = 50, M = 4) y <- dat$y Z <- dat$Z X <- dat$X ## Fit model with component-wise variable selection ## Using only 100 iterations to make example run quickly ## Typically should use a large number of iterations for inference set.seed(111) fitkm <- kmbayes(y = y, Z = Z, X = X, iter = 100, verbose = FALSE, varsel = TRUE) med_vals <- apply(Z, 2, median) Znew <- matrix(med_vals, nrow = 1) h_true <- dat$HFun(Znew) h_est1 <- ComputePostmeanHnew(fitkm, Znew = Znew, method = "approx") h_est2 <- ComputePostmeanHnew(fitkm, Znew = Znew, method = "exact")
  • Maintainer: Jennifer F. Bobb
  • License: GPL-2
  • Last published: 2022-03-28