get.PVAF {Qval} | R Documentation |
Calculate
Description
The function is able to caculate the proportion of variance accounted for () for all items
after fitting
CDM
or directly.
Usage
get.PVAF(Y = NULL, Q = NULL, CDM.obj = NULL, model = "GDINA")
Arguments
Y |
A required |
Q |
A required binary |
CDM.obj |
An object of class |
model |
Type of model to be fitted; can be |
Details
The intrinsic essence of the GDI index (as denoted by ) is the weighted variance of
all
attribute mastery patterns' probabilities of correctly responding to
item
, which can be computed as:
where represents the prior probability of mastery pattern
;
is the weighted average of the correct
response probabilities across all attribute mastery patterns. When the q-vector
is correctly specified, the calculated
should be maximized, indicating
the maximum discrimination of the item.
Theoretically, is larger when
is either specified correctly or over-specified,
unlike when
is under-specified, and that when
is over-specified,
is larger than but close to the value of
when specified correctly. The value of
continues to
increase slightly as the number of over-specified attributes increases, until
becomes
.
Thus,
is computed to indicate the proportion of variance accounted for by
, called the
.
Value
An object of class matrix
, which consisted of for each item and each possible attribute mastery pattern.
Author(s)
Haijiang Qin <Haijiang133@outlook.com>
References
de la Torre, J., & Chiu, C. Y. (2016). A General Method of Empirical Q-matrix Validation. Psychometrika, 81(2), 253-273. DOI: 10.1007/s11336-015-9467-8.
See Also
Examples
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)
)
example.data <- sim.data(Q = example.Q, N = 500, IQ = IQ, model = "GDINA", distribute = "horder")
## calculate PVAF directly
PVAF <-get.PVAF(Y = example.data$dat, Q = example.Q)
print(PVAF)
## caculate PVAF after fitting CDM
example.CDM.obj <- CDM(example.data$dat, example.Q, model="GDINA")
PVAF <-get.PVAF(CDM.obj = example.CDM.obj)
print(PVAF)