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

View source: R/gom.jml.R

gom.jmlR 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 \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)

## 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)

alexanderrobitzsch/sirt documentation built on March 18, 2024, 1:29 p.m.