rmultireg {bayesm} R Documentation

## Draw from the Posterior of a Multivariate Regression

### Description

` rmultireg` draws from the posterior of a Multivariate Regression model with a natural conjugate prior.

### Usage

`rmultireg(Y, X, Bbar, A, nu, V)`

### Arguments

 `Y ` n x m matrix of observations on m dep vars `X ` n x k matrix of observations on indep vars (supply intercept) `Bbar ` k x m matrix of prior mean of regression coefficients `A ` k x k Prior precision matrix `nu ` d.f. parameter for Sigma `V ` m x m pdf location parameter for prior on Sigma

### Details

Model:
Y = XB + U with cov(u_i) = Σ
B is k x m matrix of coefficients; Σ is m x m covariance matrix.

Priors:
β | Σ ~ N(betabar, Σ(x) A^{-1})
betabar = vec(Bbar); β = vec(B)
Σ ~ IW(nu, V)

### Value

A list of the components of a draw from the posterior

 `B ` draw of regression coefficient matrix `Sigma ` draw of Sigma

### Warning

This routine is a utility routine that does not check the input arguments for proper dimensions and type.

### Author(s)

Peter Rossi, Anderson School, UCLA, perossichi@gmail.com.

### References

For further discussion, see Chapter 2, Bayesian Statistics and Marketing by Rossi, Allenby, and McCulloch.
http://www.perossi.org/home/bsm-1

### Examples

```if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=2000} else {R=10}
set.seed(66)

n =200
m = 2
X = cbind(rep(1,n),runif(n))
k = ncol(X)
B = matrix(c(1,2,-1,3), ncol=m)
Sigma = matrix(c(1, 0.5, 0.5, 1), ncol=m)
RSigma = chol(Sigma)
Y = X%*%B + matrix(rnorm(m*n),ncol=m)%*%RSigma

betabar = rep(0,k*m)
Bbar = matrix(betabar, ncol=m)
A = diag(rep(0.01,k))
nu = 3
V = nu*diag(m)

for (rep in 1:R) {
out = rmultireg(Y, X, Bbar, A, nu, V)
}