label_switchPLMIX {PLMIX} | R Documentation |
Label switching adjustment of the Gibbs sampling simulations for Bayesian mixtures of Plackett-Luce models
Description
Remove the label switching phenomenon from the MCMC samples of Bayesian mixtures of Plackett-Luce models with G>1
components.
Usage
label_switchPLMIX(pi_inv, seq_G, MCMCsampleP, MCMCsampleW, MAPestP,
MAPestW, parallel = FALSE)
Arguments
pi_inv |
An object of class |
seq_G |
Numeric vector with the number of components of the Plackett-Luce mixtures to be assessed. |
MCMCsampleP |
List of size |
MCMCsampleW |
List of size |
MAPestP |
List of size |
MAPestW |
List of size |
parallel |
Logical: whether parallelization should be used. Default is |
Details
The label_switchPLMIX
function performs the label switching adjustment of the MCMC samples via the Pivotal Reordering Algorithm (PRA) described in Marin et al (2005), by recalling the pra
function from the label.switching
package.
Value
A list of named objects:
final_sampleP |
List of size |
final_sampleW |
List of size |
Author(s)
Cristina Mollica and Luca Tardella
References
Mollica, C. and Tardella, L. (2017). Bayesian Plackett-Luce mixture models for partially ranked data. Psychometrika, 82(2), pages 442–458, ISSN: 0033-3123, DOI: 10.1007/s11336-016-9530-0.
Papastamoulis, P. (2016). label.switching: An R Package for Dealing with the Label Switching Problem in MCMC Outputs. Journal of Statistical Software, 69(1), pages 1–24, DOI: 10.18637/jss.v069.c01.
Marin, J. M., Mengersen, K. and Robert, C.P. (2005). Bayesian modelling and inference on mixtures of distributions. Handbook of Statistics (25), D. Dey and C.R. Rao (eds). Elsevier-Sciences.
See Also
Examples
data(d_carconf)
K <- ncol(d_carconf)
## Fit 1- and 2-component PL mixtures via MAP estimation
MAP_1 <- mapPLMIX_multistart(pi_inv=d_carconf, K=K, G=1,
n_start=2, n_iter=400*1)
MAP_2 <- mapPLMIX_multistart(pi_inv=d_carconf, K=K, G=2,
n_start=2, n_iter=400*2)
MAP_3 <- mapPLMIX_multistart(pi_inv=d_carconf, K=K, G=3,
n_start=2, n_iter=400*3)
mcmc_iter <- 30
burnin <- 10
## Fit 1- and 2-component PL mixtures via Gibbs sampling procedure
GIBBS_1 <- gibbsPLMIX(pi_inv=d_carconf, K=K, G=1, n_iter=mcmc_iter,
n_burn=burnin, init=list(p=MAP_1$mod$P_map,
z=binary_group_ind(MAP_1$mod$class_map,G=1)))
GIBBS_2 <- gibbsPLMIX(pi_inv=d_carconf, K=K, G=2, n_iter=mcmc_iter,
n_burn=burnin, init=list(p=MAP_2$mod$P_map,
z=binary_group_ind(MAP_2$mod$class_map,G=2)))
GIBBS_3 <- gibbsPLMIX(pi_inv=d_carconf, K=K, G=3, n_iter=mcmc_iter,
n_burn=burnin, init=list(p=MAP_3$mod$P_map,
z=binary_group_ind(MAP_3$mod$class_map,G=3)))
## Adjusting the MCMC samples for label switching
LS <- label_switchPLMIX(pi_inv=d_carconf, seq_G=1:3,
MCMCsampleP=list(GIBBS_1$P, GIBBS_2$P, GIBBS_3$P),
MCMCsampleW=list(GIBBS_1$W, GIBBS_2$W, GIBBS_3$W),
MAPestP=list(MAP_1$mod$P_map, MAP_2$mod$P_map, MAP_3$mod$P_map),
MAPestW=list(MAP_1$mod$W_map, MAP_2$mod$W_map, MAP_3$mod$W_map))
str(LS)