breg {bayesm} | R Documentation

## Posterior Draws from a Univariate Regression with Unit Error Variance

### Description

`breg` makes one draw from the posterior of a univariate regression (scalar dependent variable) given the error variance = 1.0. A natural conjugate, normal prior is used.

### Usage

    breg(y, X, betabar, A)

### Arguments

`y` | vector of values of dep variable.
`X` | n (length(y)) x k Design matrix.
`betabar` | k x 1 vector. Prior mean of regression coefficients.
`A` | Prior precision matrix.

### Details

model: y=x'β + e. e ~ N(0,1).

prior: β ~ N(betabar,A^{-1}).

### Value

k x 1 vector containing a draw from the posterior distribution.

### Warning

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

In particular, X must be a matrix. If you have a vector for X, coerce it into a matrix with one column

### Author(s)

Peter Rossi, Graduate School of Business, University of Chicago, Peter.Rossi@ChicagoGsb.edu.

### References

For further discussion, see Bayesian Statistics and Marketing by Rossi,Allenby and McCulloch.
http://gsbwww.uchicago.edu/fac/peter.rossi/research/bsm.html

### Examples

    ##

    if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=1000} else {R=10}

    ## simulate data
    set.seed(66)
    n=100
    X=cbind(rep(1,n),runif(n)); beta=c(1,2)
    y=X%*%beta+rnorm(n)
    ##
    ## set prior
    A=diag(c(.05,.05)); betabar=c(0,0)
    ##
    ## make draws from posterior
    betadraw=matrix(double(R*2),ncol=2)
    for (rep in 1:R) {betadraw[rep,]=breg(y,X,betabar,A)}
    ##
    ## summarize draws
    mat=apply(betadraw,2,quantile,probs=c(.01,.05,.5,.95,.99))
    mat=rbind(beta,mat); rownames(mat)[1]="beta"; print(mat)

[Package bayesm version 2.0-8 Index]