Co to jest DIF?
DIF (ang. differential item functioning), czyli zróżnicowane funkcjonowanie pozycji, występuje wtedy, gdy osoby o tym samym poziomie mierzonej cechy, ale z różnych grup (np. płci, wersji językowej), mają różne prawdopodobieństwo danej odpowiedzi na pozycję. Grupy porównuje się po wyrównaniu sumy punktów albo θ z modelu IRT. DIF jednorodny (uniform) czyni pozycję trudniejszą dla jednej grupy na całym zakresie cechy. DIF niejednorodny (nonuniform) zmienia nachylenie krzywej pozycji, więc przewaga grupy zależy od poziomu cechy (Swaminathan i Rogers, 1990).
Jak wykrywa się DIF
Mantel–Haenszel (MH). Dla każdego poziomu sumy punktów powstaje tabela 2 × 2 (grupa × odpowiedź), a tabele łączy się we wspólny iloraz szans αMH (Holland i Thayer, 1986). Metoda wychwytuje przede wszystkim DIF jednorodny.
Regresja logistyczna. Odpowiedź przewiduje się sumą punktów, grupą i ich interakcją. Efekt grupy oznacza DIF jednorodny, a interakcja – niejednorodny. W symulacjach Swaminathana i Rogers (1990) metoda była silniejsza od MH przy DIF niejednorodnym i równie silna przy jednorodnym.
IRT. W modelu wielogrupowym uwalnia się parametry badanej pozycji, a pozostałe pozycje są kotwicą (zob. IRT w R krok po kroku). Zumbo (2007) porządkuje te metody w trzy generacje analiz DIF.
Różnica średnich grup to jeszcze nie DIF. Grupa o naprawdę niższym poziomie cechy (ang. impact) odpowiada gorzej, ale przy tym samym poziomie cechy – tak samo.
Przykład
Dwie symulowane grupy po 500 osób rozwiązały 10 zadań. Grupa ogniskowa miała niższy poziom cechy (średnia suma 3.96 wobec 5.04), a zadanie 4 było dla niej dodatkowo trudniejsze. MH wskazał tylko zadanie 4: αMH = 2.13, ΔMH = −1.78, χ²(1) = 24.58, p < .001. Reszta różnicy sum to impact.
Jak opisać w pracy
Co zrobić z pozycją z DIF
- Najpierw treść. Sprawdź sformułowanie i tłumaczenie, zwłaszcza w adaptacji kwestionariusza.
- Potem decyzja. Pozycję można usunąć, zastąpić albo zostawić z parametrami swobodnymi w grupach, jak przy częściowej inwariancji pomiaru.
- Istotność to nie wielkość. W dużej próbie nawet drobny DIF bywa istotny; podaj miarę efektu i uwzględnij liczbę testów. Porównanie metod opisuje wpis DIF krok po kroku.
DIF w R
Kod symuluje dwie grupy z różnym poziomem cechy i jedną pozycją z DIF, a potem testuje każdą pozycję procedurą Mantela–Haenszela (mantelhaen.test) i regresją logistyczną (glm).
Mantel–Haenszel i regresja logistyczna dla 10 zadań
R
set.seed(3371)
n <- 500 # osób w każdej grupie
b <- seq(-1.5, 1.5, length.out = 10) # trudności 10 zadań
theta <- c(rnorm(n, 0, 1), rnorm(n, -0.5, 1)) # grupa ogniskowa średnio niżej (impact)
grupa <- factor(rep(c("odniesienia", "ogniskowa"), each = n))
bb <- matrix(b, 2 * n, 10, byrow = TRUE)
bb[grupa == "ogniskowa", 4] <- b[4] + 0.6 # zadanie 4 trudniejsze w grupie ogniskowej (DIF)
X <- (matrix(runif(2 * n * 10), 2 * n) < plogis(theta - bb)) * 1
suma <- rowSums(X)
tapply(suma, grupa, mean) # różnica wyników = impact + DIF
mh <- function(j) { # Mantel–Haenszel: warstwy = suma punktów
s <- suma; ok <- s > 0 & s < 10
t <- table(factor(X[ok, j], 1:0), grupa[ok], s[ok])
t <- t[, , apply(t, 3, function(k) all(colSums(k) > 0)), drop = FALSE]
w <- mantelhaen.test(t, correct = TRUE)
c(alfa_MH = unname(w$estimate), delta_MH = -2.35 * log(unname(w$estimate)),
chi2 = unname(w$statistic), p = w$p.value)
}
round(t(sapply(1:10, mh)), 3) # zadanie 4 (DIF) i 7 (bez DIF)
lr <- function(j) { # regresja logistyczna: jednorodny i niejednorodny
m0 <- glm(X[, j] ~ suma, family = binomial)
m1 <- glm(X[, j] ~ suma + grupa, family = binomial)
m2 <- glm(X[, j] ~ suma * grupa, family = binomial)
a <- anova(m0, m1, m2, test = "LRT")
c(chi2_jedn = a$Deviance[2], p_jedn = a$`Pr(>Chi)`[2],
chi2_niejedn = a$Deviance[3], p_niejedn = a$`Pr(>Chi)`[3])
}
round(t(sapply(1:10, lr)), 3)Wynik w R
odniesienia ogniskowa
5.036 3.964
alfa_MH delta_MH chi2 p
[1,] 0.963 0.088 0.018 0.892
[2,] 0.733 0.731 3.331 0.068
[3,] 0.951 0.119 0.059 0.808
[4,] 2.134 -1.781 24.577 0.000
[5,] 1.028 -0.066 0.013 0.911
[6,] 0.836 0.422 1.200 0.273
[7,] 0.852 0.377 0.882 0.348
[8,] 0.963 0.088 0.020 0.887
[9,] 0.899 0.251 0.257 0.612
[10,] 1.006 -0.015 0.001 0.974
chi2_jedn p_jedn chi2_niejedn p_niejedn
[1,] 0.019 0.889 2.012 0.156
[2,] 3.682 0.055 1.081 0.298
[3,] 0.054 0.817 0.516 0.472
[4,] 23.398 0.000 0.059 0.808
[5,] 0.217 0.641 0.712 0.399
[6,] 1.291 0.256 0.342 0.559
[7,] 1.106 0.293 1.376 0.241
[8,] 0.079 0.779 1.935 0.164
[9,] 0.102 0.749 0.172 0.679
[10,] 0.010 0.920 0.251 0.616Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
Najczęstsze pytania
Czym DIF różni się od różnicy średnich między grupami?
Różnica średnich może wynikać z rzeczywiście różnego poziomu cechy (impact). DIF dotyczy tylko różnicy, która zostaje po wyrównaniu poziomu cechy, czyli przy porównaniu osób o tym samym wyniku.
Którą metodę wykrywania DIF wybrać przy kilkuset osobach?
Mantel–Haenszel i regresja logistyczna działają na sumie punktów i dobrze sprawdzają się przy kilkuset osobach na grupę. Regresja logistyczna wykrywa też DIF niejednorodny (Swaminathan i Rogers, 1990).
Czy pozycję z istotnym DIF trzeba usunąć ze skali?
Nie zawsze. Najpierw oceń wielkość efektu i treść pozycji. Można ją usunąć, przeredagować albo zostawić z parametrami szacowanymi osobno w grupach (częściowa inwariancja).
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
DIF krok po kroku: Mantel–Haenszel, regresja i IRT
Trzy metody wykrywania DIF na jednych danych: klasyfikacja ETS, ΔR² w regresji logistycznej, IRT z kotwicą, DTF i wzór opisu.
Czytaj →PoradnikIRT w R krok po kroku: pakiet mirt
Pełna analiza na prawdziwych danych: Rasch i 2PL, dopasowanie, informacja, oceny θ, GRM dla skali Likerta, porównanie z CFA i DIF — z kodem.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Holland, P. W., & Thayer, D. T. (1986). Differential item functioning and the Mantel–Haenszel procedure. ETS Research Report Series, 1986(2). https://doi.org/10.1002/j.2330-8516.1986.tb00186.x
- Swaminathan, H., & Rogers, H. J. (1990). Detecting differential item functioning using logistic regression procedures. Journal of Educational Measurement, 27(4), 361–370. https://doi.org/10.1111/j.1745-3984.1990.tb00754.x
- Zumbo, B. D. (2007). Three generations of DIF analyses: Considering where it has been, where it is now, and where it is going. Language Assessment Quarterly, 4(2), 223–233. https://doi.org/10.1080/15434300701375832
Cytowania BibTeX
@article{holland1986differential, author={Holland, Paul W. and Thayer, Dorothy T.}, title={{Differential item functioning and the Mantel–Haenszel procedure}}, journal={ETS Research Report Series}, year={1986}, volume={1986}, number={2}, doi={10.1002/j.2330-8516.1986.tb00186.x}}@article{swaminathan1990detecting, author={Swaminathan, Hariharan and Rogers, H. Jane}, title={{Detecting differential item functioning using logistic regression procedures}}, journal={Journal of Educational Measurement}, year={1990}, volume={27}, number={4}, pages={361--370}, doi={10.1111/j.1745-3984.1990.tb00754.x}}@article{zumbo2007three, author={Zumbo, Bruno D.}, title={{Three generations of DIF analyses: Considering where it has been, where it is now, and where it is going}}, journal={Language Assessment Quarterly}, year={2007}, volume={4}, number={2}, pages={223--233}, doi={10.1080/15434300701375832}}