Learn R Programming

PLMIX (version 2.1.1)

mapPLMIX: MAP estimation for a Bayesian mixture of Plackett-Luce models

Description

Perform MAP estimation via EM algorithm for a Bayesian mixture of Plackett-Luce models fitted to partial orderings.

Usage

mapPLMIX(pi_inv, K, G, init = list(p = NULL, omega = NULL),
  n_iter = 1000, hyper = list(shape0 = matrix(1, nrow = G, ncol = K),
  rate0 = rep(0, G), alpha0 = rep(1, G)), eps = 10^(-6),
  centered_start = FALSE, plot_objective = FALSE)

Arguments

pi_inv

An object of class top_ordering, collecting the numeric \(N\)\(\times\)\(K\) data matrix of partial orderings, or an object that can be coerced with as.top_ordering.

K

Number of possible items.

G

Number of mixture components.

init

List of named objects with initialization values: p is a numeric \(G\)\(\times\)\(K\) matrix of component-specific support parameters; omega is a numeric vector of \(G\) mixture weights. If starting values are not supplied (NULL), they are randomly generated with a uniform distribution. Default is NULL.

n_iter

Maximum number of EM iterations.

hyper

List of named objects with hyperparameter values for the conjugate prior specification: shape0 is a numeric \(G\)\(\times\)\(K\) matrix of shape hyperparameters; rate0 is a numeric vector of \(G\) rate hyperparameters; alpha0 is a numeric vector of \(G\) Dirichlet hyperparameters. Default is noninformative (flat) prior setting.

eps

Tolerance value for the convergence criterion.

centered_start

Logical: whether a random start whose support parameters and weights should be centered around the observed relative frequency that each item has been ranked top. Default is FALSE. Ignored when init is not NULL.

plot_objective

Logical: whether the objective function (that is the kernel of the log-posterior distribution) should be plotted. Default is FALSE.

Value

A list of S3 class mpPLMIX with named elements:

W_map

Numeric vector with the MAP estimates of the \(G\) mixture weights.

P_map

Numeric \(G\)\(\times\)\(K\) matrix with the MAP estimates of the component-specific support parameters.

z_hat

Numeric \(N\)\(\times\)\(G\) matrix of estimated posterior component membership probabilities.

class_map

Numeric vector of \(N\) mixture component memberships based on MAP allocation from the z_hat matrix.

log_lik

Numeric vector of the log-likelihood values at each iteration.

objective

Numeric vector of the objective function values (that is the kernel of the log-posterior distribution) at each iteration.

max_objective

Maximized objective function value.

bic

BIC value (only for the default flat priors, otherwise NULL).

conv

Binary convergence indicator: 1 = convergence has been achieved, 0 = otherwise.

call

The matched call.

Details

Under noninformative (flat) prior setting, the EM algorithm for MAP estimation corresponds to the EMM algorithm described by Gormley and Murphy (2006) to perform frequentist inference. In this case, the MAP solution coincides with the MLE and the output vectors log_lik and objective coincide as well.

The mapPLMIX function performs the MAP procedure with a single starting value. To address the issue of local maxima in the posterior distribution, see the mapPLMIX_multistart function.

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.

Gormley, I. C. and Murphy, T. B. (2006). Analysis of Irish third-level college applications data. Journal of the Royal Statistical Society: Series A, 169(2), pages 361--379, ISSN: 0964-1998, DOI: 10.1111/j.1467-985X.2006.00412.x.

See Also

mapPLMIX_multistart

Examples

Run this code
# NOT RUN {
data(d_carconf)
MAP <- mapPLMIX(pi_inv=d_carconf, K=ncol(d_carconf), G=3, n_iter=400*3)
str(MAP)
MAP$P_map
MAP$W_map

# }

Run the code above in your browser using DataLab