difLogistic {difR}R Documentation

Logistic regression DIF method

Description

Performs DIF detection using logistic regression method.

Usage

 difLogistic(Data, group, focal.name, alpha=0.05, purify=FALSE, 
 nrIter=10)
 ## S3 method for class 'Logistic':
 print(x, ...)
 ## S3 method for class 'Logistic':
 plot(x, pch=8, number=TRUE, col="red", ...)
 

Arguments

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 Logistik 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.

Details

The logistic regression method (Swaminathan and Rogers, 1990) allows for detecting both uniform and non-uniform differential item functioning without requiring an item response model approach. It consists in fitting a logistic model with the test score, the group membership and an interaction between both as covariates. The statistical significance of the parameters related to group membership and the group-score interaction is then evaluated by means of the usual likelihood-ratio test.

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 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 with two degrees of freedom.

Item purification can be performed by setting purify to TRUE. Purification works as follows: if at least one item is detected as functioning differently at the first step of the process, then the data set of the next step consists in all items that are currently anchor (DIF free) items, plus the tested item (if necessary). The process stops when either two successive applications of the method yield the same classifications of the items (Clauser and Mazor, 1998), or when nrIter iterations are run without obtaining two successive identical classifications. In the latter case a warning message is printed.

Value

A list of class "Logistik" with the following arguments:

Logistik the values of the logistic regression statistics.
alpha the value of alpha argument.
thr the threshold (cut-score) for DIF detection.
DIFitems either the column indicators for 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.
difPur a binary matrix with one row per iteration in the item purification process and one column per item. Zeros and ones in the i-th row refer to items which were classified respectively as non-DIF and DIF items at the (i-1)-th step. The first row corresponds to the initial classification of the items. Returned only if purify is TRUE.
convergence logical indicating whether the iterative item purification process stopped before the maximal number of nrItem allowed iterations. Returned only if purify is TRUE.
names the names of the items.

Author(s)

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/

References

Clauser, B.E. and Mazor, K.M. (1998). Using statistical procedures to identify differential item functioning test items. Educational Measurement: Issues and Practice, 17, 31-44.

Finch, W.H. and French, B. (2007). Detection of crossing differential item functioning: a comparison of four methods. Educational and Psychological Measurement, 67, 565-582.

Hidalgo, M. D. and Lopez-Pina, J.A. (2004). Differential item functioning detection and effect size: a comparison between logistic regression and Mantel-Haenszel procedures. Educational and Psychological Measurement, 64, 903-915.

Swaminathan, H. and Rogers, H. J. (1990). Detecting differential item functioning using logistic regression procedures. Journal of Educational Measurement, 27, 361-370.

Zumbo, B.D. (1999). A handbook on the theory and methods of differential item functioning (DIF): logistic regression modelling as a unitary framework for binary and Likert-type (ordinal) item scores. Ottawa, ON: Directorate of Human Resources Research and Evaluation, Department of National Defense.

See Also

Logistik, dichoDif

Examples

# Loading of the verbal data
data(verbal)

# Excluding the "Anger" variable
verbal<-verbal[colnames(verbal)!="Anger"]

# Three equivalent settings of the data matrix and the group membership
difLogistic(verbal, group=25, focal.name=1)
difLogistic(verbal, group="Gender", focal.name=1)
difLogistic(verbal[,1:24], group=verbal[,25], focal.name=1)

# With item purification
difLogistic(verbal, group="Gender", focal.name=1, purify=TRUE)
difLogistic(verbal, group="Gender", focal.name=1, purify=TRUE, nrIter=5)

[Package difR version 1.1 Index]