| get.beta | R Documentation | 
\betaThe 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 <- 4
I <- 20
Q <- sim.Q(K, I)
IQ <- list(
  P0 = runif(I, 0.0, 0.3),
  P1 = runif(I, 0.7, 0.9)
)
model <- "GDINA"
data <- sim.data(Q = Q, N = 500, IQ = IQ, model = model, distribute = "horder")
## calculate beta directly
beta <-get.beta(Y = data$dat, Q = Q, model = model)
print(beta)
## calculate beta after fitting CDM
CDM.obj <- CDM(data$dat, Q, model=model)
beta <-get.beta(CDM.obj = CDM.obj)
print(beta)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.