Słownik metodologiczny · Pomiar i skale

Model Rascha – założenia, dopasowanie infit i outfit oraz porównanie z 2PL

Model Rascha opisuje odpowiedź 0/1 jako funkcję różnicy między poziomem cechy osoby a trudnością pozycji. Pokazujemy równą dyskryminację, obiektywność specyficzną, sumę punktów jako statystykę dostateczną, infit i outfit oraz przykład w mirt.

Strona główna / Słownik / Model Rascha
W skrócie: Model Rascha to model IRT dla odpowiedzi 0/1, w którym prawdopodobieństwo poprawnej odpowiedzi zależy tylko od różnicy θ − b. Wszystkie pozycje mają tę samą dyskryminację, więc suma punktów wystarcza do oceny θ, a dopasowanie pozycji ocenia się infitem i outfitem.

Co to jest model Rascha?

Model Rascha (ang. Rasch model) to model IRT dla odpowiedzi 0/1, w którym prawdopodobieństwo poprawnej odpowiedzi zależy tylko od różnicy między poziomem cechy osoby θ a trudnością pozycji b: P(X = 1) = exp(θ − b) / [1 + exp(θ − b)]. Wszystkie pozycje mają tę samą dyskryminację, więc ich krzywe charakterystyczne są równoległe. Model pochodzi od Georga Rascha (Rasch, 1980; pierwsze wydanie 1960).

Co wynika z równej dyskryminacji

  • Suma punktów jest statystyką dostateczną dla θ. Ta sama suma daje tę samą ocenę θ, niezależnie od tego, które zadania rozwiązano, więc wynik surowy wystarcza.
  • Obiektywność specyficzna. Porównanie dwóch osób nie zależy od tego, którymi pozycjami je zmierzono, a porównanie dwóch pozycji – od tego, kto na nie odpowiadał.

Dopasowanie: infit i outfit

To średnie kwadraty standaryzowanych reszt o wartości oczekiwanej 1. Outfit jest nieważony, więc reaguje na nieoczekiwane odpowiedzi daleko od poziomu pozycji (np. zgadywanie). Infit waży reszty ich wariancją, więc reaguje na nieprawidłowości blisko poziomu pozycji. Wartość powyżej 1 to więcej szumu, niż przewiduje model, a poniżej 1 – odpowiedzi zbyt przewidywalne. Według Smitha i in. (2008) większość badań stosuje zakres 0.7–1.3, choć proponowane zakresy zależą od rodzaju testu.

Rasch, 1PL i 2PL

Model Rascha i 1PL mają ten sam wzór. W tradycji Rascha model jest jednak wzorcem pomiaru: pozycje, które do niego nie pasują, poprawia się albo usuwa (Bond i Fox, 2015). W podejściu IRT model dobiera się do danych, np. 2PL z różnymi dyskryminacjami. Oba modele porównuje się testem ilorazu wiarygodności, jak we wpisie IRT w R krok po kroku.

Przykład

800 symulowanych osób rozwiązało 12 zadań. Zadanie 9 prawie nie różnicowało osób, a zadanie 4 było bardzo strome. W modelu Rascha zadanie 9 miało outfit 1.31 i infit 1.25, a zadanie 4 – outfit 0.62 i infit 0.74. Model 2PL pasował lepiej: χ²(11) = 136.20, p < .001. Sześć najłatwiejszych i sześć najtrudniejszych zadań (suma 6) dało to samo θ = −0.02.

Jak opisać w pracy

W modelu Rascha zadanie 9 wykazało niedopasowanie (outfit = 1.31, infit = 1.25), a zadanie 4 nadmierne dopasowanie (outfit = 0.62). Model 2PL pasował istotnie lepiej, χ²(11) = 136.20, p < .001.

Na co uważać

  • Progi są umowne. Statystyki t infitu i outfitu silnie zależą od liczebności próby, średnie kwadraty mniej (Smith i in., 2008).
  • Porównania grup wymagają braku DIF. Metody opisuje wpis DIF krok po kroku.
Przykład reprodukowalny

Model Rascha w R

Kod dopasowuje model Rascha w pakiecie mirt (itemtype = "Rasch": dyskryminacje równe 1, wariancja θ szacowana), liczy infit i outfit z ocen θ metodą WLE, porównuje model z 2PL i pokazuje, że ta sama suma punktów daje to samo θ.

Infit, outfit, Rasch a 2PL i suma jako statystyka dostateczna

Dane wejściowe: odpowiedzi 0/1 800 osób na 12 zadań; zadanie 4 ma w symulacji dyskryminację 2.5, zadanie 9 – 0.2, pozostałe 1 (dane symulowane, set.seed(3381)).

Co odczytać: trudności b i średnie kwadraty outfit/infit pozycji, test ilorazu wiarygodności Rasch a 2PL (kolumny X2, df, p; 0 oznacza p < .001) oraz θ i SE dla dwóch wzorców z sumą 6.

