valQ {cdmTools} | R Documentation |
Empirical Q-matrix validation
Description
Empirical Q-matrix validation using the Hull method (Nájera, Sorrel, de la Torre, & Abad, 2020a).
The procedure can be used either with the PVAF (de la Torre & Chiu, 2016) or McFadden's pseudo R-squared (McFadden, 1974).
The PVAF is recommended (Nájera, Sorrel, de la Torre, & Abad, 2020a).
Note that the pseudo R-squared might not be computationally feasible for highly dimensional Q-matrices, say more than 10 attributes.
Different iterative implementations are available, such as the test-level implementation (see Terzi & de la Torre, 2018), attribute-test-level implementation (Nájera, Sorrel, de la Torre, & Abad, 2020a), and item-level implementation (Nájera, Sorrel, de la Torre, & Abad, 2020b).
If an iterative implementation is used, the GDINA
R package (Ma & de la Torre, 2020) is used for the calibration of the CDMs.
Usage
valQ(
fit,
index = "PVAF",
iterative = "test.att",
emptyatt = TRUE,
maxitr = 100,
CDMconv = 1e-04,
verbose = TRUE
)
Arguments
fit |
A G-DINA model fit object from the |
index |
What index to use. It includes |
iterative |
(Iterative) implementation procedure. It includes |
emptyatt |
Is it possible for the suggested Q-matrix to have an empty attribute (i.e., an attribute not measured by any item)? Although rarely, it is possible for iterative procedures to provide a suggested Q-matrix in which one or more attributes are empty. This might indicate that the original Q-matrix had more attributes than necessary. If |
maxitr |
Maximum number of iterations if an iterative procedure has been selected. The default is 100. |
CDMconv |
Convergence criteria for the CDM estimations between iterations (only if an iterative procedure has been selected). The default is 0.0001. |
verbose |
Print information after each iteration if an iterative procedure is used. The default is |
Value
valQ
returns an object of class valQ
.
sug.Q
Suggested Q-matrix (
matrix
).Q
Original Q-matrix (
matrix
).sugQ.fit
Several fit indices from the model obtained with the suggested Q-matrix (
vector
).index
PVAF or pseudo R-squared (depending on which one was used) for each item (
matrix
).iter.Q
Q-matrices used in each iteration (
list
). Provided only if an iterative procedure has been used.iter.index
PVAF or pseudo R-squared (depending on which one was used) for each item in each iteration (
list
). Provided only if an iterative procedure has been used.n.iter
Number of iterations used (
double
). Provided only if an iterative procedure has been used.convergence
Convergence information (
double
). It can be 1 (convergence), 2 (lack of convergence: maximum number of iterations achieved), 3 (lack of convergence: empty attribute obtained), and 4 (lack of convergence: loop Q-matrices). Provided only if an iterative procedure has been used.time
Initial and finish time (
vector
).time.used
Total computation time (
difftime
).specifications
Function call specifications (
list
).
Author(s)
Pablo Nájera, Universidad Pontificia Comillas
Miguel A. Sorrel, Universidad Autónoma de Madrid
Francisco J. Abad, Universidad Autónoma de Madrid
References
de la Torre, J., & Chiu, C.-Y. (2016). A general method of empirical Q-matrix validation. Psychometrika, 81, 253-273. https://doi.org/10.1007/s11336-015-9467-8
Ma, W., & de la Torre, J. (2020). GDINA: An R package for cognitive diagnosis modeling. Journal of Statistical Software, 93(14). https://doi.org/10.18637/jss.v093.i14
McFadden, D. (1974). Conditional logit analysis of qualitative choice behavior. In P. Zarembka (Ed.), Frontiers in Economics (pp. 105-142). Academic Press.
Nájera, P., Sorrel, M. A., de la Torre, J., & Abad, F. J. (2020a). Balancing fit and parsimony to improve Q-matrix validation. British Journal of Mathematical and Statistical Psychology. https://doi.org/10.1111/bmsp.12228
Nájera, P., Sorrel, M. A., de la Torre, J., & Abad, F. J. (2020b). Improving robustness in Q-matrix validation using an iterative and dynamic procedure. Applied Psychological Measurement, 46, 431-446. https://doi.org/10.1177/0146621620909904
Terzi, R., & de la Torre, J. (2018). An iterative method for empirically-based Q-matrix validation. International Journal of Assessment Tools in Education, 5, 248-262. https://doi.org/10.21449/ijate.407193
Examples
library(GDINA)
dat <- sim30GDINA$simdat
Q <- sim30GDINA$simQ # Generating Q-matrix
miss.Q <- missQ(Q = Q, qjk = .30, retainJ = 5, seed = 123)$miss.Q # Misspecified Q-matrix
fit <- GDINA(dat, miss.Q) # GDINA object
sug.Q <- valQ(fit = fit, verbose = TRUE) # Hull method for Q-matrix validation
mean(sug.Q$sug.Q == Q) # Check similarity with the generating Q-matrix