Oferty statystyczne Tutoriale Opinie Kontakt

Sferyczność: test Mauchly’ego i poprawka Greenhouse’a-Geissera

Sferyczność to założenie ANOVA z powtarzanymi pomiarami: różnice między każdą parą pomiarów mają podobną wariancję. Typowe pytanie z pracy dyplomowej: co zrobić, gdy program pokazuje test Mauchly’ego i trzy różne wartości p – „bez korekty”, „Greenhouse-Geisser” i „Huynh-Feldt”?

W prostych słowachMierzysz te same osoby trzy razy. Dla każdej osoby możesz policzyć, o ile zmieniła się między pomiarami 1 i 2, 1 i 3 oraz 2 i 3. Sferyczność oznacza, że te zmiany są u różnych osób mniej więcej tak samo zróżnicowane w każdej parze. Gdy tak nie jest, zwykły test F za często daje istotny wynik. Poprawka Greenhouse’a-Geissera zmniejsza wtedy stopnie swobody, a wartość p rośnie.

Kiedy sprawdzać sferyczność?

To odpowiednik założenia o równych wariancjach w grupach niezależnych, które sprawdza się testem Levene’a. Gdy dane są porządkowe albo mocno skośne, zamiast ANOVA użyj testu Friedmana, który sferyczności nie wymaga.

Wzór na ε Greenhouse’a-Geissera i W Mauchly’ego

$$ \varepsilon = \frac{\big(\operatorname{tr} \mathbf{S}\big)^2}{(k - 1)\,\operatorname{tr}\!\big(\mathbf{S}^2\big)} \qquad W = \frac{\det \mathbf{S}}{\big(\operatorname{tr} \mathbf{S} / (k - 1)\big)^{k - 1}} \qquad df_{GG} = \varepsilon\,(k - 1)\ \text{ i }\ \varepsilon\,(k - 1)(n - 1) $$ $$ \text{dla } k = 3:\quad \mathbf{S} = \begin{bmatrix} a & c \\ c & b \end{bmatrix} \qquad a = \frac{V_{12}}{2} \qquad b = \frac{2V_{13} + 2V_{23} - V_{12}}{6} \qquad c^2 = \frac{(V_{13} - V_{23})^2}{12} $$
\(k,\ n\)
liczba pomiarów i liczba osób
\(V_{12},\ V_{13},\ V_{23}\)
wariancje różnic między pomiarami 1 i 2, 1 i 3 oraz 2 i 3 – policzone tak jak zwykła wariancja
\(\mathbf{S}\)
macierz kowariancji dwóch „porównań” (kontrastów): pierwsze zestawia pomiar 1 z 2, drugie – średnią z pomiarów 1 i 2 z pomiarem 3; dla trzech pomiarów ma wymiar 2×2
\(a,\ b,\ c\)
elementy tej macierzy: wariancje obu porównań i ich kowariancja
\(\operatorname{tr} \mathbf{S}\)
ślad, czyli suma liczb na przekątnej: a + b
\(\operatorname{tr}(\mathbf{S}^2)\)
dla macierzy 2×2: a² + b² + 2c²
\(\det \mathbf{S}\)
wyznacznik: a · b − c²
\(\varepsilon\)
(epsilon) miara sferyczności: 1 = idealna, najmniej 1 / (k − 1), czyli 0,5 przy trzech pomiarach
\(W\)
statystyka testu Mauchly’ego: 1 = idealna sferyczność, im bliżej 0, tym silniejsze naruszenie

Na głos: „epsilon to kwadrat sumy przekątnej macierzy podzielony przez liczbę pomiarów minus jeden i przez sumę kwadratów wszystkich jej elementów”. Gdy wariancje różnic są równe, c = 0 i a = b, więc ε = 1.

Przykład krok po kroku

Pięcioro studentów oceniło swoją wiedzę ze statystyki (skala 1–10) przed warsztatami, zaraz po nich i miesiąc później. Średnie pomiarów to 5, 6 i 7. Dla każdej osoby liczysz trzy różnice i ich odchylenia od średniej różnicy.

