Słownik metodologiczny · Statystyka opisowa

Test Grubbsa – jak sprawdzić, czy skrajna wartość odstaje?

Test Grubbsa sprawdza, czy największa lub najmniejsza wartość w próbie z rozkładu normalnego leży za daleko od średniej. Pokazujemy wzór, wartość krytyczną, przykład w R, opis do pracy i ograniczenia testu.

Strona główna / Słownik / Test Grubbsa
W skrócie: Test Grubbsa sprawdza, czy jedna skrajna wartość odstaje od pozostałych w próbie z rozkładu normalnego. Statystyka G = max|xi − x̄| / s porównuje się z wartością krytyczną zależną od n. Istotny wynik to sygnał do sprawdzenia danych, a nie automatyczne usunięcie.

Co to jest test Grubbsa?

Test Grubbsa (ang. Grubbs’ test, extreme studentized deviate test) to test istotności dla jednej skrajnej wartości w próbie z rozkładu normalnego. Sprawdza, czy największa lub najmniejsza obserwacja leży dalej od średniej, niż można by oczekiwać przy danym n. Grubbs (1950) zaproponował statystykę równoważną standaryzowanej odległości skrajnej obserwacji od średniej. W pracy z 1969 roku opisał też wersje dla dwóch największych lub dwóch najmniejszych wartości (Grubbs, 1969). Ogólne pojęcie i inne metody wykrywania opisuje hasło obserwacja odstająca. Ten test dotyczy jednej zmiennej, a nie reszt modelu.

Jak go liczyć

Statystyka to G = max|xi − x̄| / s, gdzie s to odchylenie standardowe próby. Wartość krytyczną odczytuje się z tablic albo liczy z rozkładu t z n − 2 stopniami swobody. Wartość G powyżej krytycznej oznacza, że skrajna obserwacja jest istotnie odstająca. Test zakłada, że poza tą jedną wartością dane pochodzą z rozkładu normalnego.

Przykład

W danych symulowanych 20 osób czasy reakcji mają średnią 447.0 ms i SD = 57.3 ms, a najdłuższy czas to 640 ms. Statystyka G = 3.37 przekracza wartość krytyczną 2.71 (α = .05, test dwustronny), p < .001. Po odłożeniu tej osoby pozostałe 19 wyników nie odbiega od normalności w teście Shapiro–Wilka (p = .819).

Jak opisać w pracy

Jedną skrajną wartość czasu reakcji (640 ms) sprawdzono testem Grubbsa, G = 3.37, p < .001 (n = 20). Zgodnie z planem analizy wyniki podano z tą obserwacją i bez niej.

Na co uważać

  • Test sprawdza jedną wartość naraz. Przy kilku skrajnych obserwacjach jedna może „ukryć” drugą, bo obie zawyżają SD. Leys i in. (2019) odradzają kryteria oparte na średniej i SD i zalecają medianę odchyleń bezwzględnych (MAD).
  • Wynik istotny nie jest powodem usunięcia. Najpierw sprawdź, czy to błąd, czy prawdziwa wartość. Zasady opisuje wpis Czy można usunąć obserwacje odstające?
  • Przy rozkładzie skośnym (np. czasy reakcji) test wskaże wartości naturalne dla takiego rozkładu. Obejrzyj najpierw wykres pudełkowy.

Porównanie metod wykrywania zawiera wpis Wartości odstające: jak je wykryć.

Przykład reprodukowalny

Test Grubbsa w R

Kod liczy statystykę Grubbsa, wartość krytyczną z rozkładu t dla testu dwustronnego i przybliżone p bez dodatkowych pakietów.

Test Grubbsa dla najdłuższego czasu reakcji

Dane wejściowe: czasy reakcji 20 osób, najdłuższy wynosi 640 ms (dane symulowane, set.seed(2871)).

Co odczytać: n, średnią, SD i maksimum, statystykę G z wartością krytyczną G_kr oraz p.

R
set.seed(2871)
x <- round(c(rnorm(19, 450, 40), 640))                  # czasy reakcji (ms), osoba 20 = 640 ms
n <- length(x)
G <- max(abs(x - mean(x))) / sd(x)                       # statystyka Grubbsa
alfa <- 0.05
t_kr <- qt(alfa / (2 * n), n - 2, lower.tail = FALSE)    # test dwustronny
G_kr <- (n - 1) / sqrt(n) * sqrt(t_kr^2 / (n - 2 + t_kr^2))
t_obs <- sqrt(n * (n - 2) * G^2 / ((n - 1)^2 - n * G^2))
p <- min(1, 2 * n * pt(t_obs, n - 2, lower.tail = FALSE))   # p (przybliżenie Bonferroniego)
round(c(n = n, srednia = mean(x), sd = sd(x), max = max(x)), 1)
round(c(G = G, G_kr = G_kr), 3)
signif(p, 2)
Wynik w R
      n srednia      sd     max 
   20.0   447.0    57.3   640.0 
    G  G_kr 
3.368 2.708 
[1] 0.00062

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats). W pracy podaj wersję R, której faktycznie użyto (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/

Najczęstsze pytania

Kiedy można użyć testu Grubbsa?

Gdy zmienna poza podejrzaną wartością ma w przybliżeniu rozkład normalny i podejrzewasz jedną skrajną obserwację. Przy rozkładach skośnych i kilku odstających wartościach lepsze są metody odporne.

Czy test Grubbsa można powtarzać po usunięciu wartości?

Można, ale każde powtórzenie zmienia poziom błędu i łatwo usunąć prawdziwe dane. Przy kilku podejrzanych wartościach użyj wersji dla wielu obserwacji albo metod opartych na MAD.

Jak policzyć test Grubbsa bez pakietu w R?

Policz G = max(abs(x − mean(x))) / sd(x), a wartość krytyczną wyznacz z qt() dla α/(2n) i n − 2 stopni swobody, jak w przykładzie na tej stronie.

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. Grubbs, F. E. (1950). Sample criteria for testing outlying observations. The Annals of Mathematical Statistics, 21(1), 27–58. https://doi.org/10.1214/aoms/1177729885 ● Otwarty dostęp
  2. Grubbs, F. E. (1969). Procedures for detecting outlying observations in samples. Technometrics, 11(1), 1–21. https://doi.org/10.1080/00401706.1969.10490657
  3. Leys, C., Delacre, M., Mora, Y. L., Lakens, D., & Ley, C. (2019). How to classify, detect, and manage univariate and multivariate outliers, with emphasis on pre-registration. International Review of Social Psychology, 32(1), Article 5. https://doi.org/10.5334/irsp.289 ● Otwarty dostęp

Cytowania BibTeX

@article{grubbs1950sample, author={Grubbs, Frank E.}, title={{Sample criteria for testing outlying observations}}, journal={The Annals of Mathematical Statistics}, year={1950}, volume={21}, number={1}, pages={27--58}, doi={10.1214/aoms/1177729885}}
@article{grubbs1969procedures, author={Grubbs, Frank E.}, title={{Procedures for detecting outlying observations in samples}}, journal={Technometrics}, year={1969}, volume={11}, number={1}, pages={1--21}, doi={10.1080/00401706.1969.10490657}}
@article{leys2019how, author={Leys, Christophe and Delacre, Marie and Mora, Youri L. and Lakens, Daniël and Ley, Christophe}, title={{How to classify, detect, and manage univariate and multivariate outliers, with emphasis on pre-registration}}, journal={International Review of Social Psychology}, year={2019}, volume={32}, number={1}, eid={5}, doi={10.5334/irsp.289}}
R