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://gsbwww.uchicago.edu/fac/peter.rossi/research/bsm.html

### Examples

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

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

    cat(" mudraws ",fill=TRUE)
    mat=apply(out$mudraw,2,quantile,probs=c(.01,.05,.5,.95,.99))
    print(mat)

    }

[Package bayesm version 2.0-8 Index]