Learn R Programming

sirt (version 1.5-0)

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)

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

Value

  • A list with following entries:
  • lambdaData frame of item parameters $\lambda_{ik}$
  • gData frame of individual membership scores $g_{pk}$
  • g.meanMean membership scores
  • gcutDiscretized membership scores
  • gcut.distrDistribution of discretized membership scores
  • KNumber of classes
  • devianceDeviance
  • icInformation criteria
  • NNumber of students
  • scorePerson score
  • iterNumber of iterations
  • datprocList with processed data (recoded data, starting values, ...)
  • ...Further values

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 <- gom.jml(dat,K=2 , maxiter=10 )
summary(m2)

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

Run the code above in your browser using DataLab