Dlaczego wszystkie testy normalności odrzucają hipotezę zerową?


12

Test Kolgomorova-Smirnova, test Shapiro itp.… Wszyscy odrzucają hipotezę, że rozkład jest normalny. Jednak kiedy wykreślam normalne kwantyle i histogram, dane są wyraźnie normalne. Może dlatego, że moc testów jest wysoka?

Wielkość próbki wynosi około 650. Czy więc przynajmniej jeden z tych testów nie powinien odrzucić hipotezy zerowej?

Wyniki:

           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001

1
Witamy na stronie. Moc może rzeczywiście stanowić problem. Czy możesz opublikować swoje wyniki, abyśmy mogli być bardziej konkretni?
StasK,

1
Prawie niemożliwe jest oszacowanie normalności z dużą dokładnością, patrząc na histogram lub kwantyle. Pierwsze trzy z tych testów mierzą odchylenia na wykresie prawdopodobieństwa (normalny wykres qq), więc jak liniowy jest ten wykres?
whuber

Odpowiedzi:


13

Testowanie normalności to strata czasu, a twój przykład ilustruje dlaczego. W przypadku małych próbek test normalności ma niską moc, dlatego decyzje o tym, które modele statystyczne należy zastosować, muszą być oparte na wiedzy z góry . W takich przypadkach brak odrzucenia wartości zerowej nie dowodzi, że wartość zerowa jest nawet w przybliżeniu prawdziwa na poziomie populacji.

Kiedy masz duże próbki, testy normalności stają się absurdalnie potężne, ale nie mówią ci niczego, czego jeszcze nie wiedziałeś. Żadna rzeczywista ilość nie jest dokładnie dystrybuowana. Rozkład normalny jest po prostu matematyczną abstrakcją, która w wielu przypadkach jest wystarczająco dobrym przybliżeniem. Najprostszym tego dowodem jest to, że nie ma rzeczywistej ilości (przynajmniej żadnej, o której mogę myśleć), która mogłaby przyjąć dowolną liczbę rzeczywistą jako jej wartość. Na przykład we wszechświecie jest tylko tyle cząsteczek. W podaży pieniądza jest tylko tyle dolarów. Prędkość światła jest skończona. Komputery mogą przechowywać tylko liczby o skończonym rozmiarze, więc nawet jeśli coś obsługuje wszystkie liczby rzeczywiste, nie będziesz w stanie tego zmierzyć.

Chodzi o to, że już wiedziałeś, że Twoje dane nie były dokładnie rozprowadzane normalnie, ale testy normalności nie mówią nic o tym, jak nienormalne są dane. Nie dają absolutnie żadnej wskazówki, czy dane są w przybliżeniu normalnie rozmieszczone, tak że metody wnioskowania statystycznego, które zakładają normalność, dałyby prawidłowe odpowiedzi. Jak na ironię, popularne testy (np. Test T i ANOVA), które zakładają normalność, są bardziej odporne na nienormalność przy dużych próbkach.


Kontynuując twoją odpowiedź, zadałem pytanie o to, co stanowi dobry wskaźnik nienormalności: stats.stackexchange.com/questions/16646/… Wszelkie myśli?
Jeromy Anglim

W odniesieniu do wszystkiego, co na świecie jest kwantyzowane: czy dyskretne dane również nie są normalnie dystrybuowane?
xmjx,

Jeszcze jeden komentarz na temat komputera: należy pamiętać, że mechanizm często używany do przechowywania liczb dziesiętnych w komputerach ma różną ziarnistość w zakresie małych i dużych liczb. Tak więc minimalna różnica między liczbami, które komputer może przechowywać, jest mniejsza dla małych liczb i większa dla dużych liczb. W przypadku komputerów 100000.1 i 100000.2 mogą być takie same, a 0,1 i 0,2 nie. (Tylko przykład - w prawdziwym świecie nie jest tak źle.)
xmjx,

@xmjx: Dyskretne dane mogą być w przybliżeniu normalnie dystrybuowane, co oznacza, że ​​są wystarczająco blisko do prawie każdego praktycznego celu. Teoretycznie jednak każdy dyskretny rozkład zawiedzie niektóre testy normalności, jeśli wielkość próbki jest wystarczająco duża. Normalny rozkład jest ciągły i nie można tego obejść.
dsimcha,

@dsimcha Ale rozkład normalny jest tylko funkcją gęstości prawdopodobieństwa, która mogłaby przewidzieć liczbę obserwacji w danym przedziale zmiennej dyskretnej. Zrozumiałbym, gdybyś powiedział: „żadna rzeczywista zmienna nie jest dokładnie rozkładem normalnym i dlatego testy normalności w pewnym momencie zawiodą”. Ale w przypadku „dyskretnych danych nie można normalnie dystrybuować, ponieważ nie są one ciągłe”, chciałbym znaleźć odniesienie. Naprawdę interesują mnie tego rodzaju rzeczy. Nie chcę tutaj walczyć.
xmjx

4

Nie dziwi mnie to - przy wystarczająco dużej próbce, każdy dobry test powinien odrzucić hipotezę zerową, chyba że rozkład generowania danych jest naprawdę (i dokładnie) normalny.

Przy testowaniu hipotez zwykle interesuje się znalezieniem „potężnego” testu, który jest testem, który może wykryć bardzo małe odchylenia od hipotezy zerowej przy możliwie najmniejszej ilości danych.

