rscaleUsage {bayesm}R Documentation

MCMC Algorithm for Multivariate Ordinal Data with Scale Usage Heterogeneity.

Description

rscaleUsage implements an MCMC algorithm for multivariate ordinal data with scale usage heterogeniety.

Usage

rscaleUsage(Data,Prior, Mcmc)

Arguments

Data list(k,x)
Prior list(nu,V,mubar,Am,gsigma,gl11,gl22,gl12,Lambdanu,LambdaV,ge) (optional)
Mcmc list(R,keep,ndghk,printevery,e,y,mu,Sigma,sigma,tau,Lambda) (optional)

Details

Model: n=nrow(x) individuals respond to m=ncol(x) questions. all questions are on a scale 1, ..., k. for respondent i and question j,
x_{ij} = d, if c_{d-1} <= y_{ij} <= c_d.
d=1,...,k. c_d = a + bd +ed^2.

y_i = mu + tau_i*iota + sigma_i*z_i. z_i ~ N(0,Sigma).

Priors:
(tau_i,ln(sigma_i)) ~ N(phi,Lamda). phi=(0,lambda_{22}).
mu ~ N(mubar, Am{^-1}).
Sigma ~ IW(nu,V).
Lambda ~ IW(Lambdanu,LambdaV).
e ~ unif on a grid.

Value

a list containing:

Sigmadraw R/keep x m*m array of Sigma draws
mudraw R/keep x m array of mu draws
taudraw R/keep x n array of tau draws
sigmadraw R/keep x n array of sigma draws
Lambdadraw R/keep x 4 array of Lamda draws
edraw R/keep x 1 array of e draws

Warning

tau_i, sigma_i are identified from the scale usage patterns in the m questions asked per respondent (# cols of x). Do not attempt to use this on data sets with only a small number of total questions!

Note

It is highly recommended that the user choose the default settings. This means not specifying the argument Prior and setting R in Mcmc and Data only. If you wish to change prior settings and/or the grids used, please read the case study in Allenby et al carefully.

Author(s)

Rob McCulloch and 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, Case Study on Scale Usage Heterogeneity.
http://faculty.chicagogsb.edu/peter.rossi/research/bsm.html

Examples

##
if(nchar(Sys.getenv("LONG_TEST")) != 0) {R=1000} else {R=1} 
{
data(customerSat)
surveydat = list(k=10,x=as.matrix(customerSat))

Mcmc1 = list(R=R)
set.seed(66)
out=rscaleUsage(Data=surveydat,Mcmc=Mcmc1)

summary(out$mudraw)

}

[Package bayesm version 2.2-2 Index]