mirt
fits an unconditional maximum likelihood
factor analysis model to dichotomous data under the item
response theory paradigm. Pseudo-guessing parameters may
be included but must be declared as constant.mirt(fulldata, nfact, guess = 0, SE = FALSE, prev.cor =
NULL, par.prior = FALSE, startvalues = NULL, quadpts =
NULL, ncycles = 300, tol = .001, nowarn = TRUE, debug =
FALSE, ...)
## S3 method for class 'mirt':
summary(object, rotate='varimax',
suppress = 0, digits = 3, ...)
## S3 method for class 'mirt':
coef(object, digits = 3, ...)
## S3 method for class 'mirt':
anova(object, object2, ...)
## S3 method for class 'mirt':
fitted(object, digits = 3, ...)
## S3 method for class 'mirt':
plot(x, type = 'info', npts = 50, rot =
list(x = -70, y = 30, z = 10), ...)
## S3 method for class 'mirt':
residuals(object, restype = 'LD',
digits=3, printvalue = NULL, ...)
matrix
or data.frame
that
consists of only 0, 1, and NA
values to be factor
analyzed. If scores have been recorded by the response
pattern then they can be recoded to dichotomous format
using the
NULL
slope
and int
to
specify the coefficients beta prior for the slopes and
normal prior for the intercres='exp'
option. Only prints patterns
that have standardized residuals greater than
abs(printvalue)
. The default (NULL) prints all
response patternsmirt
to be plotted or
printedmirt
of class
mirtClass
mirt
of class mirtClass
with more estimated parameters
than object
'curve'
for the total test score as a function of two dimensions,
or 'info'
to show the test information function
for two dimensions'LD'
for a local dependence matrix (Chen &
Thissen, 1997) or 'exp'
for the expected values
for the frequencies of every response patterncoef
since these will
be helpful in determining whether a guessing parameter is
causing problems (item facility value is too close to the
guessing parameter) or if an item should be constrained
or removed entirely (values too close to 0 or 1). As a
general rule, items with facilities greater than .95, or
items that are only .05 greater than the guessing
parameter, should be considered for removal from the
analysis or treated with prior distributions. Also,
increasing the number of quadrature points per dimension
may help to stabilize the estimation process.mirt
follows the item factor analysis strategy by
marginal maximum likelihood estimation (MML) outlined in
Bock and Aiken (1981) and Bock, Gibbons and Muraki
(1988). Nested models may be compared via the approximate
chi-squared difference test or by a reduction in AIC/BIC
values (comparison via anova
). The general
equation used for dichotomous multidimensional item
response theory item is a logistic form with a scaling
correction of 1.702. This correction is applied to allow
comparison to mainstream programs such as TESTFACT
(2003). The general IRT equation is
$$P(X | \theta; \bold{a}_i; d_i; g_i) = g_j + (1 -
g_j) / (1 + exp(-1.702(\bold{a}_j' \theta + d_j)))$$
where j is the item index, $\bold{a}_j$ is the
vector of discrimination parameters (i.e., slopes),
$$\theta$$ is the vector of factor scores, $d_j$
is the intercept, and $g_j$ is the pseudo-guessing
parameter. To avoid estimation difficulties the
$g_j$'s must be specified by the user.
Estimation begins by computing a matrix of
quasi-tetrachoric correlations, potentially with
Carroll's (1945) adjustment for chance responds. A MINRES
factor analysis with nfact
is then extracted and
item parameters are estimated by $a_{ij} =
f_{ij}/u_j$, where $f_{ij}$ is the factor loading for
the jth item on the ith factor, and
$u_j$ is the square root of the factor uniqueness,
$\sqrt{1 - h_j^2}$. The initial intercept parameters
are determined by calculating the inverse normal of the
item facility (i.e., item easiness), $q_j$, to obtain
$d_j = q_j / u_j$. Following these initial estimates
the model is iterated using the EM estimation strategy
with fixed quadrature points. Implicit equation
accelerations described by Ramsey (1975) are also added
to facilitate parameter convergence speed, and these are
adjusted every third cycle.
Factor scores are estimated assuming a normal prior
distribution and can be appended to the input data matrix
(full.data = TRUE
) or displayed in a summary table
for all the unique response patterns. summary
allows for various rotations available from the
GPArotation
package. These are:
[object Object],[object Object]
Using plot
will plot the either the test surface
function or the test information function for 1 and 2
dimensional solutions. To examine individual item plots
use itemplot
(although the
plink
package may be more suitable
for IRT graphics) which will also plot information and
surface functions. Residuals are computed using the LD
statistic (Chen & Thissen, 1997) in the lower diagonal
of the matrix returned by residuals
, and Cramer's
V above the diagonal.expand.table
, key2binary
,
polymirt
, confmirt
,
bfactor
, itemplot
#load LSAT section 7 data and compute 1 and 2 factor models
data(LSAT7)
fulldata <- expand.table(LSAT7)
(mod1 <- mirt(fulldata, 1))
summary(mod1)
residuals(mod1)
plot(mod1) #test information function
(mod2 <- mirt(fulldata, 2))
summary(mod2)
coef(mod2)
residuals(mod2)
anova(mod1, mod2) #compare the two models
scores <- fscores(mod2) #save factor score table
###########
data(SAT12)
fulldata <- key2binary(SAT12,
key = c(1,4,5,2,3,1,2,1,3,1,2,4,2,1,5,3,4,4,1,4,3,3,4,1,3,5,1,3,1,5,4,5))
mod1 <- mirt(fulldata, 1)
mod2 <- mirt(fulldata, 2)
mod3 <- mirt(fulldata, 3)
anova(mod1,mod2)
anova(mod2, mod3) #negative AIC, 2 factors probably best
#with guessing
mod1g <- mirt(fulldata, 1, guess = .1)
coef(mod1g)
mod2g <- mirt(fulldata, 2, guess = .1)
coef(mod2g)
anova(mod1g, mod2g)
summary(mod2g, rotate='promax')
Run the code above in your browser using DataLab