difLRT {difR} | R Documentation |
Performs DIF detection using Likelihood Ratio Test (LRT) method.
difLRT(Data, group, focal.name, alpha=0.05, purify=FALSE, nrIter=10) ## S3 method for class 'LRT': print(x, ...) ## S3 method for class 'LRT': plot(x, pch=8, number=TRUE, col="red", ...)
Data |
numeric: either the data matrix only, or the data matrix plus the vector of group membership. See Details. |
group |
numeric or character: either the vector of group membership or the column indicator (within data ) of group membership. See Details. |
focal.name |
numeric or character indicating the level of group which corresponds to the focal group. |
alpha |
numeric: significance level (default is 0.05). |
purify |
logical: should the method be used iteratively to purify the set of anchor items? (default is FALSE). |
nrIter |
numeric: the maximal number of iterations in the item purification process. Default is 10. |
x |
the result from a LRT class object. |
pch, col |
type of usual pch and col graphical options. |
number |
logical: should the item number identification be printed (default is TRUE ). |
... |
other generic parameters for the plot or the print functions. |
The likelihood-ratio test method (Thissen, Steinberg and Wainer, 1988) allows for detecting uniform differential item functioning by fitting a closed-form Rasch model and by testing for extra interactions between group membership and item response. Currently only the Rasch model can be used, so only uniform DIF can be detected. Moreover, items are tested one by one and the other items act as anchor items.
The Data
is a matrix whose rows correspond to the subjects and columns to the items. Missing values are not allowed.
In addition, Data
can hold the vector of group membership. If so, group
indicates the column of Data
which
corresponds to the group membership, either by specifying its name or by giving the column number. Otherwise, group
must
be a vector of same length as nrow(Data)
.
The vector of group membership must hold only two different values, either as numeric or character. The focal group is defined by
the value of the argument focal.name
.
The function glmer
from package lme4
(Bates and Maechler, 2009) is used to fit the closed-form Rasch model. More precisely, the probability that
response Y_{ijg} of subject i from group g (focal or reference) to item j is modeled as
logit (Pr(Y_{ijg}=1) = theta_{ig} + gamma_g - β_j
where theta_i is subject's ability, β_j is the item difficulty and gamma_g is the difference mean ability level between the focal and the reference groups. Subject abilities are treated as random effects, while item difficulties and gamma_g are treated as fixed effects. Each item is tested by incorporating an interaction term, delta_{gj}, and by testing its statistical significance using the traditional likelihood-ratio test.
The threshold (or cut-score) for classifying items as DIF is computed as the quantile of the chi-square distribution with lower-tail
probability of one minus alpha
and one degree of freedom.
Item purification can be performed by setting purify
to TRUE
. In this case, items detected as DIF are iteratively
removed from the set of tested items, and the procedure is repeated (using the remaining items) until no additionnal item is
identified as functioning differently. The process stops when either there is no new item detected as DIF, or when nrIter
iterations
are run and new DIF items are nevertheless detected. In the latter case a warning message is printed.
A list of class "LRT" with the following arguments:
LRT |
the values of the likelihood-ratio statistics. |
alpha |
the value of alpha argument. |
thr |
the threshold (cut-score) for DIF detection. |
DIFitems |
either the items which were detected as DIF items, or "No DIF item detected". |
purification |
the value of purify option. |
nrPur |
the number of iterations in the item purification process. Returned only if purify is TRUE . |
convergence |
logical indicating whether the iterative item purification process stopped before the maximal number of allowed iterations
(10 by default). Returned only if purify is TRUE . |
names |
the names of the items. |
Because of the fitting of the modified Rasch model with glmer
, the process can be very time consuming.
Sebastien Beland
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
sebastien.beland.1@hotmail.com
David Magis
Research Group of Quantitative Psychology and Individual Differences
Katholieke Universiteit Leuven
David.Magis@psy.kuleuven.be, http://ppw.kuleuven.be/okp/home/
Gilles Raiche
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca, http://www.er.uqam.ca/nobel/r17165/
Bates, D. and Maechler, M. (2009). lme4: Linear mixed-effects models using S4 classes. R package version 0.999375-31. http://CRAN.R-project.org/package=lme4
Thissen, D., Steinberg, L. and Wainer, H. (1988). Use of item response theory in the study of group difference in trace lines. In H. Wainer and H. Braun (Eds.), Test validity. Hillsdale, NJ: Lawrence Erlbaum Associates.
# Loading of the verbal data data(verbal) attach(verbal) # Excluding the "Anger" variable verbal<-verbal[colnames(verbal)!="Anger"] # Keeping the first 5 items and the first 50 subjects # (this is an artificial simplification to reduce the computational time) verbal<-verbal[1:50,c(1:5,25)] # Three equivalent settings of the data matrix and the group membership difLRT(verbal, group=6, focal.name=1) difLRT(verbal, group="Gender", focal.name=1) difLRT(verbal[,1:5], group=verbal[,6], focal.name=1) # With item purification difLRT(verbal, group=6, focal.name=1, purify=TRUE) # WARNING: do not trust the results above since they are based on # a selected subset of the verbal data set!