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
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 inferenceset.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")