breg {bayesm} | R Documentation |
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.
breg(y, X, betabar, A)
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. |
model: y=x'β + e. e ~ N(0,1).
prior: β ~ N(betabar,A^{-1}).
k x 1 vector containing a draw from the posterior distribution.
This routine is a utility routine that does not check the input arguments for proper dimensions and type.
Peter Rossi, Graduate School of Business, University of Chicago, Peter.Rossi@ChicagoGsb.edu.
For further discussion, see Bayesian Statistics and Marketing
by Allenby, McCulloch, and Rossi.
http://gsbwww.uchicago.edu/fac/peter.rossi/research/bsm.html
## 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)