Learn R Programming

PLMIX (version 2.1.1)

Loglikelihood: Likelihood and log-likelihood evaluation for a mixture of Plackett-Luce models

Description

Compute either the likelihood or the log-likelihood of the Plackett-Luce mixture model parameters for a partial ordering dataset.

Usage

likPLMIX(p, ref_order, weights, pi_inv)

loglikPLMIX(p, ref_order, weights, pi_inv)

Arguments

p

Numeric \(G\)\(\times\)\(K\) matrix of component-specific support parameters.

ref_order

Numeric \(G\)\(\times\)\(K\) matrix of component-specific reference orders.

weights

Numeric vector of \(G\) mixture weights.

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.

Value

Either the likelihood or the log-likelihood value of the Plackett-Luce mixture model parameters for a partial ordering dataset.

Details

The ref_order argument accommodates for the more general mixture of Extended Plackett-Luce models (EPL), involving the additional reference order parameters (Mollica and Tardella 2014). A permutation of the first \(K\) integers can be specified in each row of the ref_order argument. Since the Plackett-Luce model is a special instance of the EPL with the reference order equal to the identity permutation, the ref_order argument must be a matrix with \(G\) rows equal to \((1,\dots,K)\) when dealing with Plackett-Luce mixtures.

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.

Mollica, C. and Tardella, L. (2014). Epitope profiling via mixture modeling for ranked data. Statistics in Medicine, 33(21), pages 3738--3758, ISSN: 0277-6715, DOI: 10.1002/sim.6224.

Examples

Run this code
# NOT RUN {
data(d_apa)
K <- ncol(d_apa)
G <- 3
support_par <- matrix(1:(G*K), nrow=G, ncol=K)
weights_par <- c(0.50, 0.25, 0.25)
loglikPLMIX(p=support_par, ref_order=matrix(1:K, nrow=G, ncol=K, byrow=TRUE), 
            weights=weights_par, pi_inv=d_apa)

# }

Run the code above in your browser using DataLab