dRUMIndMH: Data-augmented independence Metropolis-Hastings sampling for...

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

dRUMIndMH simulates the posterior distribution of the regression coefficients of a binomial logit model and returns the MCMC draws. The sampling procedure is based on an algorithm using data augmentation, where the regression coefficients are estimated by rewriting the binomial logit model as a latent variable model called difference random utility model (dRUM). The Type III generalized logistic distribution of the error in the dRUM representation is approximated by a normal distribution with same mean and variance. The posterior of this approximate regression model is then used as independence proposal density for the regression coefficients.

Usage

1
2
dRUMIndMH(yi, Ni, X, sim = 12000, burn = 2000, acc = 0, b0, B0, 
          start, verbose = 500)

Arguments

yi

an integer vector of counts for binomial data.

Ni

an integer vector containing the number of trials for binomial data.

X

a design matrix of predictors.

sim

number of MCMC draws including burn-in. The default value is 12000 draws.

burn

number of MCMC draws discarded as burn-in. Default is a burn-in of 2000 draws.

acc

number of MCMC draws at the beginning of the burn-in phase where each proposed parameter vector is accepted with probability 1 rather than according to the MH acceptance rule. Choose a small number acc > 0 if the sampler gets stuck at the starting values, otherwise acc is set to 0.

b0

an optional vector of length dims = ncol(X) containing the prior mean. Otherwise a vector of zeros is used.

B0

an optional dims x dims prior variance-covariance matrix. Otherwise a diagonal matrix with all diagonal elements equal to 10 is used.

start

an optional vector of length dims = ncol(X) containing the starting values for the regression parameters. Otherwise a vector of zeros is used.

verbose

an optional non-negative integer indicating that in each verbose-th iteration step a status report is printed (default: verbose = 500). If 0, no output is generated during MCMC sampling.

Details

For details concerning the algorithm see the paper by Fussl, Fruehwirth-Schnatter and Fruehwirth (2013).

Value

The output is a list object of class c("binomlogitMH","binomlogit") containing

beta

a dims x sim matrix of sampled regression coefficients from the posterior distribution

sim

the argument sim

burn

the argument burn

acc

the argument acc

dims

number of covariates (dims = ncol(X))

t

number of binomial observations/covariate patterns (t = length(yi)); covariate patterns where Ni = 0 are not included

b0

the argument b0

B0

the argument B0

duration

a numeric value indicating the total time (in secs) used for the function call

duration_wBI

a numeric value indicating the time (in secs) used for the sim-burn MCMC draws after burn-in

rate

acceptance rate based on the sim-burn MCMC draws after burn-in

To display the output use print, summary and plot. The print method prints the number of observations and covariates entered in the routine, the total number of MCMC draws (including burn-in), the number of draws discarded as burn-in, the runtime used for the whole algorithm and for the sim-burn MCMC draws after burn-in and the acceptance rate. The summary method additionally returns the length of the acceptance phase during burn-in, the used prior parameters b0 and B0 and the posterior mean for the regression coefficients without burn-in. The plot method plots the MCMC draws and their acf for each regression coefficient, both without burn-in.

Note

dRUMIndMH could also be used to estimate the regression coefficients in the individual dRUM representation of the binomial logit model (analogous to dRUMAuxMix). However, it is more straightforward to use IndivdRUMIndMH, where binary observations can directly be used as input.

Author(s)

Agnes Fussl <avf@gmx.at>

References

Agnes Fussl, Sylvia Fruehwirth-Schnatter and Rudolf Fruehwirth (2013), "Efficient MCMC for Binomial Logit Models". ACM Transactions on Modeling and Computer Simulation 23, 1, Article 3, 21 pages.

See Also

dRUMAuxMix, dRUMHAM, IndivdRUMIndMH

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## Independence MH sampling in the aggregated dRUM representation of a 
## binomial logit model

## load caesarean birth data
data(caesarean)
yi <- as.numeric(caesarean[,1])                          
Ni <- as.numeric(caesarean[,2])                           
X <- as.matrix(caesarean[,-(1:2)])

## start independence MH sampler
mh1 <- dRUMIndMH(yi,Ni,X)

print(mh1)
summary(mh1)
plot(mh1)

## Not run: 
## load simulated data set
data(simul)
yi <- as.numeric(simul[,1])                          
Ni <- as.numeric(simul[,2])                           
X <- as.matrix(simul[,-(1:2)])

## use a small acc>0 (e.g. acc=50), otherwise the sampler gets stuck at
## the starting values
mh2 <- dRUMIndMH(yi,Ni,X,acc=50)

print(mh2)
summary(mh2)
plot(mh2)

## End(Not run)

binomlogit documentation built on May 1, 2019, 7:28 p.m.