Grade of Membership Model (Joint Maximum Likelihood Estimation)
gom.jml.Rd
This function estimates the grade of membership model employing a joint maximum likelihood estimation method (Erosheva, 2002; p. 23ff.).
Usage
gom.jml(dat, K=2, seed=NULL, globconv=0.001, maxdevchange=0.001,
maxiter=600, min.lambda=0.001, min.g=0.001)
Arguments
- dat
Data frame of dichotomous item responses
- K
Number of classes
- seed
Seed value of random number generator. Deterministic starting values are used for the default value
NULL
.- globconv
Global parameter convergence criterion
- maxdevchange
Maximum change in relative deviance
- maxiter
Maximum number of iterations
- min.lambda
Minimum \(\lambda_{ik}\) parameter to be estimated
- min.g
Minimum \(g_{pk}\) parameter to be estimated
Details
The item response model of the grade of membership model with \(K\) classes for dichotomous correct responses \(X_{pi}\) of person \(p\) on item \(i\) is $$ P(X_{pi}=1 | g_{p1}, \ldots, g_{pK} )=\sum_k \lambda_{ik} g_{pk} \quad, \quad \sum_k g_{pk}=1 $$
Value
A list with following entries:
- lambda
Data frame of item parameters \(\lambda_{ik}\)
- g
Data frame of individual membership scores \(g_{pk}\)
- g.mean
Mean membership scores
- gcut
Discretized membership scores
- gcut.distr
Distribution of discretized membership scores
- K
Number of classes
- deviance
Deviance
- ic
Information criteria
- N
Number of students
- score
Person score
- iter
Number of iterations
- datproc
List with processed data (recoded data, starting values, ...)
- ...
Further values
References
Erosheva, E. A. (2002). Grade of membership and latent structure models with application to disability survey data. PhD thesis, Carnegie Mellon University, Department of Statistics.
See also
S3 method summary.gom
Examples
#############################################################################
# EXAMPLE 1: TIMSS data
#############################################################################
data( data.timss)
dat <- data.timss$data[, grep("M", colnames(data.timss$data) ) ]
# 2 Classes (deterministic starting values)
m2 <- sirt::gom.jml(dat,K=2, maxiter=10 )
summary(m2)
if (FALSE) {
# 3 Classes with fixed seed and maximum number of iterations
m3 <- sirt::gom.jml(dat,K=3, maxiter=50,seed=89)
summary(m3)
}