Simple Bayesian linear model via the Normal/inverse-Gamma conjugate
Given an lm
object, the bayesLMConjugate
function fits a
simple Bayesian linear model with Normal and inverse-Gamma priors.
bayesLMConjugate(formula, data = parent.frame(), n.samples, beta.prior.mean, beta.prior.precision, prior.shape, prior.rate, ...)
formula |
for a univariate model, this is a symbolic description of the regression model to be fit. See example below. |
data |
an optional data frame containing the variables in the
model. If not found in data, the variables are taken from
|
n.samples |
the number of posterior samples to collect. |
beta.prior.mean |
beta multivariate normal mean vector hyperprior. |
beta.prior.precision |
beta multivariate normal precision matrix hyperprior. |
prior.shape |
tau.sq inverse-Gamma shape hyperprior. |
prior.rate |
tau.sq inverse-Gamma 1/scale hyperprior. |
... |
currently no additional arguments. |
An object of class bayesLMConjugate
, which is a list with at
least the following tag:
p.beta.tauSq.samples |
a |
Sudipto Banerjee sudiptob@biostat.umn.edu,
Andrew O. Finley finleya@msu.edu
## Not run: data(FORMGMT.dat) n <- nrow(FORMGMT.dat) p <- 7 ##an intercept and six covariates n.samples <- 500 ## Below we demonstrate the conjugate function in the special case ## with improper priors. The results are the same as for the above, ## up to MC error. beta.prior.mean <- rep(0, times=p) beta.prior.precision <- matrix(0, nrow=p, ncol=p) prior.shape <- -p/2 prior.rate <- 0 m.1 <- bayesLMConjugate(Y ~ X1+X2+X3+X4+X5+X6, data = FORMGMT.dat, n.samples, beta.prior.mean, beta.prior.precision, prior.shape, prior.rate) summary(m.1$p.beta.tauSq.samples) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.