Tabela 1. Dane, różnice między pomiarami i kwadraty odchyleń różnic
OsobaPrzedPoMiesiącd₁₂ = przed − po(d₁₂ + 1)²d₁₃ = przed − miesiąc(d₁₃ + 2)²d₂₃ = po − miesiąc(d₂₃ + 1)²
166701−11−10
2456−10−20−10
3487−49−3114
466701−11−10
555801−31−34
Σ253035−5 (średnia −1)12−10 (średnia −2)4−5 (średnia −1)8
  1. Wariancje różnic. Sumy kwadratów dzielisz przez n − 1 = 4: V₁₂ = 12 / 4 = 3; V₁₃ = 4 / 4 = 1; V₂₃ = 8 / 4 = 2. Przy idealnej sferyczności te trzy liczby byłyby równe.
  2. Element a. a = V₁₂ / 2 = 3 / 2 = 1,5.
  3. Element b. b = (2 · 1 + 2 · 2 − 3) / 6 = (2 + 4 − 3) / 6 = 3 / 6 = 0,5.
  4. Element c². c² = (1 − 2)² / 12 = 1 / 12 = 0,0833.
  5. Ślad. tr S = a + b = 1,5 + 0,5 = 2. Do kwadratu: 2² = 4. (Ślad to zawsze średnia z trzech wariancji różnic: (3 + 1 + 2) / 3 = 2.)
  6. Ślad kwadratu macierzy. a² + b² + 2c² = 2,25 + 0,25 + 2 · 0,0833 = 2,6667.
  7. Epsilon. ε = 4 / (2 · 2,6667) = 4 / 5,3333 = 0,75. To pośrodku między 1 (pełna sferyczność) a 0,5 (najgorszy możliwy przypadek).
  8. Test Mauchly’ego. det S = 1,5 · 0,5 − 0,0833 = 0,6667. Mianownik: (2 / 2)² = 1. W = 0,6667 / 1 = 0,67. Program przelicza W na statystykę chi-kwadrat: χ² = −3 · ln(0,6667) = 3 · 0,4055 = 1,22 przy df = 2 (mnożnik 3 to n − 1 − (2 · 2² + 2 + 2) / (6 · 2) = 4 − 1). Wartość p = 0,544 (w R: pchisq(1.22, 2, lower.tail = FALSE)).
  9. Zwykły test F. SS pomiaru = 5 · [(5 − 6)² + (6 − 6)² + (7 − 6)²] = 10; SS błędu = 8. F = (10 / 2) / (8 / 8) = 5,00; df = 2 i 8; p = 0,039.
  10. Korekta. Mnożysz oba df przez ε: 2 · 0,75 = 1,5 oraz 8 · 0,75 = 6. Wartość F się nie zmienia, ale dla F(1,5; 6) = 5,00 wychodzi p = 0,059. Wartość krytyczna rośnie z 4,46 (qf(0.95, 2, 8)) do 5,47 (qf(0.95, 1.5, 6)).
Wykres z aplikacji SZTOS: średnia samoocena wiedzy przed 5, po 6 i miesiąc później 7 z liniami łączącymi wyniki tych samych osób i klamrą z gwiazdką dla pary przed – miesiąc później
Rys. 1. Te same dane w raporcie aplikacji SZTOS (ANOVA z powtarzanymi pomiarami). Szare słupki to średnie, niebieskie wąsy – niepewność średniej, cienkie linie łączą wyniki tej samej osoby. Widać, że osoba 3 „skacze” z 4 na 8 punktów, a potem spada – to ona najbardziej zwiększa wariancję różnicy przed – po. SZTOS sprawdził sferyczność testem Mauchly’ego (p = 0,544) i nie zastosował korekty.
Różnice wyników pięciu osób dla trzech par pomiarów: przed – po o wariancji 3, przed – miesiąc o wariancji 1 i po – miesiąc o wariancji 2
Rys. 2. Tak wygląda sferyczność „od kuchni”. Każda kolumna to jedna para pomiarów, kropki to różnice u pięciu osób. Gdyby założenie było spełnione, kropki w każdej kolumnie byłyby tak samo rozrzucone. Tu rozrzut w pierwszej kolumnie (wariancja 3) jest trzy razy większy niż w drugiej (wariancja 1).
Prawe ogony rozkładów F(2; 8) i F(1,5; 6) z zaznaczonym F = 5; wartości krytyczne 4,46 i 5,47; p = 0,039 bez korekty i 0,059 z korektą
Rys. 3. Co robi poprawka? Statystyka F zostaje ta sama (5,00), ale porównujesz ją z innym rozkładem. Rozkład z mniejszą liczbą stopni swobody (czerwony) ma grubszy ogon, więc pole za F = 5 rośnie z 0,039 do 0,059, a wartość krytyczna przesuwa się z 4,46 na 5,47 – nasze F jest już przed nią.

Jak zinterpretować i opisać wynik?

Test Mauchly’ego nie wykazał naruszenia sferyczności, a jednak ε = 0,75 i po korekcie wynik przestaje być istotny. Nie ma tu sprzeczności. Przy pięciu osobach test Mauchly’ego ma bardzo małą moc: nie „widzi” nawet trzykrotnych różnic w wariancjach. Przy setkach osób – odwrotnie – wyłapuje drobiazgi. Dlatego wielu metodologów radzi nie uzależniać decyzji od samego testu Mauchly’ego, tylko zawsze patrzeć na ε i wynik z poprawką Greenhouse’a-Geissera. Gdy ε jest większe od 0,75, część autorów zaleca łagodniejszą poprawkę Huynha-Feldta (Girden, 1992). W naszym przykładzie wynik bez korekty i z korektą prowadzi do różnych wniosków, więc w pracy uczciwie pokaż oba.

