get.beta | R Documentation |
\beta
The function is able to calculate the \beta
index for all items after fitting CDM
or directly.
get.beta(Y = NULL, Q = NULL, CDM.obj = NULL, model = "GDINA")
Y |
A required |
Q |
A required binary |
CDM.obj |
An object of class |
model |
Type of model to be fitted; can be |
For item i
with the q-vector of the c
-th (c = 1, 2, ..., 2^{K}
) type, the \beta
index is computed as follows:
\beta_{ic} = \sum_{l=1}^{2^K} \left| \frac{r_{li}}{n_l} P_{ic}(\boldsymbol{\alpha}_{l}) -
\left(1 - \frac{r_{li}}{n_l}\right) \left[1 - P_{ic}(\boldsymbol{\alpha}_{l})\right] \right|
= \sum_{l=1}^{2^K} \left| \frac{r_{li}}{n_l} - \left[1 - P_{ic}(\boldsymbol{\alpha}_{l}) \right] \right|
In the formula, r_{li}
represents the number of examinees in attribute mastery pattern \boldsymbol{\alpha}_{l}
who correctly
answered item i
, while n_l
is the total number of examinees in attribute mastery pattern \boldsymbol{\alpha}_{l}
.
P_{ic}(\boldsymbol{\alpha}_{l})
denotes the probability that an examinee in attribute mastery pattern \boldsymbol{\alpha}_{l}
answers
item i
correctly when the q-vector for item i
is of the c
-th type. In fact,
\frac{r_{li}}{n_l}
is the observed probability that an examinee in attribute mastery pattern \boldsymbol{\alpha}_{l}
answers
item i
correctly, and \beta_{jc}
represents the difference between the actual proportion of
correct answers for item i
in each attribute mastery pattern and the expected probability of answering the
item incorrectly in that state. Therefore, to some extent, \beta_{jc}
can be considered as a measure
of discriminability.
An object of class matrix
, which consisted of \beta
index for each item and each possible attribute mastery pattern.
Haijiang Qin <Haijiang133@outlook.com>
Li, J., & Chen, P. (2024). A new Q-matrix validation method based on signal detection theory. British Journal of Mathematical and Statistical Psychology, 00, 1–33. DOI: 10.1111/bmsp.12371
validation
library(Qval)
set.seed(123)
## generate Q-matrix and data
K <- 3
I <- 20
example.Q <- sim.Q(K, I)
IQ <- list(
P0 = runif(I, 0.0, 0.2),
P1 = runif(I, 0.8, 1.0)
)
model <- "DINA"
example.data <- sim.data(Q = example.Q, N = 500, IQ = IQ, model = model, distribute = "horder")
## calculate beta directly
beta <-get.beta(Y = example.data$dat, Q = example.Q, model = model)
print(beta)
## calculate beta after fitting CDM
example.CDM.obj <- CDM(example.data$dat, example.Q, model=model)
beta <-get.beta(CDM.obj = example.CDM.obj)
print(beta)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.