irt.ability {MiscPsycho}R Documentation

IRT Ability Estimates

Description

Returns the MLE, MAP, or the EAP given a set of item parameters

Usage

irt.ability(x, params, ind.dichot = NULL, std.err = FALSE, method = c("MLE", "MAP", "EAP"), control = list())

Arguments

x a numeric vector of observed item responses.
params item parameters organized as a list of lists. For more info see the Details section and the Examples below.
ind.dichot a numeric vector that denotes which items in x are multiple choice items. See the Examples below.
std.err logical; if TRUE it returns the standard error.
method a character string indicating which method to use; available options are Maximum Likelihood Estimation, Maximum A Posteriori and Expected A Posteriori.
control a list of control parameters,
D
a constant usually fixed at 1.7 to bring the logistic function into coincidence with the probit.
mu
mean of the normal prior distribution.
sigma
standard deviation of the normal prior distribution.
Q
number of quadrature points used in the Gauss-Hermite approximation.
start_val
a starting value for the optimization routine.

Details

The function can be used for a mixture of dichotomously and polytomously scored items. For dichotomous items the Birnbaum's three parameter model is assumed for which a denotes the discrimination parameter, b the difficulty parameter and c the guessing parameter. For polytomous items the generalized partial credit model is assumed for which a denotes the discrimination parameter and d the threshold parameters. See the Examples below.

Value

a numeric value. If std.err = TRUE, it has also the attribute 'std.err' that contains the estimated standard error for the estimated ability.

Author(s)

Harold C. Doran and Dimitris Rizopoulos

References

Thissen, D and Wainer, H. (2001). Test Scoring. Lawrence Erlbaum.

Examples

## all mix
params <- list("3pl" = list(a = c(1,1), b = c(0, 1), c = c(0,0)),
               "gpcm" = list(a = c(1,1), d = list(item1 = c(0,1,2,3,4), item2 = c(0,.5,1, 1.5))))
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MLE")
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MAP")
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "EAP")

## under the logit link
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MLE", control = list(D = 1))
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MAP", control = list(D = 1))
irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "EAP", control = list(D = 1))

## if all are dichotomous
params <- list("3pl" = list(a = c(1,1), b = c(0, 1), c = c(0,0)), "gpcm" = NULL)
irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MLE")
irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MAP")
irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "EAP")

## if all are polytomous
params <- list("3pl" = NULL, "gpcm" = list(a = c(1,1), d = list(item1 = c(0,1,2,3,4), item2 = c(0,.5,1, 1.5))))
irt.ability(c(2,3), params, method = "MLE")
irt.ability(c(2,3), params, method = "MAP")
irt.ability(c(2,3), params, method = "EAP")

## With standard error
irt.ability(c(2,3), params, method = "MLE", std.err = TRUE)
irt.ability(c(2,3), params, method = "MAP", std.err = TRUE)
irt.ability(c(2,3), params, method = "EAP", std.err = TRUE)

## From Test Scoring (Thissen) Page 115

params <- list("3pl" = list(a = c(1,2), b = c(0, 1), c = c(0,0)), 
               "gpcm" = NULL)
irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MLE", control=list(D=1))

a <- c(1.45, 1.84, 2.55, 2.27, 3.68, 4.07, 2.26, 1.87, 2.19, 1.33)
b <- c(-.6, -.82, -1.6, -.87, -1.41, -1.33, -1.16, -.11, -.64, -1.23)
params <- list("3pl" = list(a = a, b = b, c = rep(0, 10)), 
               "gpcm" = NULL)
x <- c(rep(0,9),1)
irt.ability(x, params, ind.dichot = c(1:10), method = "EAP", control=list(D=1))

[Package MiscPsycho version 1.3 Index]