Learn R Programming

spBayes (version 0.2-4)

bayesLMConjugate: Simple Bayesian linear model via the Normal/inverse-Gamma conjugate

Description

Given an lm object, the bayesLMConjugate function fits a simple Bayesian linear model with Normal and inverse-Gamma priors.

Usage

bayesLMConjugate(formula, data = parent.frame(), n.samples,
                     beta.prior.mean, beta.prior.precision,
                     prior.shape, prior.rate, ...)

Arguments

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 environment(formula), typically the environment from which spLM is called.
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
$\sigma^2$ inverse-Gamma shape hyperprior.
prior.rate
$\sigma^2$ inverse-Gamma 1/scale hyperprior.
...
currently no additional arguments.

Value

  • An object of class bayesLMConjugate, which is a list with at least the following tag:
  • p.samplesa coda object of posterior samples for the defined parameters.

Examples

Run this code
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.samples)

Run the code above in your browser using DataLab