GGUM: Fit the generalized graded unfolding model (GGUM)

View source: R/GGUM.R

GGUMR Documentation

Fit the generalized graded unfolding model (GGUM)

Description

GGUM estimates all item parameters for the GGUM.

Usage

GGUM(
  data,
  C,
  SE = TRUE,
  precision = 4,
  N.nodes = 30,
  max.outer = 60,
  max.inner = 60,
  tol = 0.001
)

Arguments

data

The NxI data matrix. The item scores are coded 0, 1, ..., C for an item with (C+1) observable response categories.

C

C is the number of observable response categories minus 1 (i.e., the item scores will be in the set {0, 1, ..., C}). It should either be a vector of I elements or a scalar. In the latter case, it is assumed that C applies to all items.

SE

Logical value: Estimate the standard errors of the item parameter estimates? Default is TRUE.

precision

Number of decimal places of the results (default = 4).

N.nodes

Number of nodes for numerical integration (default = 30).

max.outer

Maximum number of outer iterations (default = 60).

max.inner

Maximum number of inner iterations (default = 60).

tol

Convergence tolerance (default = .001).

Value

The function returns a list (an object of class GGUM) with 12 elements:

data

Data matrix.

C

Vector C.

alpha

The estimated discrimination parameters for the GGUM.

delta

The estimated difficulty parameters.

taus

The estimated threshold parameters.

SE

The standard errors of the item parameters estimates.

rows.rm

Indices of rows removed from the data before fitting the model, due to complete disagreement.

N.nodes

Number of nodes for numerical integration.

tol.conv

Loss function value at convergence (it is smaller than tol upon convergence).

iter.inner

Number of inner iterations (it is equal to 1 upon convergence).

model

Model fitted.

InformationCrit

Loglikelihood, number of model parameters, AIC, BIC, CAIC.

Details

The generalized graded unfolding model (GGUM; Roberts & Laughlin, 1996; Roberts et al., 2000) is given by

P(Z_i = z|t_n) = ( f(z) + f(M-z) ) / (sum( f(w) + f(M - w); w = 0, ..., C )),

f(w) = exp( alpha_i ( w(t_n - delta_i) - sum( tau_ik; k = 0, ..., w) ) ),

where:

  • The subscripts i and n identify the item and person, respectively.

  • z = 0, ..., C denotes the observed answer response.

  • M = 2C + 1 is the number of subjective response options minus 1.

  • t_n is the latent trait score for person n.

  • alpha_i is the item slope (discrimination).

  • delta_i is the item location.

  • tau_ik (k = 1, ..., M ) are the threshold parameters.

Parameter tau_i0 is arbitrarily constrained to zero and the threshold parameters are constrained to symmetry around zero, that is, tau_{i(C+1)} = 0 and tau_{iz} = -tau_{i(M-z+1)} for z != 0.

The marginal maximum likelihood algorithm of Roberts et al. (2000) was implemented.

Author(s)

Jorge N. Tendeiro, tendeiro@hiroshima-u.ac.jp

References

\insertRef

RobertsLaughlin1996GGUM

\insertRef

Robertsetal2000GGUM

Examples

## Not run: 
# Example 1 - Same value C across items:
# Generate data:
gen1 <- GenData.GGUM(2000, 10, 2, seed = 125)
# Fit the GGUM:
fit1 <- GGUM(gen1$data, 2)
# Compare true and estimated item parameters:
cbind(gen1$alpha, fit1$alpha)
cbind(gen1$delta, fit1$delta)
cbind(c(gen1$taus[, 4:5]), c(fit1$taus[, 4:5]))

# Example 2 - Different C across items:
# Generate data:
set.seed(1); C <- sample(3:5, 10, replace = TRUE)
gen2 <- GenData.GGUM(2000, 10, C, seed = 125)
# Fit the GGUM:
fit2 <- GGUM(gen2$data, C)
# Compare true and estimated item parameters:
cbind(gen2$alpha, fit2$alpha)
cbind(gen2$delta, fit2$delta)
cbind(c(gen2$taus[, 7:11]), c(fit2$taus[, 7:11]))

## End(Not run)

secastroal/GGUM documentation built on Feb. 21, 2023, 3:39 p.m.