
Cognitive diagnosis and Q-matrix governance
Source:vignettes/cognitive-diagnosis-qmatrix-governance.Rmd
cognitive-diagnosis-qmatrix-governance.RmdThe cognitive-diagnosis layer supplies transparent Q-matrix audits, attribute-profile enumeration, and deterministic DINA ideal-response/probability calculations.
Q <- rbind(c(1,0), c(0,1), c(1,1), c(1,0))
aud <- eyeprocess_cdm_qmatrix_audit(Q)
aud
#> eyeprocess CDM Q-matrix audit
#> items : 4
#> attributes: 2
#> empty items: 0 | unmeasured attributes: 0
profiles <- eyeprocess_cdm_attribute_profiles(2)[, c("A1","A2")]
eta <- eyeprocess_cdm_dina_ideal_response(Q, profiles)
eyeprocess_cdm_dina_probability(eta)
#> [,1] [,2] [,3] [,4]
#> [1,] 0.2 0.2 0.2 0.2
#> [2,] 0.9 0.2 0.2 0.9
#> [3,] 0.2 0.9 0.2 0.2
#> [4,] 0.9 0.9 0.9 0.9These utilities do not replace full cognitive-diagnosis estimation,
Q-matrix validation, or model comparison.
fit_eyeprocess_gdina() delegates exact fitting to GDINA and
gates cleanly when unavailable.
Primary package source: https://cran.r-project.org/package=GDINA.
Visual audit
A compact deterministic Q-matrix makes the structural audit visible. The display concerns declared item-attribute structure and does not by itself establish substantive validity.
viz_Q <- rbind(
c(1, 0),
c(0, 1),
c(1, 1),
c(1, 0),
c(0, 1),
c(1, 1)
)
rownames(viz_Q) <- paste0('Item ', seq_len(nrow(viz_Q)))
colnames(viz_Q) <- c('Attribute 1', 'Attribute 2')
viz_qmatrix <- eyeprocess::eyeprocess_cdm_qmatrix_audit(viz_Q)
stopifnot(
inherits(viz_qmatrix, 'eye_cdm_qmatrix_audit')
)
plot(viz_qmatrix)
Q-matrix structure for a small deterministic cognitive-diagnosis example.