Calculates DDF likelihood ratio statistics for nominal data based on multinomial log-linear model.
MLR(Data, group, key, type = "both", match = "zscore", anchor = 1:ncol(Data),
p.adjust.method = "none", alpha = 0.05, parametrization)A list with the following arguments:
Svalthe values of likelihood ratio test statistics.
pvalthe p-values by likelihood ratio test.
adj.pvalthe adjusted p-values by likelihood ratio test using p.adjust.method.
dfthe degress of freedom of likelihood ratio test.
par.m0the estimates of null model.
par.m1the estimates of alternative model.
se.m0standard errors of parameters in null model.
se.m1standard errors of parameters in alternative model.
cov.m0list of covariance matrices of item parameters for null model.
cov.m1list of covariance matrices of item parameters for alternative model.
ll.m0log-likelihood of m0 model.
ll.m1log-likelihood of m1 model.
AIC.m0AIC of m0 model.
AIC.m1AIC of m1 model.
BIC.m0BIC of m0 model.
BIC.m1BIC of m1 model.
data.frame or matrix: dataset which rows represent unscored examinee answers (nominal) and columns correspond to the items.
numeric: binary vector of group membership. "0"
for reference group, "1" for focal group.
character: the answer key. Each element corresponds to the correct answer of one item.
character: type of DDF to be tested. Either
"both" for uniform and non-uniform DDF (i.e., difference
in parameters "a" and "b") (default), or
"udif" for uniform DDF only (i.e., difference in
difficulty parameter "b"), or "nudif" for
non-uniform DDF only (i.e., difference in discrimination
parameter "a"). Can be specified as a single value (for
all items) or as an item-specific vector.
numeric or character: matching criterion to be used as
an estimate of trait. Can be either "zscore" (default,
standardized total score), "score" (total test score), or
vector of the same length as number of observations in
Data.
character or numeric: specification of DIF free
items. A vector of item identifiers (integers specifying the
column number) specifying which items are currently considered
as anchor (DIF free) items. Argument is ignored if match
is not "zscore" or "score".
character: method for multiple comparison
correction. Possible values are "holm", "hochberg",
"hommel", "bonferroni", "BH", "BY",
"fdr", and "none" (default). For more details see
p.adjust.
numeric: significance level (default is 0.05).
deprecated. Use
coef.ddfMLR for different
parameterizations.
Adela Hladka (nee Drabinova)
Institute of Computer Science of the Czech Academy of Sciences
Faculty of Mathematics and Physics, Charles University
hladka@cs.cas.cz
Patricia Martinkova
Institute of Computer Science of the Czech Academy of Sciences
martinkova@cs.cas.cz
$$P(y = k) = exp(b_0k + b_1k * x + b_2k * g + b_3k * x * g) / (1 + \sum exp(b_0l + b_1l * x + b_2l * g + b_3l * x * g)), $$
where \(x\) is by default standardized total score (also called
Z-score) and \(g\) is a group membership. Probability of correct
answer (specified in argument key) is
$$P(y = k) = 1/(1 + \sum exp(b_0l + b_1l * x + b_2l * g + b_3l * x * g)). $$
Parameters are estimated via neural networks. For more details see
multinom.
Agresti, A. (2010). Analysis of ordinal categorical data. Second edition. John Wiley & Sons.
Hladka, A. (2021). Statistical models for detection of differential item functioning. Dissertation thesis. Faculty of Mathematics and Physics, Charles University.
Hladka, A. & Martinkova, P. (2020). difNLR: Generalized logistic regression models for DIF and DDF detection. The R Journal, 12(1), 300--323, tools:::Rd_expr_doi("10.32614/RJ-2020-014").
if (FALSE) {
# loading data
data(GMATtest, GMATkey)
Data <- GMATtest[, 1:20] # items
group <- GMATtest[, "group"] # group membership variable
key <- GMATkey # correct answers
# testing both DDF effects
MLR(Data, group, key, type = "both")
# testing uniform DDF effects
MLR(Data, group, key, type = "udif")
# testing non-uniform DDF effects
MLR(Data, group, key, type = "nudif")
}
Run the code above in your browser using DataLab