Qval {GDINA} | R Documentation |
Q-matrix validation
Description
Q-matrix validation for the (sequential) G-DINA model based on PVAF (de la Torre & Chiu, 2016; Najera, Sorrel, & Abad, 2019; Najera et al., 2020), stepwise Wald test (Ma & de la Torre, 2020) or mesa plot (de la Torre & Ma, 2016). All these methods are suitable for dichotomous and ordinal response data. If too many modifications are suggested based on the default PVAF method, you are suggested to try the stepwise Wald test method, iterative procedures or predicted cutoffs. You should always check the mesa plots for further examination.
Usage
Qval(
GDINA.obj,
method = "PVAF",
iter = "none",
eps = 0.95,
digits = 4,
wald.args = list(),
iter.args = list(empty.att = FALSE, max.iter = 150, verbose = FALSE)
)
## S3 method for class 'Qval'
extract(object, what = c("sug.Q", "varsigma", "PVAF", "eps", "Q"), ...)
## S3 method for class 'Qval'
summary(object, ...)
Arguments
GDINA.obj |
an estimated model object of class |
method |
which Q-matrix validation method is used? Can be either |
iter |
implement the method iteratively? Can be |
eps |
cutoff value for PVAF from 0 to 1. Default = 0.95. Note that it can also be -1, indicating the predicted cutoff based on Najera, Sorrel, and Abad (2019). |
digits |
how many decimal places in each number? The default is 4. |
wald.args |
a list of arguments for the stepwise Wald test method.
|
iter.args |
a list of arguments for the iterative implementation.
|
object |
|
what |
argument for S3 method |
... |
additional arguments |
Value
An object of class Qval
. Elements that can be
extracted using extract
method include:
- sug.Q
suggested Q-matrix
- Q
original Q-matrix
- varsigma
varsigma index
- PVAF
PVAF
Methods (by generic)
-
extract(Qval)
: extract various elements fromQval
objects -
summary(Qval)
: print summary information
Author(s)
Wenchao Ma, The University of Alabama, wenchao.ma@ua.edu,
Miguel A. Sorrel, Universidad Autónoma de Madrid,
Jimmy de la Torre, The University of Hong Kong
References
de la Torre, J. & Chiu, C-Y. (2016). A General Method of Empirical Q-matrix Validation. Psychometrika, 81, 253-273.
de la Torre, J., & Ma, W. (2016, August). Cognitive diagnosis modeling: A general framework approach and its implementation in R. A Short Course at the Fourth Conference on Statistical Methods in Psychometrics, Columbia University, New York.
Ma, W., & de la Torre, J. (2020). An empirical Q-matrix validation method for the sequential G-DINA model. British Journal of Mathematical and Statistical Psychology, 73, 142-163.
Najera, P., Sorrel, M. A., & Abad, F.J. (2019). Reconsidering cutoff points in the general method of empirical Q-matrix validation. Educational and Psychological Measurement, 79, 727-753.
Najera, P., Sorrel, M. A., de la Torre, J., & Abad, F. J. (2020). Improving robustness in Q-matrix validation using an iterative and dynamic procedure. Applied Psychological Measurement.
See Also
Examples
## Not run:
################################
#
# Binary response
#
################################
dat <- sim10GDINA$simdat
Q <- sim10GDINA$simQ
Q[10,] <- c(0,1,0)
# Fit the G-DINA model
mod1 <- GDINA(dat = dat, Q = Q, model = "GDINA")
# Q-validation using de la Torre and Chiu's method
pvaf <- Qval(mod1,method = "PVAF",eps = 0.95)
pvaf
extract(pvaf,what = "PVAF")
#See also:
extract(pvaf,what = "varsigma")
extract(pvaf,what = "sug.Q")
# Draw mesa plots using the function plot
plot(pvaf,item=10)
#The stepwise Wald test
stepwise <- Qval(mod1,method = "wald")
stepwise
extract(stepwise,what = "PVAF")
#See also:
extract(stepwise,what = "varsigma")
extract(stepwise,what = "sug.Q")
#Set eps = -1 to determine the cutoff empirically
pvaf2 <- Qval(mod1,method = "PVAF",eps = -1)
pvaf2
#Iterative procedure (test-attribute level)
pvaf3 <- Qval(mod1, method = "PVAF", eps = -1,
iter = "test.att", iter.args = list(verbose = 1))
pvaf3
################################
#
# Ordinal response
#
################################
seq.est <- GDINA(sim20seqGDINA$simdat,sim20seqGDINA$simQ, sequential = TRUE)
stepwise <- Qval(seq.est, method = "wald")
## End(Not run)