modIRT function

Estimated Coefficients and Covariance Matrix of IRT Models

Estimated Coefficients and Covariance Matrix of IRT Models

Creates an object of the class modIRT containing estimated coefficients and covariance matrices of IRT models. Rasch, one-parameter logistic, two-parameter logistic and three-parameter logistic models are included.

modIRT(est.mods = NULL, coef = NULL, var = NULL, names = NULL, ltparam = TRUE, lparam = TRUE, display = TRUE, digits = 2)

Arguments

  • est.mods: list of output objects from functions rasch, ltm, or tpm

    of the ltm package or from function mirt of the mirt package.

  • coef: necessary only if est.mods is NULL. List of matrices (one for each form) containing item parameter estimates. Guessing, difficulty and discrimination parameters should strictly be given in this order and they are contained in different columns of the matrix. The names of the rows of each matrix should be the names of the items.

  • var: necessary only if est.mods is NULL. list of matrices (one for each form) containing the covariance matrix of item parameter estimates. They should be given in the same order of coefficients.

  • names: character vector containing the names of the forms. This should have the same length of est.mods, coef and var. If NULL, the names of the forms are assigned by function modIRT.

  • ltparam: logical; if TRUE the latent trait parameterization is used for difficulty parameters and the modIRT function performs a transformation of item parameters to return them in the usual IRT parameterization. Set to FALSE to avoid transformations. Not necessary if est.mods is not NULL. See below for more details.

  • lparam: logical; if TRUE the logistic parameterization is used for guessing parameters and the modIRT function performs a transformation of item parameters to return them in the usual IRT parameterization. Set to FALSE to avoid transformations. Not necessary if est.mods is not NULL. See below for more details.

  • display: logical; if TRUE coefficients and standard errors are printed.

  • digits: integer indicating the number of decimal places to be used if display is TRUE.

Details

Since package version 2.5.0 this function takes as input est.mods.

ltparam and lparam refers the the parameterization used by the software used to estimate item parameters. The R package ltm, and the programs IRTPRO and flexMIRT use these parameterizations. If ltparam is TRUE the latent trait parameterization is used. Under this parameterization, the three-parameter logistic model is as follows

πi=ci+(1ci)exp(β1i+β2iz)1+exp(β1i+β2iz),πi=ci+(1ci)exp(β1i+β2iz)/1+exp(β1i+β2iz), \pi_i = c_i + (1 - c_i) \frac{\exp(\beta_{1i} + \beta_{2i} z)}{1 +\exp(\beta_{1i} + \beta_{2i} z)},\pi_i = c_i + (1 - c_i) * {exp(\beta_{1i} + \beta_{2i} z)}/{1 + exp(\beta_{1i} + \beta_{2i} z)},

where πi\pi_i denotes the conditional probability of responding correctly to the iith item given zz, cic_i denotes the guessing parameter, β1i\beta_{1i} is the easiness parameter, β2i\beta_{2i} is the discrimination parameter, and zz denotes the latent ability. The two-parameter logistic model, the one-parameter logistic model and the Rasch model present the same formulation. The two-parameter logistic model can be obtained by setting cic_i equal to zero, the one-parameter logistic model can be obtained by setting cic_i equal to zero and β2i\beta_{2i}

costant across items, while the Rasch model can be obtained by setting cic_i

equal to zero and β2i\beta_{2i} equal to 1.

If lparam is TRUE the guessing parameters are given under this parameterization

ci=exp(ci)1+exp(ci).ci=exp(ci)/1+exp(ci). c_i = \frac{\exp(c_i^*)}{1+\exp(c_i^*)}.c_i = exp(c_i^*)/{1+exp(c_i^*)}.

The modIRT function returns parameter estimates under the usual IRT parameterization, that is,

πi=ci+(1ci)exp[Dai(θbi)]1+exp[Dai(θbi)],πi=ci+(1ci)expDai(θbi)/[1+expDai(θbi)], \pi_i = c_i + (1 - c_i) \frac{\exp[D a_i (\theta - b_i)]}{1 +\exp[D a_i (\theta - b_i)]},\pi_i = c_i + (1 - c_i) *exp{D a_i (\theta - b_i)} / [1 + exp{D a_i (\theta - b_i)}],

where Dai=β2iD a_i = \beta_{2i}, bi=β1i/β2ib_i = -\beta_{1i}/\beta_{2i} and θ=z\theta = z.

If ltparam or lparam are TRUE, the covariance matrix is calculated using the delta method.

If item parameters are already given under the usual IRT parameterization, arguments ltparam and lparam should be set to FALSE.

Returns

An object of class modIRT consisting in a list with length equal to the number of forms containing lists with components - coefficients: item parameter estimates.

  • var: covariance matrix of item parameter estimates.

  • itmp: number of item parameters of the IRT model. This is 1 for the Rasch model, 2 for the one-parameter logistic model with constant discriminations, 2 for the two-parameter logistic model and 3 for the three-parameter logistic model.

References

Battauz, M. (2015). equateIRT: An R Package for IRT Test Equating. Journal of Statistical Software, 68 , 1--22.

Bartholomew, D., Knott, M. and Moustaki, I. (2011) Latent Variable Models and Factor Analysis: a Unified Approach, 3rd ed. Wiley.

Rizopoulos, D. (2006). ltm: an R package for latent variable modelling and item response theory analyses. Journal of Statistical Software, 17 , 1--25.

Author(s)

Michela Battauz

See Also

direc, import.ltm

Examples

# the following code can be used to estimate the item parameters and then # extract the coefficients and their covariance matrices # skipping functions import.mirt or import.ltm ## Not run: library("mirt") data("data2pl") m1 <- mirt(data2pl[[1]], SE = TRUE) m2 <- mirt(data2pl[[2]], SE = TRUE) m3 <- mirt(data2pl[[3]], SE = TRUE) m4 <- mirt(data2pl[[4]], SE = TRUE) m5 <- mirt(data2pl[[5]], SE = TRUE) mlist<- list(m1,m2,m3,m4,m5) test <- paste("test", 1:5, sep = "") mod2pl <- modIRT(est.mods = mlist, names = test, display = FALSE) ## End(Not run) # =========================================================================== # the following code uses item parameter estimates previously obtained # three-parameter logistic model data(est3pl) # includes item parameter estimates test <- paste("test", 1:5, sep = "") mod3pl <- modIRT(coef = est3pl$coef, var = est3pl$var, names = test, display = FALSE) # two-parameter logistic model data(est2pl) # includes item parameter estimates test <- paste("test", 1:5, sep = "") mod2pl <- modIRT(coef = est2pl$coef, var = est2pl$var, names = test, display = FALSE) # Rasch model data(estrasch) # includes item parameter estimates test <- paste("test", 1:5, sep = "") modrasch <- modIRT(coef = estrasch$coef, var = estrasch$var, names = test, display = FALSE) # one-parameter logistic model imported from the R package ltm library(ltm) mod1pl <- rasch(LSAT) summary(mod1pl) est.mod1pl <- import.ltm(mod1pl) mod1pl.ltm <- modIRT(coef = list(est.mod1pl$coef), var = list(est.mod1pl$var), digits = 4)
  • Maintainer: Michela Battauz
  • License: GPL-3
  • Last published: 2024-10-03

Useful links