Spróbuj uruchomić test z podpróbką o rozmiarach 20, 50, 100, 200 i sprawdź, przy jakim rozmiarze testy zaczynają odrzucać. Łatwo jest sprawdzić, czy histogram jest symetryczny i ogólnie ma kształt dzwonu, ale ogony rozkładu są trudniejsze do oceny wzrokowej. Być może w danych występują wartości odstające, które powodują odrzucenie testów? Jeśli tak, zobacz, co się stanie, gdy je przycinasz.


Dziękuję za odpowiedź. Celem jest sprawdzenie, czy reszty są normalne. Wydaje mi się, że patrząc na normalny wykres kwantylowy i sprawdzanie, czy leży on na y = x, jest najlepszym wyborem?
Robbie,

@Robbie Jeśli chcesz tylko dowiedzieć się, czy twoje pozostałości są normalne, kontrola wzrokowa powinna być w porządku. Testy statystyczne rozkładu nie są tak naprawdę potrzebne - jak zauważono, wykryje wszelkie odchylenia od normalności, nawet takie, które tak naprawdę nie mają znaczenia.
Fomite,

@EpiGrad Nie zgadzam się. Testy normalności mają niezwykle niską moc. Zobacz moją odpowiedź powyżej. Edycja z drugiej strony, regresja jest dość odporne na brak normalności, więc ja zgadzają się, że jeśli to wygląda normalnie, prawdopodobnie jesteś w porządku do tego celu.
David J. Harris

@David J. Harris: „Notorycznie niska moc”? Dla próbek o wielkości 650? Jest to sprzeczne ze wszystkim, co przeczytałem lub doświadczyłem. Czy masz cytat?
whuber

@ DavidJ.Harris Myślę, że ze względu na istotę, małą moc lub fałszywe znaczenie ze względu na dużą próbkę, całe ćwiczenie nie jest konieczne do rutynowego badania założenia normalności.
Fomite,

3

Prawdopodobną przyczyną jest to, że twoje dane są bardzo nieznacznie nienormalne, a Twoja próbka jest wystarczająco duża, aby to ujawnić.

Jeśli rozkład naprawdę jest normalny, zwykle powinien przejść te testy, jak w poniższym przykładzie R, w którym wszystkie testy oprócz jednego są zaliczone.

> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

Możesz chcieć zrobić qqplot, a jeśli jest on wystarczająco blisko linii prostej, możesz zdecydować, aby traktować go jako wystarczająco bliski normalności dla twoich celów. Zależy to raczej od tego, jakie są te cele.


Celem jest sprawdzenie, czy reszty są normalne w regresji liniowej.
Robbie

1
@Robbie. Najwyraźniej nie są, ale mogą być wystarczająco blisko, aby nie miało to większego znaczenia. Wypróbuj qqplot.
Henry,

Wynik chi-kwadrat Pearsona wygląda na to, że dane nie są normalnie dystrybuowane. Tylko mówię. Co zrobić z takim wynikiem?
xmjx,

@xmjx: Niewiele - jeśli zastosujesz kryterium 0,05, nie powinieneś być zaskoczony, jeśli otrzymasz fałszywie dodatni 5% czasu.
Henry

@Henry, wiem. Co mam na myśli: wybranie dowolnego testu normalności z góry ma pewne prawdopodobieństwo wybrania takiego, który powie „znaczący”. Więc lepiej jest uruchomić baterię, a potem ... co? Średni? Idź z większością głosów?
xmjx

2

Nie mogę się nie zgodzić z odpowiedzią dsimcha: „Testowanie normalności to strata czasu, a twój przykład ilustruje dlaczego”. Testowanie normalności nigdy nie jest stratą czasu, zawsze możesz uczyć się na podstawie danych. Ponadto istnieją pewne warunki, które należy przetestować przed wykonaniem analizy (np. ANOVA, regresja itp.). Względne duże próbki należy lepiej przetestować za pomocą wykresu (wykres QQ, histogram). W takich przypadkach wizualizacja daje znacznie więcej informacji na temat zachowania multimodalnego i tak dalej.

ANOVA i regresja są odporne na nienormalność w przypadku dużych próbek, ale głównym rodzajem danych, które powodują problemy, są próbki danych multimodalnych.

Przy małej wielkości próby test Kolgomorova-Smirnova jest najlepszą opcją głównie ze względu na jego czułość.


1

Nie zgadzam się nieco z innymi dotychczas opublikowanymi odpowiedziami: te testy normalności mają notorycznie mało mocy, nawet przy stosunkowo dużych próbkach, przynajmniej dla niektórych rodzajów odchyleń.

Oto szybki przykład. Wygenerowałem mieszaninę dwóch normalnych, których średnie są oddzielone przez cały sd.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

Biorąc pod uwagę, że wykrywa on odchylenia od normalności w 5% przypadków, nawet jeśli byłoby to naprawdę normalne, nie jest to zbyt imponujące.

Oto inny przykład: dodaję jednolity hałas w zakresie wielkości dwóch odchyleń standardowych. Ten jest dość wyraźnie nienormalny.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

Ponownie, wyjątkowo niska moc dla całkiem dużego odstępstwa od normalności.

Czy na pewno czytasz poprawnie qqplot? Czy możesz przesłać go, abyśmy mogli go zobaczyć?

Edycja z drugiej strony, regresja jest dość odporne na brak normalności, więc Zgodziłbym się, że oględziny może być wystarczające dla większości zastosowań.


3
073/2575/25
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.