DIFlasso: A Penalty Approach to Differential Item Functioning in Rasch... In DIFlasso: A Penalty Approach to Differential Item Functioning in Rasch Models

Description

A function to perform DIFlasso, a method to detect DIF (Differential Item Functioning) in Rasch Models. It can handle settings with many covariates and also metric covariates. The method is described in Tutz and Schauberger (2015).

Usage

 ```1 2``` ```DIFlasso(Y, X, l.lambda = 20, grouped = TRUE, trace = FALSE, df.type = c("YuanLin", "L2norm")) ```

Arguments

 `Y` Data frame (one row per person, one column per item) containing response. May only contain 0 or 1. `X` Data frame (one row per person, one column per covariate) containing covariates. Has to be standardized. `l.lambda` Length of the grid of tuning parameters for DIFlasso. Default is 20 different tuning parameters. `grouped` Should all parameters corresponding to one item be grouped? If `grouped = FALSE`, ordinary Lasso instead of GroupLasso is performed. `trace` Should the trace of the `grplasso` function be printed? `df.type` Specifies the type of degrees of freedom. Default is to the definition of degrees of freedom by Yuan and Lin (2006). If `df.type = "L2norm"`, for every group (or parameter if `grouped = FALSE`), the ratio between the L2-norm of the penalized parameters and the parameters from the lowest tuning parameter is taken as degrees of freedom.

Details

The method assumes the DIFmodel from Tutz and Schauberger (2015) where a Group Lasso penalty is used for DIF detection. Computation is based on the function `grplasso`.

Value

 `theta` Estimated person abilities; one row per person, one column per tuning parameter `beta` Estimated item difficulties; one row per item, one column per tuning parameter `gamma` Estimated item-specific parameters; one row per item and covariate, one column per tuning parameter (first line: first item, first covariate; second line: first item, second covariate and so on) `P` Number of (valid) persons; removed persons are found in removed.persons `I` Number of items `m` Number of covariates `logLik` Log-likelihood `BIC` BIC `AIC` AIC `df` Degrees of freedom `refit.matrix` Design matrix for function `refitDIFlasso` `lambda` Sequence of tuning parameters used by `grplasso` `ref.item` Reference item `dif.mat` Estimates of the item-specific parameter estimates (at BIC-optimal lambda) `dif.items` Which items have been detected to be DIF items (at BIC-optimal lambda)? `names.y` Names of the items `names.x` Names of the covariates `removed.persons` Which persons have been removed because they either solved no item or all items?

Author(s)

Gunther Schauberger
gunther.schauberger@tum
https://www.sg.tum.de/epidemiologie/team/schauberger/

References

Tutz, Gerhard and Schauberger, Gunther (2015): A Penalty Approach to Differential Item Functioning in Rasch Models, Psychometrika, 80(1), 21 - 43

Yuan, Ming and Lin, Yi (2006): Model selection and estimation in regression with grouped variables, Journal of the Royal Statistical Society B, 68(1), 49 - 67

`refitDIFlasso`, `plot.DIFlasso`, `print.DIFlasso`, `grplasso`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ```## Not run: data(simul.data) Y <- simul.data[,1:10] X <- simul.data[,11:13] m1 <- DIFlasso(Y = Y, X = X, trace = TRUE) print(m1) plot(m1) m2 <- refitDIFlasso(m1) print(m2) plot(m2) ## End(Not run) ```