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, ...)
for a univariate model, this is a symbolic description of the regression model to be fit. See example below.
an optional data frame containing the variables in the
model. If not found in data, the variables are taken from
environment(formula)
, typically the environment from which spLM
is called.
the number of posterior samples to collect.
currently no additional arguments.
An object of class bayesLMConjugate
, which is a list with at
least the following tag:
a coda
object of posterior samples for the defined parameters.
# 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)
# }
Run the code above in your browser using DataLab