gom.jml {sirt}R Documentation

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)

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 λik\lambda_{ik} parameter to be estimated

min.g

Minimum gpkg_{pk} parameter to be estimated

Details

The item response model of the grade of membership model with KK classes for dichotomous correct responses XpiX_{pi} of person pp on item ii is

P(Xpi=1gp1,,gpK)=kλikgpk,kgpk=1 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 λik\lambda_{ik}

g

Data frame of individual membership scores gpkg_{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)

## Not run: 
# 3 Classes with fixed seed and maximum number of iterations
m3 <- sirt::gom.jml(dat,K=3, maxiter=50,seed=89)
summary(m3)

## End(Not run)

[Package sirt version 4.1-15 Index]