Skip to contents

Verified against Chalmers (2012), JSS 48(6), p.3 eq. (1), read from a rendered image of the page rather than the text layer: \(Phi(x = 1 | theta, alpha, d, gamma) = gamma + (1 - gamma) / (1 + exp[-D (alpha' theta + d)])\).

Usage

Mirt2(y, theta, a, d, c = 0, D = 1)

Arguments

y

Binary 0/1 responses, length n.

theta

Ability matrix, n by m (a plain vector is read as m = 1).

a

Item slopes, length m.

d

Item intercept.

c

Lower asymptote (guessing); 0 gives the M2PL.

D

Metric constant; 1.702 gives the normal-ogive metric.

Value

List with estimate (log-likelihood), loglik, p, pbar, deviance, n, m.

Details

"Compensatory" is the content of \(alpha' theta\): the abilities enter as a single weighted sum, so a low theta_1 can be repaid by a high theta_2. A noncompensatory model multiplies per-dimension probabilities and admits no such trade.

D is a scaling adjustment, 1 for the logistic metric and 1.702 for the normal-ogive metric.

Note the sign: the exponent is -(a1 theta1 + a2 theta2 + d); writing it as -(a1 theta1 + a2 theta2) + d puts d outside the negation and inverts the role of the intercept. Equation (1) negates the whole linear predictor.

Nothing restricts this to two dimensions: a sets the dimension, and Mirt3 is this function with three slopes and no guessing.

References

Chalmers (2012), Journal of Statistical Software 48(6), 1-29, doi:10.18637/jss.v048.i06 , eq. (1) p.3. Reckase (2009), Multidimensional Item Response Theory, Springer, which Chalmers cites for D; the book was not in the local corpus and was not consulted.

Examples

set.seed(16)
theta <- matrix(rnorm(200), 100, 2)
y <- rbinom(100, 1, plogis(theta %*% c(1, 0.5) - 0.2))
Mirt2(y, theta, a = c(1, 0.5), d = -0.2)$loglik
#> [1] -58.78001