Title: | The Transition Diagnostic Classification Model Framework |
Version: | 0.1.0 |
Description: | Estimate the transition diagnostic classification model (TDCM) described in Madison & Bradshaw (2018) <doi:10.1007/s11336-018-9638-5>, a longitudinal extension of the log-linear cognitive diagnosis model (LCDM) in Henson, Templin & Willse (2009) <doi:10.1007/s11336-008-9089-5>. As the LCDM subsumes many other diagnostic classification models (DCMs), many other DCMs can be estimated longitudinally via the TDCM. The 'TDCM' package includes functions to estimate the single-group and multigroup TDCM, summarize results of interest including item parameters, growth proportions, transition probabilities, transitional reliability, attribute correlations, model fit, and growth plots. |
License: | MIT + file LICENSE |
URL: | https://github.com/cotterell/tdcm |
BugReports: | https://github.com/cotterell/tdcm/issues |
Encoding: | UTF-8 |
Language: | en-US |
LazyData: | true |
Depends: | R (≥ 4.2.0) |
Suggests: | devtools, knitr, lintr, MASS, rmarkdown, ROI, roxygen2, styler (≥ 1.10.2), testthat (≥ 3.0.0), tinytex, V8 |
Config/testthat/edition: | 3 |
Config/Needs/website: | tidyverse/tidytemplate |
SystemRequirements: | pandoc |
VignetteBuilder: | knitr |
RoxygenNote: | 7.3.1 |
Imports: | CDM, gtools, polycor, stringr |
NeedsCompilation: | no |
Packaged: | 2024-02-03 19:56:22 UTC; mepcotterell |
Author: | Matthew J. Madison
|
Maintainer: | Michael E. Cotterell <mepcott@uga.edu> |
Repository: | CRAN |
Date/Publication: | 2024-02-05 19:30:02 UTC |
The Transition Diagnostic Classification Model Framework
Description
For conducting longitudinal DCM analysis within the TDCM framework.
Details
Diagnostic classification models (DCMs) are psychometric models designed to classify examinees according to their proficiency on a set of categorical latent traits, known as attributes. Longitudinal DCMs have been developed as psychometric options for modeling changes in attribute proficiency over time.
The TDCM package implements estimation of the transition DCM (TDCM; Madison & Bradshaw, 2018a), a longitudinal extension of the log-linear cognitive diagnosis model (LCDM; Henson, Templin, & Willse, 2009). As the LCDM subsumes many other DCMs, many other DCMs can be estimated longitudinally via the TDCM. The package includes functions to estimate the single-group and multigroup TDCM, summarize results of interest including item parameters, growth proportions, transition probabilities, transitional reliability, attribute correlations, model fit, and growth plots.
Author(s)
Matthew J. Madison, University of Georgia, mjmadison@uga.edu
Sergio Haab, University of Iowa
Minjeong Jeon, University of California - Los Angeles
Michael E. Cotterell, University of Georgia
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.
Johnson, M. S., & Sinharay, S. (2020). The reliability of the posterior probability of skill attainment in diagnostic classification models. Journal of Educational Measurement, 47(1), 5 – 31.
Kaya, Y., & Leite, W. (2017). Assessing change in latent skills across time with longitudinal cognitive diagnosis modeling: An evaluation of model performance. Educational and Psychological Measurement, 77(3), 369–388.
Li, F., Cohen, A., Bottge, B., & Templin, J. (2015). A latent transition analysis model for assessing change in cognitive skills. Educational and Psychological Measurement, 76(2), 181–204.
Madison, M. J. (2019). Reliably assessing growth with longitudinal diagnostic classification models. Educational Measurement: Issues and Practice, 38(2), 68-78.
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. et al. Approaches to estimating longitudinal diagnostic classification models. Behaviormetrika (2023).
Rupp, A. A., Templin, J., & Henson, R. (2010). Diagnostic measurement: Theory, methods, and applications. New York: Guilford.
Schellman, M., & Madison, M. J. (2021, July). Estimating the reliability of skill transition in longitudinal DCMs. Paper presented at the 2021 International Meeting of the Psychometric Society.
Templin, J., & Bradshaw, L. (2013). Measuring the reliability of diagnostic classification model examinee estimates. Journal of Classification, 30, 251-275.
Wang. S., Yang. Y., Culpepper, S. A., & Douglas, J. (2018). Tracking Skill Acquisition with cognitive diagnosis models: A higher-order, hidden Markov model with covariates. Journal of Educational and Behavioral Statistics, 43(1), 57-87.
See Also
Useful links:
Several data sets for the 'tdcm' package.
Description
Several data sets for the 'tdcm' package.
Usage
data.tdcm01
data.tdcm02
data.tdcm03
data.tdcm04
data.tdcm05
Format
data.tdcm01
is simulated sample data that has two time points, four
attributes, twenty items, one group of size 1000, and a single Q-matrix. The
format is a list of two:
-
data
: a data frame of binary item responses -
q.matrix
: a data frame specifying the Q-matrix
data.tdcm02
is simulated data that has three time points, two
attributes, ten items, one group of size 2500, and a single Q-matrix. The
format is a list of two:
-
data
: a data frame of binary item responses -
q.matrix
: a data frame specifying the Q-matrix
data.tdcm03
is simulated data that has three time points, two
attributes, one group of size 1500, and three different ten-item Q-matrices
for each time point. Anchor items are specified as items 1/1/21 and items
14/24. The format is a list of five:
-
data
: a data frame of binary item responses -
q.matrix.1
: a data frame specifying the Q-matrix for the first time point -
q.matrix.2
: a data frame specifying the Q-matrix for the second time point -
q.matrix.3
: a data frame specifying the Q-matrix for the third time point -
q.matrix.stacked
: data frame specifying the combined Q-matrix for all time points
data.tdcm04
is simulated data that has two time points, four
attributes, twenty items, two group of size 800 and 900, respectively, and a
single Q-matrix. The format is a list of three:
-
data
: a data frame of binary item responses -
q.matrix
: a data frame specifying the Q-matrix -
groups
: a vector specifying the examinee group memberships
data.tdcm05
is simulated data that has two has one time point, four
attributes, and twenty items. For use with the 1-PLCDM. The format is a list
of two:
-
data
: a data frame of binary item responses -
q.matrix
: a data frame specifying the Q-matrix
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
data <- data.tdcm01$data
q.matrix <- data.tdcm01$q.matrix
model <- TDCM::tdcm(data, q.matrix, num.time.points = 2)
Estimating item influence measures.
Description
Function to estimate estimate item influence measures. Code adapted from (Jurich & Madison, 2023). This function is not available for longitudinal DCMs.
Usage
item.influence(model, data, fullcorrelation = FALSE, progress = TRUE)
Arguments
model |
a previously calibrated model; an object of class |
data |
a required |
fullcorrelation |
optional logical argument indicating a full or reduced response-classification correlation matrix. |
progress |
An optional logical indicating whether the function should print the progress of estimation. |
Details
For DCMs, item influence quantifies how much an item impacts classifications. Given an estimated DCM and item response data, this function estimates five item influence measures, including item pull, item override, proportion of attribute information, response-classification correlation (corr1), and response-posterior correlation (corr2).
Value
A list containing several item influence measures.
Note
Currently, this function currently only runs on DCMs estimated at a single time point. It will not run properly for TDCM objects.
References
Jurich, D. & Madison, M. J. (2023). Measuring item influence for diagnostic classification models. Educational Assessment.
Examples
## Item influence illustration
#load data (simulated based on Jurich and Bradshaw (2014))
qmatrix <- CDM::data.sda6$q.matrix
responses <- CDM::data.sda6$data
#Estimate the full LCDM
model1 <- CDM::gdina(responses, qmatrix, linkfct = "logit", method = "ML")
#Estimate item influence measures
influence <- TDCM::item.influence(model1, responses)
#Summarize influence statistics
influence$Pull #item pull
influence$Override #item override
influence$Information #proportion of attribute information
influence$Correlation1 #correlation of responses and classifications
influence$Correlation2 #correlation of responses and posterior probabilities
Estimating the multigroup transition diagnostic classification model (TDCM)
Description
This function estimates the multigroup TDCM (Madison & Bradshaw, 2018).
Usage
mg.tdcm(
data,
q.matrix,
num.time.points,
rule = "GDINA",
groups,
group.invariance = TRUE,
item.invariance = TRUE,
progress = FALSE
)
Arguments
data |
a required |
q.matrix |
a required |
num.time.points |
the number of time points (i.e., measurement/testing occasions), integer |
rule |
the specific DCM to be employed. Currently accepts “GDINA”, “ACDM”, “DINA”, “GDINA1”, “GDINA2”, and so on. Default is “GDINA”, which is implemented with a logit link to estimate the LCDM. The “ACDM” rule will estimate the LCDM with only main effects. The “DINA” rule will estimate the DINA model. “GDINA1” will estimate the LCDM with only main effects, equivalent to “ACDM”. “GDINA2” will estimate the LCDM with up to two-way interaction effects. If rule is entered as a single string, that DCM will be assumed for each item. If entered as a vector, a DCM can be specified for each item. |
groups |
A required vector of group identifiers for multiple group estimation. |
group.invariance |
logical indicator for whether item parameter invariance should be assumed equal for all groups. Default = T. If specified as false, item parameters are not assumed equal for groups. |
item.invariance |
logical indicator for whether item parameter invariance should be constrained to be equal at each time point. Default = T. If specified as false, item parameters are not assumed equal over time. |
progress |
An optional logical indicating whether the function should print the progress of estimation. |
Value
An object of class gdina
with entries as indicated in the CDM package. For the TDCM-specific results (e.g., growth, transitions), results are summarized using the mg.tdcm.summary
function.
Note
Currently, this function only accepts a single Q-matrix.
References
Madison, M. J., & Bradshaw, L. (2018). Evaluating intervention effects in a diagnostic classification model framework. Journal of Educational Measurement, 55(1), 32-51.
Examples
## Example 4: G = 2, T = 2, A = 4
data(data.tdcm04, package = "TDCM")
data <- data.tdcm04$data
q.matrix <- data.tdcm04$q.matrix
groups <- data.tdcm04$groups
# Estimate full multigroup TDCM with invariance assumed.
mg.model <- TDCM::mg.tdcm(data, q.matrix, num.time.points = 2, groups = groups)
# summarize results
results <- TDCM::mg.tdcm.summary(mg.model, num.time.points = 2)
# plot results
TDCM::tdcm.plot(results)
Multigroup TDCM results compiler and summarizer.
Description
A function to compile results from calibration of the multigroup TDCM (Madison & Bradshaw, 2018).
Usage
mg.tdcm.summary(
model,
num.time.points,
transition.option = 1,
classthreshold = 0.5,
attribute.names = c(),
group.names = c()
)
Arguments
model |
a |
num.time.points |
the number of time points (i.e., measurement/testing occasions), integer |
transition.option |
option for reporting results. |
classthreshold |
probability threshold for establishing proficiency from examinee posterior probabilities. Default is .50, which maximizes overall classification accuracy. It can be set to a lower value to minimize false negatives (i.e., misclassifying proficient examinees as non-proficient) or set to a higher value to minimize false positives (i.e., misclassifying non-proficient examinees as proficient). |
attribute.names |
optional vector of attribute names to include in plots. |
group.names |
optional vector of group names to include in plots. |
Details
Provides a summary of multigroup TDCM results including item parameters, attribute posterior probabilities, transition posterior probabilities, classifications, group-wise growth, group-wise transition probabilities, attribute correlations, several transition reliability metrics, and model fit. Includes longitudinal versions of reliability metrics developed by Templin and Bradshaw (2013) and Johnson and Sinharay (2020).
Value
A list with the following items:
-
$item.parameters
: LCDM item parameter estimates from the specified DCM. -
$growth
: proficiency proportions for each time point and each attribute -
$transition.probabilities
: conditional attribute proficiency transition probability matrices -
$posterior.probabilities
: examinee marginal attribute posterior probabilities of proficiency -
$transition.posteriors
: examinee marginal attribute transition posterior probabilities -
$most.likely.transitions
: examinee most likely transitions for each attribute and transition -
$classifications
: examinee classifications determined by the specified threshold applied to the posterior probabilities -
$reliability
: estimated transition reliability metrics for each attribute for the specified transitions. “pt bis” = longitudinal point biserial metric; “info gain” = longitudinal information gain metric; “polychor” = longitudinal tetrachoric metric; “ave max tr” = average maximum transition posterior metric; “P(t>k)” = proportion of examinee marginal attribute transition posteriors greater than k; “wt pt bis” = weighted longitudinal point biserial; “wt info gain” = weighted longitudinal information gain. -
$att.corr
: estimated attribute correlation matrix -
$model.fit
: Several model fit indices and tests are output including item root mean square error of approximation (RMSEA; von Davier, 2005), mean RMSEA, bivariate item fit statistics (Chen et al., 2013), and absolute fit statistics such as mean absolute deviation for observed and expected item correlations (MADcor; DiBello, Roussons, & Stout, 2007), and standardized root mean square root of squared residuals (SRMSR; Maydeu-Olivares, 2013)
References
Chen, J., de la Torre, J. ,& Zhang, Z. (2013). Relative and absolute fit evaluation in cognitive diagnosis modeling. Journal of Educational Measurement, 50, 123-140.
DiBello, L. V., Roussos, L. A., & Stout, W. F. (2007). Review of cognitively diagnostic assessment and a summary of psychometric models. In C. R. Rao and S. Sinharay (Eds.), Handbook of Statistics, Vol. 26 (pp.979–1030). Amsterdam: Elsevier.
Johnson, M. S., & Sinharay, S. (2020). The reliability of the posterior probability of skill attainment in diagnostic classification models. Journal of Educational Measurement, 47(1), 5 – 31.
Madison, M. J. (2019). Reliably assessing growth with longitudinal diagnostic classification models. Educational Measurement: Issues and Practice, 38(2), 68-78.
Madison, M. J., & Bradshaw, L. (2018). Evaluating intervention effects in a diagnostic classification model framework. Journal of Educational Measurement, 55(1), 32-51.
Maydeu-Olivares, A. (2013). Goodness-of-fit assessment of item response theory models (with discussion). Measurement: Interdisciplinary Research and Perspectives, 11, 71-137.
Schellman, M., & Madison, M. J. (2021, July). Estimating the reliability of skill transition in longitudinal DCMs. Paper presented at the 2021 International Meeting of the Psychometric Society.
Templin, J., & Bradshaw, L. (2013). Measuring the reliability of diagnostic classification model examinee estimates. Journal of Classification, 30, 251-275.
von Davier M. (2008). A general diagnostic model applied to language testing data. The British journal of mathematical and statistical psychology, 61(2), 287–307.
Examples
## Example 4: G = 2, T = 2, A = 4
data(data.tdcm04, package = "TDCM")
dat4 <- data.tdcm04$data
qmat4 <- data.tdcm04$q.matrix
group4 <- data.tdcm04$groups
# estimate mgTDCM with invariance assumed and full LCDM
mg1 <- TDCM::mg.tdcm(dat4, qmat4,
num.time.points = 2, rule = "GDINA",
group = group4, group.invariance = TRUE, item.invariance = TRUE)
# summarize results
results1 <- TDCM::mg.tdcm.summary(mg1, num.time.points = 2)
# plot results
TDCM::tdcm.plot(results1)
# estimate mgTDCM without group invariance
mg2 <- TDCM::mg.tdcm(dat4, qmat4,
num.time.points = 2, rule = "GDINA",
group = group4, group.invariance = FALSE, item.invariance = TRUE)
# compare models to assess group invariance
TDCM::tdcm.compare(mg1, mg2)
One-parameter log-linear cognitive diagnosis model.
Description
Function to estimate the 1-PLCDM (Madison et al., 2023; Maas et al., 2023).
Usage
oneplcdm(data, q.matrix, progress = TRUE)
Arguments
data |
a required |
q.matrix |
a required |
progress |
An optional logical indicating whether the function should print the progress of estimation. |
Details
Estimates the single-attribute and multi-attribute 1-PLCDM described in Madison et al. (2023). Example shows that attribute subscores are sufficient statistics for classifications.
Value
An object of class gdina
with entries as indicated in the CDM package.
Note
Currently, this model cannot be embedded within the TDCM via the rule
argument.
References
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., Chung, S., Kim, J., & Bradshaw, L. (2023). Approaches to estimating longitudinal diagnostic classification models. Behaviormetrika.
Madison, M.J., Wind, S., Maas, L., Yamaguchi, K. & Haab, S. (2023). A one-parameter diagnostic classification model with familiar measurement properties. Arxiv.
Maas, L., Madison, M. J., & Brinkhuis, M. J. (2024). Properties and performance of the one-parameter log-linear cognitive diagnosis model. Frontiers.
Examples
## Example 1: A = 4
data(data.tdcm05)
dat5 <- data.tdcm05$data
qmat5 <- data.tdcm05$q.matrix
# calibrate LCDM
m1 <- CDM::gdina(dat5, qmat5, linkfct = "logit", method = "ML")
# calibrate 1-PLCDM
m2 <- TDCM::oneplcdm(dat5, qmat5)
summary(m2)
#demonstrate 1-PLCDM sum score sufficiency for each attribute
subscores <- cbind(rowSums(dat5[, 1:5]), rowSums(dat5[, 6:10]),
rowSums(dat5[, 11:15]), rowSums(dat5[, 16:20]))
colnames(subscores) <- c("Att1", "Att2", "Att3", "Att4")
proficiency <- cbind(m2$pattern[, 6] > .50, m2$pattern[, 7] > .50,
m2$pattern[, 8] > .50, m2$pattern[, 9] > .5) * 1
table(subscores[, 1], proficiency[, 1])
table(subscores[, 2], proficiency[, 2])
table(subscores[, 3], proficiency[, 3])
table(subscores[, 4], proficiency[, 4])
#plot sum score sufficiency for each attribute
posterior1pl <- m2$pattern[, 6:9]
posteriorlcdm <- m1$pattern[, 6:9]
oldpar <- par(mfrow = c(2, 2))
for (i in 1:4) {
plot(subscores[, i], posteriorlcdm[, i], pch = 19,las = 1, cex.lab = 1.5,
xlab = "Sum Scores", ylab = "P(proficiency)",
cex.main = 1.5, col = "grey", xaxt = "n", yaxt = "n", cex = 1.2,
main = paste("Attribute ", i, sep = ""))
graphics::axis(side = 1, at = c(0, 1, 2, 3, 4, 5), )
graphics::axis(side = 2, at = c(0, .1, .2, .3, .4, .5, .6, .7, .8, .9, 1.0), las = 1)
graphics::points(subscores[, i], posterior1pl[, i], col = "black", pch = 18, cex = 1.5)
graphics::abline(a = .50, b = 0, col = "red")
graphics::legend("bottomright", c("1-PLCDM", "LCDM"), col = c("black", "grey"),
pch = c(18 ,19), box.lwd = 0, box.col = "white", bty = 'n')
}
par(oldpar)
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
Comparing the fit of two TDCMs
Description
Provides a comparison of two TDCMs. Can be used to compare different measurement models or assess measurement invariance over time or over groups in the multigroup TDCM case. Only accepts two models.
Usage
tdcm.compare(model1, model2)
Arguments
model1 |
|
model2 |
a second |
Value
This function returns a data frame with model fit statistics (AIC/BIC) and results from a likelihood ratio or deviance test.
Note
Currently, this function currently accepts two models for comparison.
Both models must be fit to the same item responses and Q-matrix.
The function will provide results for two non-nested models. Please ensure that models are nested before interpreting the likelihood ratio test for nested models.
The likelihood ratio test is not valid for some model comparisons (e.g., LCDM vs DINA) because of model constraints.
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
dat1 <- data.tdcm01$data
qmat1 <- data.tdcm01$q.matrix
# estimate TDCM with invariance assumed and full LCDM
m1 <- TDCM::tdcm(dat1, qmat1, num.time.points = 2, invariance = TRUE, rule = "GDINA")
# estimate TDCM with invariance not assumed
m2 <- TDCM::tdcm(dat1, qmat1, num.time.points = 2, invariance = FALSE, rule = "GDINA")
# compare models to assess measurement invariance.
TDCM::tdcm.compare(m1, m2)
Plotting TDCM Results
Description
tdcm.plot()
visualizes the results from TDCM analyses.
Usage
tdcm.plot(results, attribute.names = c(), group.names = c())
Arguments
results |
results from |
attribute.names |
an optional vector of attribute names to include in plots. |
group.names |
an optional vector of group names to include in plots. |
Value
No return value, called for side effects.
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
dat1 = data.tdcm01$data
qmat1 = data.tdcm01$q.matrix
#estimate TDCM with invariance assumed and full LCDM
m1 = TDCM::tdcm(dat1, qmat1, num.time.points = 2, invariance = TRUE, rule = "GDINA")
#summarize results with tdcm.summary function
results1 = TDCM::tdcm.summary(m1, num.time.points = 2)
#plot results
TDCM::tdcm.plot(results1, attribute.names = c("Addition", "Subtraction",
"Multiplication", "Division"))
DCM scoring function.
Description
Function to score responses with fixed item parameters from a previously calibrated LCDM.
Usage
tdcm.score(
calibration.model,
newdata,
q.matrix,
attr.prob.fixed = NULL,
progress = TRUE
)
Arguments
calibration.model |
the previously calibrated model; an object of class |
newdata |
a required |
q.matrix |
a required |
attr.prob.fixed |
optional argument for attribute profile proportions. Default is uniform distribution of profiles. |
progress |
An optional logical indicating whether the function should print the progress of estimation. |
Details
Obtain classifications for new responses to items that were previously calibrated. The calibrate-and-score approach is further detailed in Madison et al. (2023).
Value
An object of class gdina
with entries as indicated in the CDM package.
References
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., Chung, S., Kim, J., & Bradshaw, L. (2023). Approaches to estimating longitudinal diagnostic classification models. Behaviormetrika.
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
dat1 <- data.tdcm01$data
qmat1 <- data.tdcm01$q.matrix
pre <- dat1[, 1:20]
post <- dat1[, 21:40]
# calibrate LCDM with post-test data
m1 <- CDM::gdina(data = post, q.matrix = qmat1, linkfct = "logit", method = "ML")
# score pre-test responses
m2 <- TDCM::tdcm.score(m1, newdata = pre, q.matrix = qmat1)
summary(m2)
m2$pattern
TDCM results compiler and summarizer.
Description
Function to summarize results from TDCM analyses.
Usage
tdcm.summary(
model,
num.time.points,
transition.option = 1,
classthreshold = 0.5,
attribute.names = c()
)
Arguments
model |
a |
num.time.points |
the number of time points (i.e., measurement/testing occasions), integer |
transition.option |
option for reporting results. |
classthreshold |
probability threshold for establishing proficiency from examinee posterior probabilities. Default is .50, which maximizes overall classification accuracy. It can be set to a lower value to minimize false negatives (i.e., misclassifying proficient examinees as non-proficient) or set to a higher value to minimize false positives (i.e., misclassifying non-proficient examinees as proficient). |
attribute.names |
optional vector of attribute names to include in results output. |
Details
Provides a summary of TDCM results including item parameters, attribute posterior probabilities, transition posterior probabilities, classifications, growth, transition probabilities, attribute correlations, several transition reliability metrics, and model fit. Includes longitudinal DCM reliability metrics developed by Schellman and Madison (2021).
Value
A list with the following items:
-
$item.parameters
: LCDM item parameter estimates from the specified DCM. -
$growth
: proficiency proportions for each time point and each attribute -
$transition.probabilities
: conditional attribute proficiency transition probability matrices -
$posterior.probabilities
: examinee marginal attribute posterior probabilities of proficiency -
$transition.posteriors
: examinee marginal attribute transition posterior probabilities -
$most.likely.transitions
: examinee most likely transitions for each attribute and transition -
$classifications
: examinee classifications determined by the specified threshold applied to the posterior probabilities -
$reliability
: estimated transition reliability metrics for each attribute for the specified transitions. “pt bis” = longitudinal point biserial metric; “info gain” = longitudinal information gain metric; “polychor” = longitudinal tetrachoric metric; “ave max tr” = average maximum transition posterior metric; “P(t>k)” = proportion of examinee marginal attribute transition posteriors greater than k; “wt pt bis” = weighted longitudinal point biserial; “wt info gain” = weighted longitudinal information gain. -
$att.corr
: estimated attribute correlation matrix -
$model.fit
: Several model fit indices and tests are output including item root mean square error of approximation (RMSEA; von Davier, 2005), mean RMSEA, bivariate item fit statistics (Chen et al., 2013), and absolute fit statistics such as mean absolute deviation for observed and expected item correlations (MADcor; DiBello, Roussons, & Stout, 2007), and standardized root mean square root of squared residuals (SRMSR; Maydeu-Olivares, 2013)
References
Chen, J., de la Torre, J. ,& Zhang, Z. (2013). Relative and absolute fit evaluation in cognitive diagnosis modeling. Journal of Educational Measurement, 50, 123-140.
DiBello, L. V., Roussos, L. A., & Stout, W. F. (2007). Review of cognitively diagnostic assessment and a summary of psychometric models. In C. R. Rao and S. Sinharay (Eds.), Handbook of Statistics, Vol. 26 (pp.979–1030). Amsterdam: Elsevier.
Johnson, M. S., & Sinharay, S. (2020). The reliability of the posterior probability of skill attainment in diagnostic classification models. Journal of Educational Measurement, 47(1), 5 – 31.
Madison, M. J. (2019). Reliably assessing growth with longitudinal diagnostic classification models. Educational Measurement: Issues and Practice, 38(2), 68-78.
Maydeu-Olivares, A. (2013). Goodness-of-fit assessment of item response theory models (with discussion). Measurement: Interdisciplinary Research and Perspectives, 11, 71-137.
Schellman, M., & Madison, M. J. (2021, July). Estimating the reliability of skill transition in longitudinal DCMs. Paper presented at the 2021 International Meeting of the Psychometric Society.
Templin, J., & Bradshaw, L. (2013). Measuring the reliability of diagnostic classification model examinee estimates. Journal of Classification, 30, 251-275.
von Davier M. (2008). A general diagnostic model applied to language testing data. The British journal of mathematical and statistical psychology, 61(2), 287–307.
Examples
## Example 1: T = 2, A = 4
data(data.tdcm01, package = "TDCM")
dat1 <- data.tdcm01$data
qmat1 <- data.tdcm01$q.matrix
# estimate TDCM with invariance assumed and full LCDM
m1 <- TDCM::tdcm(dat1, qmat1, num.time.points = 2, invariance = TRUE, rule = "GDINA")
# summarize results with tdcm.summary function
results1 <- TDCM::tdcm.summary(m1, num.time.points = 2)
results1$item.parameters
results1$growth
results1$transition.probabilities
results1$reliability
head(results1$most.likely.transitions)
results1$model.fit$Item.RMSEA
Emit tdcm
-related message
Description
The tdcm_emit
function is used internally by the tdcm
package to ensure
that messages, warnings, and errors are emitted in a way that can be easily
suppressed by users of the package.
Usage
tdcm_emit(text, label = "INFO:", func = base::message, ...)
tdcm_warn(text, ...)
tdcm_stop(text, ...)
Arguments
text |
The message text to emit, an object that can be coerced to a
|
label |
The label that precedes the message. The default |
func |
The function to use to emit the message. The default |
Functions
-
tdcm_warn()
: Emittdcm
-related warning message -
tdcm_stop()
: Emittdcm
-related stop message