Learn R Programming

bayesm (version 1.1-2)

rbprobitGibbs: Gibbs Sampler (Albert and Chib) for Binary Probit

Description

rbprobitGibbs implements the Albert and Chib Gibbs Sampler for the binary probit model.

Usage

rbprobitGibbs(Data, Prior, Mcmc)

Arguments

Data
list(X,y)
Prior
list(betabar,A)
Mcmc
list(R,keep)

Value

  • betadrawR/keep x k array of betadraws

concept

  • bayes
  • MCMC
  • probit
  • Gibbs Sampling

Details

Model: $z = X\beta + e$. $e$ $\sim$ $N(0,I)$. y=1, if z> 0. Prior: $\beta$ $\sim$ $N(betabar,A^{-1})$. List arguments contain [object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

References

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

See Also

rmnpGibbs

Examples

Run this code
##
## rbprobitGibbs example
##
if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=2000} else {R=10}

set.seed(66)
simbprobit=
function(X,beta) {
##  function to simulate from binary probit including x variable
y=ifelse((X%*%beta+rnorm(nrow(X)))<0,0,1)
list(X=X,y=y,beta=beta)
}

nobs=200
X=cbind(rep(1,nobs),runif(nobs),runif(nobs))
beta=c(0,1,-1)
nvar=ncol(X)
simout=simbprobit(X,beta)

Data=list(X=simout$X,y=simout$y)
Mcmc=list(R=R,keep=1)

out=rbprobitGibbs(Data=Data,Mcmc=Mcmc)

cat("Betadraws ",fill=TRUE)
mat=apply(out$betadraw,2,quantile,probs=c(.01,.05,.5,.95,.99))
mat=rbind(beta,mat); rownames(mat)[1]="beta"; print(mat)

Run the code above in your browser using DataLab