| autoGDINA {GDINA} | R Documentation |
Q-matrix validation, model selection and calibration in one run
Description
autoGDINA conducts a series of CDM analyses within the G-DINA framework. Particularly,
the GDINA model is fitted to the data first using the GDINA function;
then, the Q-matrix is validated using the function Qval.
Based on the suggested Q-matrix, the data is fitted by the G-DINA model again, followed
by an item level model selection via the Wald test using modelcomp. Lastly,
the selected models are calibrated based on the suggested Q-matrix using the GDINA function.
The Q-matrix validation and item-level model selection can be disabled by the users.
Possible reduced CDMs for Wald test include the DINA model, the DINO model, A-CDM, LLM and RRUM.
See Details for the rules of item-level model selection.
Usage
autoGDINA(
dat,
Q,
modelselection = TRUE,
modelselectionrule = "simpler",
alpha.level = 0.05,
modelselection.args = list(),
Qvalid = TRUE,
Qvalid.args = list(),
GDINA1.args = list(),
GDINA2.args = list(),
CDM.args = list()
)
## S3 method for class 'autoGDINA'
summary(object, ...)
Arguments
dat |
A required |
Q |
A required matrix; The number of rows occupied by a single-strategy dichotomous item is 1, by a polytomous item is
the number of nonzero categories, and by a mutiple-strategy dichotomous item is the number of strategies.
The number of column is equal to the number of attributes if all items are single-strategy dichotomous items, but
the number of attributes + 2 if any items are polytomous or have multiple strategies.
For a polytomous item, the first column represents the item number and the second column indicates the nonzero category number.
For a multiple-strategy dichotomous item, the first column represents the item number and the second column indicates the strategy number.
For binary attributes, 1 denotes the attributes are measured by the items and 0 means the attributes are not
measured. For polytomous attributes, non-zero elements indicate which level
of attributes are needed (see Chen, & de la Torre, 2013). See |
modelselection |
logical; conducting model selection or not? |
modelselectionrule |
how to conducted model selection? Possible options include
|
alpha.level |
nominal level for the Wald test. The default is 0.05. |
modelselection.args |
arguments passed to |
Qvalid |
logical; validate Q-matrix or not? |
Qvalid.args |
arguments passed to |
GDINA1.args |
arguments passed to GDINA function for initial G-DINA calibration |
GDINA2.args |
arguments passed to GDINA function for the second G-DINA calibration |
CDM.args |
arguments passed to GDINA function for final calibration |
object |
GDINA object for various S3 methods |
... |
additional arguments |
Details
After the Wald statistics for each reduced CDM were calculated for each item, the reduced models with p values less than the pre-specified alpha level were rejected. If all reduced models were rejected for an item, the G-DINA model was used as the best model; if at least one reduced model was retained, three diferent rules can be implemented for selecting the best model:
When modelselectionrule is simpler:
If (a) the DINA or DINO model was one of the retained models, then the DINA or DINO model with the larger p value was selected as the best model; but if (b) both DINA and DINO were rejected, the reduced model with the largest p value was selected as the best model for this item. Note that when the p-values of several reduced models were greater than 0.05, the DINA and DINO models were preferred over the A-CDM, LLM, and R-RUM because of their simplicity. This procedure is originally proposed by Ma, Iaconangelo, and de la Torre (2016).
When modelselectionrule is largestp:
The reduced model with the largest p-values is selected as the most appropriate model.
When modelselectionrule is DS:
The reduced model with non-significant p-values but the smallest dissimilarity index is selected as the most appropriate model. Dissimilarity index can be viewed as an effect size measure, which quatifies how dis-similar the reduced model is from the G-DINA model (See Ma, Iaconangelo, and de la Torre, 2016 for details).
Value
a list consisting of the following elements:
- GDINA1.obj
initial GDINA calibration of class
GDINA- GDINA2.obj
second GDINA calibration of class
GDINA- Qval.obj
Q validation object of class
Qval- Wald.obj
model comparison object of class
modelcomp- CDM.obj
Final CDM calibration of class
GDINA
Methods (by generic)
-
summary(autoGDINA): print summary information
Note
Returned GDINA1.obj, GDINA2.obj and CDM.obj are objects of class GDINA,
and all S3 methods suitable for GDINA objects can be applied. See GDINA and extract.
Similarly, returned Qval.obj and Wald.obj are objects of class Qval and modelcomp.
Author(s)
Wenchao Ma, The University of Alabama, wenchao.ma@ua.edu
References
Ma, W., & de la Torre, J. (2020). GDINA: An R Package for Cognitive Diagnosis Modeling. Journal of Statistical Software, 93(14), 1-26.
Ma, W., Iaconangelo, C., & de la Torre, J. (2016). Model similarity, model selection and attribute classification. Applied Psychological Measurement, 40, 200-217.
See Also
Examples
## Not run:
# simulated responses
Q <- sim10GDINA$simQ
dat <- sim10GDINA$simdat
#misspecified Q
misQ <- Q
misQ[10,] <- c(0,1,0)
out1 <- autoGDINA(dat,misQ,modelselectionrule="largestp")
out1
summary(out1)
AIC(out1$CDM.obj)
# simulated responses
Q <- sim30GDINA$simQ
dat <- sim30GDINA$simdat
#misspecified Q
misQ <- Q
misQ[1,] <- c(1,1,0,1,0)
auto <- autoGDINA(dat,misQ,Qvalid = TRUE, Qvalid.args = list(method = "wald"),
modelselectionrule="simpler")
auto
summary(auto)
AIC(auto$CDM.obj)
#using the other selection rule
out11 <- autoGDINA(dat,misQ,modelselectionrule="simpler",
modelselection.args = list(models = c("DINO","DINA")))
out11
summary(out11)
# disable model selection function
out12 <- autoGDINA(dat,misQ,modelselection=FALSE)
out12
summary(out12)
# Disable Q-matrix validation
out3 <- autoGDINA(dat = dat, Q = misQ, Qvalid = FALSE)
out3
summary(out3)
## End(Not run)