Test normalności rozkładu - Shapiro-Wilk, Kołmogorow-Smirnow i wykresy

Sprawdzenie normalności rozkładu to zwykle pierwszy krok analizy, bo od niego zależy, czy użyjesz testu parametrycznego (np. testu t, ANOVA, korelacji Pearsona), czy jego nieparametrycznego odpowiednika. W tym wpisie dowiesz się, czym różni się test Shapiro-Wilka od testu Kołmogorowa-Smirnowa, dlaczego wynik testu tak mocno zależy od wielkości próby, jak czytać histogram i wykres Q-Q, jakie progi skośności i kurtozy mają oparcie w literaturze i jak to wszystko opisać w pracy.
Co dokładnie sprawdzać
Najczęstszy błąd to testowanie normalności „całej zmiennej w jednym worku”. Założenie normalności dotyczy tego, co trafia do modelu statystycznego, a to zależy od analizy:
| Analiza | Czego rozkład sprawdzasz |
|---|---|
| Test t dla prób niezależnych, ANOVA | zmiennej zależnej osobno w każdej grupie (lub reszt modelu) |
| Test t dla prób zależnych | różnic między pomiarami (np. „po” minus „przed”), a nie każdego pomiaru osobno |
| Regresja liniowa | reszt modelu, a nie zmiennej zależnej ani predyktorów |
| Korelacja Pearsona | obu zmiennych (przybliżona dwuwymiarowa normalność), w praktyce ocenia się też wykres rozrzutu |
Przykład: porównujesz wynik testu wiedzy kobiet i mężczyzn. Gdy w grupach są różne średnie, cała zmienna może wyglądać na dwugarbną i „nienormalną”, choć w każdej grupie rozkład jest w porządku. Dlatego test liczysz w każdej grupie osobno. Przy pomiarach „przed i po” sprawdzasz rozkład różnic, co szerzej opisuje wpis o teście t dla prób zależnych, a w regresji rozkład reszt (zob. założenia regresji liniowej).
Test Shapiro-Wilka
Test Shapiro-Wilka (Shapiro i Wilk, 1965) porównuje uporządkowane wartości z próby z wartościami, jakich należałoby się spodziewać przy rozkładzie normalnym. Statystyka W przyjmuje wartości od 0 do 1, a im bliżej 1, tym lepsza zgodność z rozkładem normalnym. Hipotezy są następujące:
- H0: rozkład w populacji jest normalny,
- H1: rozkład w populacji nie jest normalny.
Shapiro-Wilk interpretacja jest więc odwrotna niż w większości testów, którymi weryfikujesz hipotezy badawcze. Tu „dobrym” wynikiem jest p > 0,05: brak podstaw do odrzucenia hipotezy o normalności. Wynik p < 0,05 oznacza, że rozkład istotnie odbiega od normalnego. W porównaniach symulacyjnych test normalności Shapiro-Wilka zwykle ma największą moc spośród popularnych testów (Razali i Wah, 2011), dlatego jest pierwszym wyborem w większości prac.
Test Kołmogorowa-Smirnowa i poprawka Lillieforsa
Test Kołmogorowa-Smirnowa mierzy największą odległość między dystrybuantą empiryczną z próby a dystrybuantą rozkładu teoretycznego (statystyka D). W klasycznej wersji wymaga, by średnia i odchylenie standardowe rozkładu normalnego były znane z góry. W badaniach prawie zawsze liczy się je z tej samej próby, a wtedy zwykły test K-S staje się bardzo zachowawczy i rzadko odrzuca normalność. Lilliefors (1967) wyznaczył poprawione wartości krytyczne dla takiej sytuacji.
W SPSS test K-S w procedurze Eksploracja jest już liczony z poprawką Lillieforsa (widać to w przypisie pod tabelą). Osobna procedura testu K-S dla jednej próby, zależnie od wersji programu i ustawień, może natomiast podawać wersję bez poprawki. Jeśli w pracy piszesz „test Kołmogorowa-Smirnowa”, dopisz, czy zastosowano poprawkę Lillieforsa. Przy wyborze między testami trzymaj się prostej zasady: w typowej pracy dyplomowej raportuj Shapiro-Wilka, a K-S z poprawką traktuj jako uzupełnienie.
Jak wielkość próby zmienia wynik testu
Testy normalności mają tę samą słabość co każdy test istotności: ich wynik zależy od liczebności. Przy małej próbie mają niską moc i przepuszczają nawet wyraźne odstępstwa (Ghasemi i Zahediasl, 2012). Przy dużej wykrywają odchylenia tak drobne, że nie mają żadnego znaczenia dla testu t czy ANOVA. Dobrze to widać na przykładzie, w którym kształt rozkładu się nie zmienia. Wszystkie próby poniżej pochodzą z tego samego, lekko prawoskośnego rozkładu (skośność w populacji około 0,5), a zmienia się tylko liczba obserwacji:
| n | Skośność w próbie | W Shapiro-Wilka | p |
|---|---|---|---|
| 20 | 0,39 | 0,989 | 0,996 |
| 50 | 0,44 | 0,988 | 0,879 |
| 100 | 0,46 | 0,987 | 0,451 |
| 300 | 0,48 | 0,987 | 0,007 |
| 1 000 | 0,49 | 0,986 | < 0,001 |
| 3 000 | 0,50 | 0,986 | < 0,001 |
Statystyka W jest praktycznie taka sama, a p spada z 0,996 do wartości poniżej 0,001. Test K-S z poprawką Lillieforsa jest jeszcze mniej czuły: dla n = 300 daje p = 0,59, a próg 0,05 przekracza dopiero przy n = 1 000 (p = 0,014). Wniosek: przy kilkuset obserwacjach istotny wynik testu nie przesądza, że trzeba porzucić test parametryczny, a przy kilkunastu obserwacjach nieistotny wynik nie dowodzi normalności.
Wykres Q-Q i histogram
Dlatego test zawsze łączy się z oceną wizualną. Histogram pokazuje ogólny kształt: symetrię, jedno czy dwa „garby”, długi ogon z jednej strony. Przy małych próbach bywa jednak mylący, bo jego wygląd zależy od szerokości przedziałów. Bardziej czytelny jest wykres kwantyl-kwantyl (Q-Q), na którym każdy punkt to jedna obserwacja zestawiona z wartością oczekiwaną przy rozkładzie normalnym.
- Punkty leżą blisko prostej: rozkład jest zbliżony do normalnego.
- Punkty tworzą łuk wygięty w jedną stronę: rozkład jest skośny.
- Punkty odginają się od prostej na obu końcach w przeciwne strony (kształt litery S): ogony są cięższe lub lżejsze niż w rozkładzie normalnym.
- Pojedyncze punkty daleko od prostej na końcu: wartości odstające.
Pojedyncze skrajne punkty warto obejrzeć osobno, bo bywają błędem wpisania danych. Jak je wykrywać i co z nimi robić, opisuje wpis o wartościach odstających, a wybór typu wykresu wpis histogram, wykres pudełkowy i rozrzutu.
Skośność i kurtoza - jakie progi
Trzecim źródłem informacji są skośność (asymetria) i kurtoza (spłaszczenie lub smukłość rozkładu). W rozkładzie normalnym obie są równe 0 (programy takie jak SPSS czy jamovi podają kurtozę nadwyżkową, czyli pomniejszoną o 3). Kim (2013) proponuje progi zależne od wielkości próby, oparte na wartości z, czyli wskaźniku podzielonym przez jego błąd standardowy (SPSS podaje go w tej samej tabeli):
| Liczebność próby | Kiedy uznać rozkład za odbiegający od normalnego |
|---|---|
| poniżej 50 | |z| skośności lub kurtozy większe niż 1,96 |
| od 50 do 300 | |z| większe niż 3,29 |
| powyżej 300 | nie licz z; sygnałem jest bezwzględna skośność powyżej 2 lub kurtoza (w ujęciu „właściwym”, bez odejmowania 3) powyżej 7, ocena łącznie z histogramem |
W polskich pracach często spotkasz też prostszą regułę „skośność i kurtoza w przedziale od -2 do 2”. Jest wygodna, ale traktuj ją jako orientacyjną i nie mieszaj jej z progami dla wartości z.
Przykład: gdy wskaźniki się nie zgadzają
Przykładowe dane: czas dojazdu na uczelnię (w minutach) w grupie 20 studentów: 6, 9, 9, 11, 11, 12, 14, 15, 15, 15, 17, 20, 20, 21, 21, 24, 25, 27, 30, 45. Średnia wynosi 18,35, mediana 16, odchylenie standardowe 9,02.
- Shapiro-Wilk: W = 0,91, p = 0,054, czyli formalnie brak podstaw do odrzucenia normalności.
- K-S z poprawką Lillieforsa: D = 0,15, p > 0,20.
- Skośność 1,35 (SE = 0,51, z = 2,63) i kurtoza 2,77 (SE = 0,99, z = 2,79). Obie wartości z przekraczają 1,96.
- Histogram i wykres Q-Q pokazują długi prawy ogon z jedną obserwacją (45 minut) wyraźnie odstającą.
Test „przepuścił” rozkład tylko dlatego, że próba jest mała. Skośność, wykresy i różnica między średnią a medianą mówią jednoznacznie: rozkład jest prawoskośny. W takiej sytuacji rozsądniej wybrać test nieparametryczny albo sprawdzić, czy wynik 45 minut nie jest błędem. Gdy normalność zostanie odrzucona, masz kilka poprawnych dróg, opisanych we wpisie test normalności odrzuca, i co teraz.
Jak bardzo testy parametryczne potrzebują normalności
Test t i ANOVA porównują średnie, a rozkład średniej z próby zbliża się do normalnego wraz ze wzrostem liczebności (centralne twierdzenie graniczne). Dlatego przy kilkudziesięciu osobach w grupie umiarkowana skośność zwykle nie zaburza wyników w istotny sposób. Bardziej szkodliwe bywają pojedyncze skrajne wartości, bardzo różne liczebności grup połączone z różnymi wariancjami oraz silna skośność przy małych grupach. Normalność to więc tylko jedno z założeń; drugie, równie często sprawdzane, opisuje wpis o jednorodności wariancji i teście Levene’a.
W praktyce program sam policzy wszystko, czego potrzebujesz. W SPSS testy Shapiro-Wilka i K-S z poprawką oraz wykres Q-Q uzyskasz w procedurze Eksploracja, zaznaczając wykresy normalności z testami. W jamovi i JASP test Shapiro-Wilka jest opcją w statystykach opisowych i w samych testach t oraz ANOVA. W R wystarczą polecenia shapiro.test(x) oraz qqnorm(x); qqline(x), a w Pythonie funkcja scipy.stats.shapiro(x). Pamiętaj tylko, by przy porównaniach grup podzielić plik albo wskazać zmienną grupującą, inaczej dostaniesz wynik dla całej zmiennej.
Najczęstsze błędy przy sprawdzaniu normalności
- Test liczony na całej zmiennej zamiast w grupach, na różnicach albo na resztach.
- Uznanie, że p > 0,05 przy kilkunastu osobach dowodzi normalności.
- Rezygnacja z testu t przy kilkuset osobach tylko dlatego, że Shapiro-Wilk jest istotny, bez spojrzenia na wykres.
- Zwykły test K-S bez poprawki Lillieforsa, gdy średnią i SD policzono z próby.
- Brak informacji w pracy, jaką metodą oceniono rozkład i co z tego wynikło dla wyboru testu.
Jak opisać sprawdzenie normalności w pracy
W rozdziale z wynikami wystarczy krótka informacja: jakim testem sprawdzono normalność, w jakich grupach, jaki był wniosek i jaki test wybrano. Szczegółową tabelę możesz umieścić w aneksie. Przykład dla danych z poprzedniej sekcji:
Normalność rozkładu czasu dojazdu sprawdzono testem Shapiro-Wilka, wykresem Q-Q oraz wskaźnikami skośności i kurtozy. Test nie wykazał istotnego odstępstwa od normalności (W = 0,91, p = 0,054), jednak skośność (1,35; z = 2,63) i kurtoza (2,77; z = 2,79) przekraczały wartość krytyczną 1,96, a wykres Q-Q wskazywał na prawostronną asymetrię. Z tego powodu w dalszej analizie zastosowano test nieparametryczny.
W zapisie APA podaje się statystykę W z dwoma miejscami po przecinku i dokładne p. Niektóre źródła podają też stopnie swobody w nawiasie, np. W(20) = 0,91, gdzie liczba oznacza liczebność grupy. Jeśli nie masz pewności, który test wybrać po ocenie rozkładu, skorzystaj z przewodnika „Który test wybrać?”. Sprawdzenie założeń jest też elementem każdego raportu zamówionego w kreatorze wyceny analizy.
Najczęstsze pytania
Jak interpretować wynik testu Shapiro-Wilka?
Shapiro-Wilk czy Kołmogorow-Smirnow?
Czy normalność sprawdzać dla całej próby, czy w grupach?
Co zrobić, gdy przy dużej próbie test normalności jest istotny?
Jakie wartości skośności i kurtozy są akceptowalne?
- Shapiro, S. S., & Wilk, M. B. (1965). An analysis of variance test for normality (complete samples). Biometrika, 52(3/4), 591-611.
- Lilliefors, H. W. (1967). On the Kolmogorov-Smirnov test for normality with mean and variance unknown. Journal of the American Statistical Association, 62(318), 399-402. https://doi.org/10.1080/01621459.1967.10482916
- Ghasemi, A., & Zahediasl, S. (2012). Normality tests for statistical analysis: A guide for non-statisticians. International Journal of Endocrinology and Metabolism, 10(2), 486-489. https://doi.org/10.5812/ijem.3505
- Kim, H.-Y. (2013). Statistical notes for clinical researchers: Assessing normal distribution (2) using skewness and kurtosis. Restorative Dentistry & Endodontics, 38(1), 52-54. https://doi.org/10.5395/rde.2013.38.1.52
- Razali, N. M., & Wah, Y. B. (2011). Power comparisons of Shapiro-Wilk, Kolmogorov-Smirnov, Lilliefors and Anderson-Darling tests. Journal of Statistical Modeling and Analytics, 2(1), 21-33.
