anova-method {mirt} | R Documentation |
Compare nested models with likelihood-based statistics
Description
Compare nested models using likelihood ratio test (X2), Akaike Information Criterion (AIC),
Bayesian Information Criterion (BIC),
Sample-Size Adjusted BIC (SABIC), and Hannan-Quinn (HQ) Criterion.
When given a sequence of objects, anova
tests the models against one another
in the order specified. Note that the object
inputs should be ordered in terms
of most constrained model to least constrained.
Usage
## S4 method for signature 'SingleGroupClass'
anova(
object,
object2,
...,
bounded = FALSE,
mix = 0.5,
frame = 1,
verbose = FALSE
)
Arguments
object |
an object of class |
object2 |
a second model estimated from any of the mirt package estimation methods |
... |
additional less constrained model objects to be compared sequentially to the previous model |
bounded |
logical; are the two models comparing a bounded parameter (e.g., comparing a single
2PL and 3PL model with 1 df)? If |
mix |
proportion of chi-squared mixtures. Default is 0.5 |
frame |
(internal parameter not for standard use) |
verbose |
(deprecated argument) |
Value
a data.frame
/mirt_df
object
References
Chalmers, R., P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment. Journal of Statistical Software, 48(6), 1-29. doi:10.18637/jss.v048.i06
Examples
## Not run:
x <- mirt(Science, 1)
x2 <- mirt(Science, 2)
anova(x, x2)
# compare three models sequentially (X2 not always meaningful)
x3 <- mirt(Science, 1, 'gpcm')
x4 <- mirt(Science, 1, 'nominal')
anova(x, x2, x3, x4)
# in isolation
anova(x)
# with priors on first model
model <- "Theta = 1-4
PRIOR = (1-4, a1, lnorm, 0, 10)"
xp <- mirt(Science, model)
anova(xp, x2)
anova(xp)
# bounded parameter
dat <- expand.table(LSAT7)
mod <- mirt(dat, 1)
mod2 <- mirt(dat, 1, itemtype = c(rep('2PL', 4), '3PL'))
anova(mod, mod2) #unbounded test
anova(mod, mod2, bounded = TRUE) #bounded
# priors
model <- 'F = 1-5
PRIOR = (5, g, norm, -1, 1)'
mod1b <- mirt(dat, model, itemtype = c(rep('2PL', 4), '3PL'))
anova(mod1b)
model2 <- 'F = 1-5
PRIOR = (1-5, g, norm, -1, 1)'
mod2b <- mirt(dat, model2, itemtype = '3PL')
anova(mod1b, mod2b)
## End(Not run)