gdina.dif {CDM} | R Documentation |
Differential Item Functioning in the GDINA Model
Description
This function assesses item-wise differential item functioning in the GDINA model by using the Wald test (de la Torre, 2011; Hou, de la Torre & Nandakumar, 2014). It is necessary that a multiple group GDINA model is previously fitted.
Usage
gdina.dif(object)
## S3 method for class 'gdina.dif'
summary(object, ...)
Arguments
object |
Object of class |
... |
Further arguments to be passed |
Details
The p values are also calculated by a Holm adjustment
for multiple comparisons (see p.holm
in
output difstats
).
In the case of two groups, an effect size of differential item functioning
(labeled as UA
(unsigned area) in difstats
value) is defined as
the weighted absolute difference of item response functions. The DIF measure
for item j
is defined as
UA_j=\sum_l w( \alpha_l ) | P( X_j=1 | \alpha_l, G=1 ) -
P( X_j=1 | \alpha_l, G=2 ) |
where w( \alpha_l )=[ P( \alpha_l | G=1 ) + P( \alpha_l | G=2 ) ]/2
.
Value
A list with following entries
difstats |
Data frame containing results of item-wise Wald tests |
coef |
Data frame containing all (group-wise) item parameters |
delta_all |
List of |
varmat_all |
List of covariance matrices of all
|
prob.exp.group |
List with groups and items containing expected latent class sizes and expected probabilities for each group and each item. Based on this information, effect sizes of differential item functioning can be calculated. |
References
de la Torre, J. (2011). The generalized DINA model framework. Psychometrika, 76, 179-199.
Hou, L., de la Torre, J., & Nandakumar, R. (2014). Differential item functioning assessment in cognitive diagnostic modeling: Application of the Wald test to investigate DIF in the DINA model. Journal of Educational Measurement, 51, 98-125.
See Also
See the GDINA::dif
function in the
GDINA package for similar functionality.
Examples
## Not run:
#############################################################################
# EXAMPLE 1: DIF for DINA simulated data
#############################################################################
# simulate some data
set.seed(976)
N <- 2000 # number of persons in a group
I <- 9 # number of items
q.matrix <- matrix( 0, 9,2 )
q.matrix[1:3,1] <- 1
q.matrix[4:6,2] <- 1
q.matrix[7:9,c(1,2)] <- 1
# simulate first group
guess <- rep( .2, I )
slip <- rep(.1, I)
dat1 <- CDM::sim.din( N=N, q.matrix=q.matrix, guess=guess, slip=slip,
mean=c(0,0) )$dat
# simulate second group with some DIF items (items 1, 7 and 8)
guess[ c(1,7)] <- c(.3, .35 )
slip[8] <- .25
dat2 <- CDM::sim.din( N=N, q.matrix=q.matrix, guess=guess, slip=slip,
mean=c(0.4,.25) )$dat
group <- rep(1:2, each=N )
dat <- rbind( dat1, dat2 )
#*** estimate multiple group GDINA model
mod1 <- CDM::gdina( dat, q.matrix=q.matrix, rule="DINA", group=group )
summary(mod1)
#*** assess differential item functioning
dmod1 <- CDM::gdina.dif( mod1)
summary(dmod1)
## item X2 df p p.holm UA
## 1 I001 10.1711 2 0.0062 0.0495 0.0428
## 2 I002 1.9933 2 0.3691 1.0000 0.0276
## 3 I003 0.0313 2 0.9845 1.0000 0.0040
## 4 I004 0.0290 2 0.9856 1.0000 0.0044
## 5 I005 2.3230 2 0.3130 1.0000 0.0142
## 6 I006 1.8330 2 0.3999 1.0000 0.0159
## 7 I007 40.6851 2 0.0000 0.0000 0.1184
## 8 I008 6.7912 2 0.0335 0.2346 0.0710
## 9 I009 1.1538 2 0.5616 1.0000 0.0180
## End(Not run)