sampler | R Documentation |
sampler
sampler(iterations, vy, mX, prior = "BIC", modelprior = "uniform",
modelpriorvec_in=NULL, cores=1)
iterations |
The number of iterations to run the MCMC sampler for |
vy_in |
Vector of responses |
mX_in |
The matrix of covariates which may or may not be included in each model |
prior |
– the choice of mixture $g$-prior used to perform Bayesian model averaging. The choices available include:
|
modelprior |
The model prior to use. The choices of model prior are "uniform", "beta-binomial" or "bernoulli". The choice of model prior dictates the meaning of the parameter modelpriorvec. |
cores |
The number of cores to use. Defaults to 1. |
modelpriorvec |
If modelprior is "uniform", then the modelpriorvec is ignored and can be null. If modelprior is "beta-binomial" then modelpriorvec should be length 2 with the first element containing alpha hyperparameter for the beta prior and the second element containing the beta hyperparameter for beta prior. If modelprior is "bernoulli", then modelpriorvec must be of the same length as the number columns in mX. Each element i of modelpriorvec contains the prior probability of the the ith covariate being included in the model. |
The object returned is a list containing:
"mGamma"– An iterations by p binary matrix containing the sampled models.
"vinclusion_prob"– The vector of inclusion probabilities.
"vlogBF"– The vector of logs of the Bayes Factors of the models in mGamma.
Bayarri, M. J., Berger, J. O., Forte, A., Garcia-Donato, G., 2012. Criteria for Bayesian model choice with application to variable selection. Annals of Statistics 40 (3), 1550-1577.
Greenaway, M. J., J. T. Ormerod (2018) Numerical aspects of Bayesian linear models averaging using mixture g-priors.
Liang, F., Paulo, R., Molina, G., Clyde, M. a., Berger, J. O., 2008. Mixtures of g priors for Bayesian variable selection. Journal of the American Statistical Association 103 (481), 410-423.
Ormerod, J. T., Stewart, M., Yu, W., Romanes, S. E., 2017. Bayesian hypothesis tests with diffuse priors: Can we have our cake and eat it too?
mD <- MASS::UScrime
notlog <- c(2,ncol(MASS::UScrime))
mD[,-notlog] <- log(mD[,-notlog])
for (j in 1:ncol(mD)) {
mD[,j] <- (mD[,j] - mean(mD[,j]))/sd(mD[,j])
}
varnames <- c(
"log(AGE)",
"S",
"log(ED)",
"log(Ex0)",
"log(Ex1)",
"log(LF)",
"log(M)",
"log(N)",
"log(NW)",
"log(U1)",
"log(U2)",
"log(W)",
"log(X)",
"log(prison)",
"log(time)")
vy <- mD$y
mX <- data.matrix(cbind(mD[1:15]))
colnames(mX) <- varnames
K <- 100
p <- ncol(mX)
sampler_result <- sampler(10000, vy, mX, prior = "BIC",
modelprior = "uniform",
modelpriorvec_in=NULL)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.