Learn R Programming

sirt (version 4.1-15)

gom.jml: Grade of Membership Model (Joint Maximum Likelihood Estimation)

Description

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)

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

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 $$

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

Run this code
#############################################################################
# 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)
}

Run the code above in your browser using DataLab