mptmix
Finite Mixtures of Multinomial Processing Tree Models
Fit finite mixtures of multinomial processing tree (MPT) models via maximum likelihood with the EM algorithm.
- Keywords
- mixture model
Usage
mptmix(formula, data, k, subset, weights,
nrep = 3, cluster = NULL, control = NULL,
verbose = TRUE, drop = TRUE, unique = FALSE, which = NULL,
spec, treeid = NULL,
optimargs = list(control = list(reltol =
.Machine$double.eps^(1/1.2), maxit = 1000)), ...)FLXMCmpt(formula = . ~ ., spec = NULL, treeid = NULL, optimargs = NULL, ...)
Arguments
- formula
Symbolic description of the model (of type
y ~ 1
ory ~ x
).- data, subset
Arguments controlling formula processing.
- k
A vector of integers indicating the number of components of the finite mixture; passed in turn to the
k
argument ofstepFlexmix
.- weights
An optional vector of weights to be used in the fitting process; passed in turn to the
weights
argument offlexmix
.- nrep
Number of runs of the EM algorithm.
- cluster
Either a matrix with
k
columns of initial cluster membership probabilities for each observation; or a factor or integer vector with the initial cluster assignments of observations at the start of the EM algorithm. Default is random assignment intok
clusters.- control
An object of class
"FLXcontrol"
or a named list; controls the EM algorithm and passed in turn to thecontrol
argument offlexmix
.- verbose
A logical; if
TRUE
progress information is shown for different starts of the EM algorithm.- drop
A logical; if
TRUE
andk
is of length 1, then a singlemptmix
object is returned instead of astepMPTmix
object.- unique
A logical; if
TRUE
, thenunique()
is called on the result; for details seestepFlexmix
.- which
number of model to get if
k
is a vector of integers longer than one. If character, interpreted as number of components or name of an information criterion.- spec, treeid, optimargs
arguments for the MPT model passed on to
mptmodel
.- …
Currently not used.
Details
Internally stepFlexmix
is called with suitable arguments to fit the finite mixture model with
the EM algorithm.
FLXMCmpt
is the flexmix
driver for
MPT mixture models.
The interface is designed along the same lines as raschmix
which is introduced in detail in Frick et al. (2012). However, the
mptmix
function has not yet been fully tested and may change in
future versions.
The latent-class MPT model (Klauer, 2006) is equivalent to an MPT mixture model without concomitant variables.
MPT models are specified using the mptspec
function. See the
documentation in the mpt package for details.
Value
Either an object of class "mptmix"
containing the best model
with respect to the log-likelihood (if k
is a scalar) or the
one selected according to which
(if specified and k
is a
vector of integers longer than 1) or an object of class
"stepMPTmix"
(if which
is not specified and k
is a
vector of integers longer than 1).
References
Frick, H., Strobl, C., Leisch, F., and Zeileis, A. (2012). Flexible Rasch Mixture Models with Package psychomix. Journal of Statistical Software, 48(7), 1--25. http://www.jstatsoft.org/v48/i07/
Klauer, K.C. (2006). Hierarchical Multinomial Processing Tree Models: A Latent-Class Approach. Psychometrika, 71, 7--31. 10.1007/s11336-004-1188-3
See Also
Examples
# NOT RUN {
# }
# NOT RUN {
## Data
data("PairClustering", package = "psychotools")
pc <- reshape(PairClustering, timevar = "trial", idvar = "ID",
direction = "wide")
## Latent-class MPT model (Klauer, 2006)
suppressWarnings(RNGversion("3.5.0"))
set.seed(1)
m <- mptmix(as.matrix(pc[-1]) ~ 1, data = pc, k = 1:3,
spec = mptspec("SR", .replicates = 2))
m1 <- getModel(m, which = "BIC")
## Inspect results
summary(m1)
parameters(m1)
plot(m1)
library(lattice)
xyplot(m1)
# }
# NOT RUN {
# }