R
suppressPackageStartupMessages(library(mirt))
set.seed(3381)
n <- 800; k <- 12
theta <- rnorm(n)
b <- seq(-1.5, 1.5, length.out = k)                 # trudności 12 zadań
a <- rep(1, k); a[4] <- 2.5; a[9] <- 0.2            # z4 bardzo stroma, z9 prawie nie różnicuje
X <- (matrix(runif(n * k), n) < plogis(sweep(outer(theta, a), 2, a * b))) * 1
colnames(X) <- paste0("z", 1:k)
rasch <- mirt(X, 1, itemtype = "Rasch", verbose = FALSE)
dwa   <- mirt(X, 1, itemtype = "2PL", verbose = FALSE)
fit <- itemfit(rasch, fit_stats = "infit", method = "WLE")    # średnie kwadraty reszt
data.frame(b = round(coef(rasch, IRTpars = TRUE, simplify = TRUE)$items[, "b"], 2),
           outfit = round(fit$outfit, 2), infit = round(fit$infit, 2))
anova(rasch, dwa)                                   # Rasch (wspólne a) a 2PL
w <- rbind(c(rep(1, 6), rep(0, 6)), c(rep(0, 6), rep(1, 6)))  # dwa wzorce, suma = 6
round(fscores(rasch, response.pattern = w)[, c("F1", "SE_F1")], 3)
Wynik w R
        b outfit infit
z1  -1.50   0.74  0.88
z2  -1.09   0.89  0.94
z3  -0.97   0.93  0.97
z4  -0.91   0.62  0.74
z5  -0.46   0.88  0.92
z6  -0.10   0.89  0.95
z7   0.22   0.89  0.94
z8   0.48   0.90  0.94
z9   0.18   1.31  1.25
z10  1.03   0.85  0.92
z11  1.27   0.94  0.94
z12  1.68   0.76  0.89
           AIC    SABIC       HQ      BIC    logLik      X2 df p
rasch 11225.24 11244.86 11248.63 11286.14 -5599.620             
dwa   11111.04 11147.26 11154.23 11223.47 -5531.519 136.201 11 0
         F1 SE_F1
[1,] -0.018 0.557
[2,] -0.018 0.557

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet mirt). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. 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/
  2. mirt (wersja 1.47): Chalmers, R. P. (2012). mirt: A multidimensional item response theory package for the R environment. Journal of Statistical Software, 48(6), 1–29. https://doi.org/10.18637/jss.v048.i06

Najczęstsze pytania

Czym model Rascha różni się od modelu 1PL?

Wzór jest ten sam. Różni je podejście: w tradycji Rascha model jest wzorcem, do którego dopasowuje się pozycje, a w podejściu IRT model wybiera się tak, by pasował do danych.

Co oznacza outfit lub infit wyraźnie powyżej 1?

Odpowiedzi na pozycję są bardziej chaotyczne, niż przewiduje model Rascha, np. przez zgadywanie albo niejasną treść. Wartości wyraźnie poniżej 1 oznaczają odpowiedzi zbyt przewidywalne.

Jak dopasować model Rascha w R bez pakietów eRm i TAM?

Użyj pakietu mirt: mirt(dane, 1, itemtype = "Rasch"). Funkcja itemfit(..., fit_stats = "infit") zwraca infit i outfit, a anova() porównuje model z 2PL.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Bond, T. G., & Fox, C. M. (2015). Applying the Rasch model: Fundamental measurement in the human sciences (3rd ed.). Routledge. https://doi.org/10.4324/9781315814698
  2. Rasch, G. (1980). Probabilistic models for some intelligence and attainment tests (Expanded ed.). University of Chicago Press.
  3. Smith, A. B., Rush, R., Fallowfield, L. J., Velikova, G., & Sharpe, M. (2008). Rasch fit statistics and sample size considerations for polytomous data. BMC Medical Research Methodology, 8(1), Article 33. https://doi.org/10.1186/1471-2288-8-33 ● Otwarty dostęp

Cytowania BibTeX

@book{bond2015applying, author={Bond, Trevor G. and Fox, Christine M.}, title={{Applying the Rasch model: Fundamental measurement in the human sciences}}, year={2015}, edition={3}, publisher={Routledge}, doi={10.4324/9781315814698}}
@book{rasch1980probabilistic, author={Rasch, Georg}, title={{Probabilistic models for some intelligence and attainment tests}}, year={1980}, edition={Expanded ed.}, publisher={University of Chicago Press}}
@article{smith2008rasch, author={Smith, Adam B. and Rush, Robert and Fallowfield, Lesley J. and Velikova, Galina and Sharpe, Michael}, title={{Rasch fit statistics and sample size considerations for polytomous data}}, journal={BMC Medical Research Methodology}, year={2008}, volume={8}, number={1}, eid={33}, doi={10.1186/1471-2288-8-33}}
R