tdcm {TDCM} | R Documentation |
Estimating the Transition Diagnostic Classification Model (TDCM)
Description
tdcm()
is used to estimate the transition diagnostic classification model (TDCM; Madison &
Bradshaw, 2018a), which is a longitudinal extension of the log-linear cognitive diagnosis model
(LCDM; Henson, Templin, & Willse, 2009). It allows for the specification of many specific DCMs
via the rule
option. For the multigroup TDCM, see mg.tdcm()
.
Usage
tdcm(
data,
q.matrix,
num.time.points,
invariance = TRUE,
rule = "GDINA",
num.q.matrix = 1,
num.items = c(),
anchor = c(),
progress = FALSE
)
Arguments
data |
A required |
q.matrix |
A required |
num.time.points |
A required integer |
invariance |
logical. If |
rule |
A string or a vector of the specific DCM to be employed. Currently accepts the
same values as |
num.q.matrix |
An optional integer specifying the number of Q-matrices. For many
applications, the same assessment is administered at each time point and this number is 1 (the
default). If there are different Q-matrices for each time point, then this argument must be
specified and should be equal to the number of time points. For example, if there are three time
points, and the Q-matrix for each time point is different, then |
num.items |
An optional integer specifying the number of Q-matrices (the default is |
anchor |
When there are different tests at each time point, this optional anchor argument is
a vector of pairs of item numbers indicating which items are the same across time points and
should be held invariant. For example, if there are three Q-matrices with 10 items each, and
Items 1, 11, and 21 are the same, and Items 14 and 24 are the same, then
|
progress |
logical. If |
Details
Estimation of the TDCM via the CDM package (George, et al., 2016), which is based on an EM algorithm as described in de la Torre (2011). The estimation approach is further detailed in Madison et al. (2023).
Value
An object of class gdina
with entries as described in CDM::gdina()
. To see a
TDCM-specific summary of the object (e.g., growth, transitions), use tdcm.summary()
.
References
de la Torre, J. (2011). The generalized DINA model framework. Psychometrika, 76, 179-199.
George, A. C., Robitzsch, A., Kiefer, T., Gross, J., & Ünlü , A. (2016). The R package CDM for cognitive diagnosis models. Journal of Statistical Software, 74(2), 1-24.
Henson, R., Templin, J., & Willse, J. (2009). Defining a family of cognitive diagnosis models using log linear models with latent variables. Psychometrika, 74, 191-21.
Madison, M. J., & Bradshaw, L. (2018a). Assessing growth in a diagnostic classification model framework. Psychometrika, 82(4), 963-990.
Madison, M. J., & Bradshaw, L. (2018b). Evaluating intervention effects in a diagnostic classification model framework. Journal of Educational Measurement, 55(1), 32-51.
Madison, M.J., Chung, S., Kim, J., & Bradshaw, L. (2024). Approaches to estimating longitudinal diagnostic classification models. Behaviormetrika, 51, 7-19. https://doi.org/10.1007/s41237-023-00202-5
Rupp, A. A., Templin, J., & Henson, R. (2010). Diagnostic Measurement: Theory, Methods, and Applications. New York: Guilford.
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
data <- data.tdcm01$data
q.matrix <- data.tdcm01$q.matrix
# Estimate full TDCM with invariance assumed.
model1 <- TDCM::tdcm(data, q.matrix, num.time.points = 2)
# Summarize results with tdcm.summary().
results <- TDCM::tdcm.summary(model1, num.time.points = 2)
results$item.parameters
results$growth
results$transition.probabilities