
Last chance! 50% off unlimited learning
Sale ends in
A function to estimate parameters for cognitive diagnosis models by MMLE/EM (de la Torre, 2009; de la Torre, 2011)
or MMLE/BM (Ma & Jiang, 2020) algorithm.The function imports various functions from the GDINA
package,
parameter estimation for Cognitive Diagnostic Models was performed and extended. The CDM
function not
only accomplishes parameter estimation for most commonly used models ( GDINA
, DINA
, DINO
,
ACDM
, LLM
, or rRUM
) but also facilitates parameter estimation for the LCDM
model (Henson, Templin, & Willse, 2008; Tu et al., 2022). Furthermore, it incorporates Bayes modal estimation
(BM; Ma & Jiang, 2020) to obtain more reliable estimation results, especially in small sample sizes.
The monotonic constraints are able to be satisfied.
CDM(
Y,
Q,
model = "GDINA",
method = "BM",
mono.constraint = TRUE,
maxitr = 2000,
verbose = 1
)
An object of class CDM.obj
is a list
containing the following components:
An GDINA
object gained from GDINA
package or an list
after BM algorithm,
depending on which estimation is used.
Individuals' attribute parameters caculated by EAP method (Huebner & Wang, 2011)
Individual posterior
Individuals' marginal mastery probabilities matrix (Tu et al., 2022)
Attribute prior weights for calculating marginalized likelihood in the last iteration
Some basic model-fit indeces, including
A required N
× I
matrix or data.frame consisting of the responses of N
individuals
to × I
items. Missing values need to be coded as NA
.
A required binary I
× K
containing the attributes not required or required, 0 or 1, to
master the items. The i
th row of the matrix is a binary indicator vector indicating which
attributes are not required (coded by 0) and which attributes are required (coded by 1) to master
item i
.
Type of model to be fitted; can be "GDINA"
, "LCDM"
, "DINA"
, "DINO"
, "ACDM"
,
"LLM"
, or "rRUM"
. Default = "GDINA"
.
Type of mtehod to estimate CDMs' parameters; one out of "EM"
, "BM"
. Default = "BM"
However, "BM"
is only avaible when method = "GDINA"
.
Logical indicating whether monotonicity constraints should be fulfilled in estimation.
Default = TRUE
.
A vector for each item or nonzero category, or a scalar which will be used for all items
to specify the maximum number of EM or BM cycles allowed. Default = 2000
.
Can be 0
, 1
or 2
, indicating to print no information, information
for current iteration, or information for all iterations. Default = 1
.
Haijiang Qin <Haijiang133@outlook.com>
CDMs are statistical models that fully integrates cognitive structure variables, which define the response probability of subjects on questions by assuming the mechanism of action between attributes. In the dichotomous test, this probability is the probability of answering correctly. According to the specificity or generality of CDM assumptions, it can be divided into reduced CDM and saturated CDM.
Reduced CDMs possess special and strong assumptions about the mechanisms of attribute interactions, leading to clear interactions between attributes. Representative reduced models include the Deterministic Input, Noisy and Gate (DINA) model (Haertel, 1989; Junker & Sijtsma, 2001; de la Torre & Douglas, 2004), the Deterministic Input, Noisy or Gate (DINO) model (Templin & Henson, 2006), and the Additive Cognitive Diagnosis Model (A-CDM; de la Torre, 2011), the reduced Reparametrized Unified Model (r-RUM; Hartz, 2002), among others. Compared to reduced models, saturated models do not have strict assumptions about the mechanisms of attribute interactions. When appropriate constraints are applied, they can be transformed into various reduced models (Henson et al., 2008; de la Torre, 2011), such as the Log-Linear Cognitive Diagnosis Model (LCDM; Henson et al., 2009) and the general Deterministic Input, Noisy and Gate model (G-DINA; de la Torre, 2011).
The LCDM (Log-Linear Cognitive Diagnosis Model) is a saturated CDM fully proposed within the framework of
cognitive diagnosis. Unlike simplified models that only discuss the main effects of attributes, it also
considers the interactions between attributes, thus having more generalized assumptions about attributes.
Its definition of the probability of correct response is as follows:
The general Deterministic Input, Noisy and Gate model (G-DINA), proposed by de la Torre (2011), is a saturated
model that offers three types of link functions: identity link, log link, and logit link, which are defined as follows:
Specifically, the A-CDM can be formulated as:
The RRUM, can be written as:
The item response function for LLM can be given by:
In the DINA model, every item is characterized by two key parameters: guessing (g) and slip (s). Within
the traditional framework of DINA model parameterization, a latent variable
If individual
In contrast to the DINA model, the DINO model suggests that an individual can correctly respond to
an item if they have mastered at least one of the item's measured attributes. Additionally, like the
DINA model, the DINO model also accounts for parameters related to guessing and slipping. Therefore,
the main difference between DINO and DINA lies in their respective
de la Torre, J. (2009). DINA Model and Parameter Estimation: A Didactic. Journal of Educational and Behavioral Statistics, 34(1), 115-130. DOI: 10.3102/1076998607309474.
de la Torre, J., & Douglas, J. A. (2004). Higher-order latent trait models for cognitive diagnosis. Psychometrika, 69(3), 333-353. DOI: 10.1007/BF02295640.
de la Torre, J. (2011). The Generalized DINA Model Framework. Psychometrika, 76(2), 179-199. DOI: 10.1007/s11336-011-9207-7.
Haertel, E. H. (1989). Using restricted latent class models to map the skill structure of achievement items. Journal of Educational Measurement, 26(4), 301-323. DOI: 10.1111/j.1745-3984.1989.tb00336.x.
Hartz, S. M. (2002). A Bayesian framework for the unified model for assessing cognitive abilities: Blending theory with practicality (Unpublished doctoral dissertation). University of Illinois at Urbana-Champaign.
Henson, R. A., Templin, J. L., & Willse, J. T. (2008). Defining a Family of Cognitive Diagnosis Models Using Log-Linear Models with Latent Variables. Psychometrika, 74(2), 191-210. DOI: 10.1007/s11336-008-9089-5.
Huebner, A., & Wang, C. (2011). A note on comparing examinee classification methods for cognitive diagnosis models. Educational and Psychological Measurement, 71, 407-419. DOI: 10.1177/0013164410388832.
Junker, B. W., & Sijtsma, K. (2001). Cognitive assessment models with few assumptions, and connections with nonparametric item response theory. Applied Psychological Measurement, 25(3), 258-272. DOI: 10.1177/01466210122032064.
Ma, W., & Jiang, Z. (2020). Estimating Cognitive Diagnosis Models in Small Samples: Bayes Modal Estimation and Monotonic Constraints. Applied Psychological Measurement, 45(2), 95-111. DOI: 10.1177/0146621620977681.
Templin, J. L., & Henson, R. A. (2006). Measurement of psychological disorders using cognitive diagnosis models. Psychological methods, 11(3), 287-305. DOI: 10.1037/1082-989X.11.3.287.
Tu, D., Chiu, J., Ma, W., Wang, D., Cai, Y., & Ouyang, X. (2022). A multiple logistic regression-based (MLR-B) Q-matrix validation method for cognitive diagnosis models: A confirmatory approach. Behavior Research Methods. DOI: 10.3758/s13428-022-01880-x.
validation
.
################################################################
# Example 1 #
# fit using MMLE/EM to fit the GDINA models #
################################################################
set.seed(123)
library(Qval)
## generate Q-matrix and data to fit
K <- 5
I <- 30
example.Q <- sim.Q(K, I)
IQ <- list(
P0 = runif(I, 0.0, 0.2),
P1 = runif(I, 0.8, 1.0)
)
example.data <- sim.data(Q = example.Q, N = 500, IQ = IQ,
model = "GDINA", distribute = "horder")
# \donttest{
## using MMLE/EM to fit GDINA model
example.CDM.obj <- CDM(example.data$dat, example.Q, model = "GDINA",
method = "EM", maxitr = 2000, verbose = 1)
# }
################################################################
# Example 2 #
# fit using MMLE/BM to fit the DINA #
################################################################
set.seed(123)
library(Qval)
## generate Q-matrix and data to fit
K <- 5
I <- 30
example.Q <- sim.Q(K, I)
IQ <- list(
P0 = runif(I, 0.0, 0.2),
P1 = runif(I, 0.8, 1.0)
)
example.data <- sim.data(Q = example.Q, N = 500, IQ = IQ,
model = "DINA", distribute = "horder")
# \donttest{
## using MMLE/EM to fit GDINA model
example.CDM.obj <- CDM(example.data$dat, example.Q, model = "GDINA",
method = "BM", maxitr = 1000, verbose = 2)
# }
################################################################
# Example 3 #
# fit using MMLE/EM to fit the ACDM #
################################################################
set.seed(123)
library(Qval)
## generate Q-matrix and data to fit
K <- 5
I <- 30
example.Q <- sim.Q(K, I)
IQ <- list(
P0 = runif(I, 0.0, 0.2),
P1 = runif(I, 0.8, 1.0)
)
example.data <- sim.data(Q = example.Q, N = 500, IQ = IQ,
model = "ACDM", distribute = "horder")
# \donttest{
## using MMLE/EM to fit GDINA model
example.CDM.obj <- CDM(example.data$dat, example.Q, model = "ACDM",
method = "EM", maxitr = 2000, verbose = 1)
# }
Run the code above in your browser using DataLab