Zapis w stylu APA: Test Mauchly’ego nie wykazał naruszenia założenia sferyczności, W = 0,67; χ²(2) = 1,22; p = 0,544. Ze względu na małą liczebność próby zastosowano jednak poprawkę Greenhouse’a-Geissera (ε = 0,75). Zmiana samooceny wiedzy między pomiarami była nieistotna statystycznie, F(1,5; 6) = 5,00; p = 0,059; η²G = 0,45.

Jak sprawdzić sferyczność w R?

przed <- c(6, 4, 4, 6, 5); po <- c(6, 5, 8, 6, 5); miesiac <- c(7, 6, 7, 7, 8)

# 1) „ręcznie”: wariancje różnic, macierz 2×2, epsilon i W Mauchly'ego
V12 <- var(przed - po); V13 <- var(przed - miesiac); V23 <- var(po - miesiac)
a <- V12 / 2; b <- (2 * V13 + 2 * V23 - V12) / 6; c2 <- (V13 - V23)^2 / 12
eps <- (a + b)^2 / (2 * (a^2 + b^2 + 2 * c2))     # Greenhouse-Geisser
W <- (a * b - c2) / ((a + b) / 2)^2               # Mauchly
round(c(V12 = V12, V13 = V13, V23 = V23, eps = eps, W = W), 3)

# 2) gotowe funkcje (pakiet afex)
dane <- data.frame(id = factor(rep(1:5, 3)), y = c(przed, po, miesiac),
                   pomiar = factor(rep(c("przed", "po", "miesiac"), each = 5)))
suppressPackageStartupMessages(library(afex))
fit <- aov_ez("id", "y", dane, within = "pomiar")
suppressWarnings(summary(fit))$sphericity.tests  # test Mauchly'ego
anova(fit, correction = "GG")                     # F z poprawką GG

Wynik w konsoli R:

  V12   V13   V23   eps     W 
3.000 1.000 2.000 0.750 0.667 
       Test statistic p-value
pomiar        0.66667 0.54433
Anova Table (Type 3 tests)

Response: y
       num Df den Df    MSE F     ges  Pr(>F)  
pomiar    1.5      6 1.3333 5 0.45455 0.05859 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Wzór „ręczny” daje te same liczby co pakiet: ε = 0,75 i W = 0,667. Pakiet afex sam mnoży stopnie swobody przez ε i podaje F(1,5; 6) z p = 0,059. Bez argumentu correction afex domyślnie stosuje korektę Greenhouse’a-Geissera.

Greenhouse-Geisser czy Huynh-Feldt – którą poprawkę wybrać?

Greenhouse-Geisser jest bezpieczniejszy, ale nieco zbyt surowy, gdy naruszenie jest niewielkie. Huynh-Feldt koryguje tę surowość i czasem daje ε większe od 1 – wtedy program przycina je do 1, czyli w praktyce nie robi korekty. Tak jest w naszym przykładzie: ε Huynha-Feldta wyszło 1,1, więc p = 0,039 jak bez korekty. Prosta reguła: przy ε poniżej 0,75 raportuj Greenhouse’a-Geissera, powyżej – możesz wybrać Huynha-Feldta. Inną drogą jest analiza wielozmiennowa (MANOVA dla pomiarów powtarzanych), która sferyczności nie zakłada, ale potrzebuje więcej osób.

Najczęstsze błędy

  • Uznanie, że nieistotny test Mauchly’ego „dowodzi” sferyczności. Przy małej próbie to raczej brak mocy.
  • Podawanie F z poprawionymi wartościami p, ale z całkowitymi df, np. F(2, 8). Po korekcie df są ułamkowe: F(1,5; 6).
  • Sprawdzanie sferyczności przy dwóch pomiarach – tam założenie zawsze jest spełnione.
  • Mylenie sferyczności z normalnością albo z równością wariancji samych pomiarów. Chodzi o wariancje różnic między pomiarami.
  • Raportowanie W Mauchly’ego jako „ε”. To dwie różne liczby: W jest statystyką testu, ε – miarą do korekty.

Bibliografia

  1. Mauchly, J. W. (1940). Significance test for sphericity of a normal n-variate distribution. The Annals of Mathematical Statistics, 11(2), 204–209. https://doi.org/10.1214/aoms/1177731915
  2. Greenhouse, S. W., & Geisser, S. (1959). On methods in the analysis of profile data. Psychometrika, 24(2), 95–112. https://doi.org/10.1007/BF02289823
  3. Girden, E. R. (1992). ANOVA: Repeated measures. SAGE.
  4. Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE.
  5. Hryniewicz, K., & Milewska, A. (2023). SZTOS: System Zautomatyzowanego Tworzenia Opisu Statystycznego [Oprogramowanie]. SZTOS IT. https://sztos-it.com/

Zobacz też

Potrzebujesz pomocy z analizą do pracy dyplomowej?

Policzymy Twoje wyniki, przygotujemy tabele, wykresy i opis w standardzie APA, który wykorzystasz w swojej pracy. Pomagamy jak statystyk i redaktor – autorem pracy zostajesz Ty. Konsultacja i wycena są bezpłatne.

Na skróty