Czy sensowne jest testowanie normalności przy bardzo małej wielkości próby (np. N = 6)?

26

Mam próbkę o wielkości 6. W takim przypadku, czy warto testować normalność za pomocą testu Kołmogorowa-Smirnowa? Użyłem SPSS. Mam bardzo małą próbkę, ponieważ uzyskanie każdej z nich wymaga czasu. Jeśli to nie ma sensu, ile próbek jest najniższą liczbą, która ma sens do testowania?

Uwaga: przeprowadziłem eksperyment związany z kodem źródłowym. Próbka to czas poświęcony na kodowanie w wersji oprogramowania (wersja A). Właściwie mam inną próbkę o wielkości 6, która to czas poświęcony na kodowanie w innej wersji oprogramowania (wersja B)

Chciałbym wykonać test hipotez przy użyciu testu t dla jednej próby, aby sprawdzić, czy czas spędzony w wersji kodu A różni się od czasu spędzonego w wersji kodu B, czy nie (to jest mój H1). Warunkiem wstępnym testu t dla jednej próbki jest normalne rozprowadzenie testowanych danych. Dlatego muszę sprawdzić normalność.

BB01
źródło
6
Ja, na przykład, mam trudności z wyobrażeniem sobie kontekstu, w którym n = 6 i normalność byłyby hipotezą wartą przetestowania. Obawiam się, że jest to przypadek niedoświadczonego użytkownika wykonującego wiele testów hipotez (uruchom regresję, a następnie test na normalność reszt) i że zajmujemy się objawami, ale, że tak powiem, ignorujemy szkielety w szafie.
user603,
3
@ użytkownik Spekulowanie na temat pytającego jest niesprawiedliwe. Zajmijmy się pytaniem, prawda? Załóżmy, że planujesz obliczyć górny limit prognozowania dla wartości, która zostanie wykorzystana do podjęcia kosztownej decyzji. Wartość PL będzie wrażliwa na założenia normalności. Jesteś pewien, że proces generowania danych jest nienormalny, ale generowanie danych jest kosztowne i czasochłonne. Poprzednie eksperymenty sugerują, że będzie wystarczająco silne, aby odrzucić normalność. (Właśnie opisałem standardowe ramy dla programów monitorowania wód podziemnych w USA.)n=6
whuber
3
User603 (ponownie twój pierwszy komentarz): Chciałbym zaznaczyć, że @Joris nie podał odpowiedzi, ani jego komentarzowi nie towarzyszy żadne uzasadnienie. Jeśli zdecydowane „nie” jest prawidłową ogólną odpowiedzią na to pytanie, zobaczmy, że jest ono zapisane jako takie, wraz z argumentem wspierającym, aby mogło zostać ocenione w górę i w dół przez społeczność.
whuber
2
@ whuber: Dodałem argument za zdecydowanym „nie”.
Joris Meys,
1
@Joris Dziękujemy! To jest pomocne i pouczające.
whuber

Odpowiedzi:

38

Tak.

Wszystkie testy hipotez mają dwie istotne właściwości : ich wielkość (lub „poziom istotności”), liczbę bezpośrednio związaną z pewnością i oczekiwanymi wskaźnikami fałszywie dodatnich oraz ich moc, która wyraża szansę na fałszywe negatywy. Kiedy próbki są małe i nadal nalegasz na mały rozmiar (wysoka pewność), moc się pogarsza. Oznacza to, że testy małych próbek zwykle nie mogą wykryć małych lub umiarkowanych różnic. Ale wciąż mają znaczenie .

Test KS ocenia, czy próbka pochodzi z rozkładu normalnego. Próbka sześciu wartości będzie musiała wyglądać bardzo nienormalnie, aby nie przejść tego testu. Ale jeśli tak, możesz zinterpretować to odrzucenie wartości zerowej dokładnie tak , jak interpretowałbyś to przy większych rozmiarach próby. Z drugiej strony, jeśli test nie odrzuci hipotezy zerowej, niewiele to mówi, ze względu na wysoki odsetek fałszywie ujemnych wyników. W szczególności ryzykowne byłoby zachowanie się tak, jakby rozkład leżący u podstaw był normalny.

Jeszcze jedna rzecz, na którą należy zwrócić uwagę: niektóre oprogramowanie wykorzystuje przybliżenia do obliczania wartości p na podstawie statystyk testowych. Często te przybliżenia działają dobrze w przypadku dużych próbek, ale źle działają w przypadku bardzo małych próbek. W takim przypadku nie można ufać, że wartość p została poprawnie obliczona, co oznacza, że ​​nie można mieć pewności, że osiągnięto pożądany rozmiar testu. Szczegółowe informacje można znaleźć w dokumentacji oprogramowania.

Kilka porad: test KS jest znacznie mniej wydajny do testowania normalności niż inne testy specjalnie zaprojektowane do tego celu. Najlepszym z nich jest prawdopodobnie test Shapiro-Wilka , ale innymi powszechnie stosowanymi i prawie równie potężnymi są Shapiro-Francia i Anderson-Darling .

Na tym wykresie przedstawiono rozkład statystyki testu Kołmogorowa-Smirnowa w 10000 próbkach sześciu normalnie rozmieszczonych zmiennych:

Histogram statystyki KS

α=5%

0.000, 0.001, 0.002, 1.000, 1.001, 1000000

Statystyka testowa wynosi 0,5 (czyli mniej niż wartość krytyczna). Taka próbka zostałaby odrzucona przy użyciu innych testów normalności.

Whuber
źródło
10
Myślę, że każda dystrybucja, która daje sig. wynik przy N = 6 będzie tak nienormalny, że przejdzie IOTT z latającymi kolorami - to test na uraz międzygałkowy. Uderza cię między oczy.
Peter Flom - Przywróć Monikę
2
N.=6N.=6
Dla zabawy próbowałem set.seed (3833782) x <- runif (6) ks.test (x, pnorm) Było to znaczące przy p = 0,04. Może się zdarzyć
Peter Flom - Przywróć Monikę
4
@ Peter Dobry! Test normalności KS odrzucił jednolitą próbkę. To się liczy.
whuber
3
set.seed(140);x=rnorm(6);ks.test(x,pnorm)produkuje p-value = 0.0003255. Oczywiście musiałem spróbować ze 140 nasionami, zanim znalazłem to ...
Spacedman,
20

Jak pytał @whuber w komentarzach, potwierdzenie mojego kategorycznego NIE. edycja: z testem shapiro, ponieważ test ks z jedną próbką jest w rzeczywistości nieprawidłowo stosowany. Whuber ma rację: Aby poprawnie zastosować test Kołmogorowa-Smirnova, musisz określić parametry dystrybucji i nie wyodrębniać ich z danych. Tak dzieje się jednak w pakietach statystycznych, takich jak SPSS, dla testu KS z jedną próbą.

Próbujesz powiedzieć coś o rozkładzie i chcesz sprawdzić, czy możesz zastosować test t. Ten test jest wykonywany w celu potwierdzenia, że dane nie odbiegają wystarczająco od normalności wystarczająco, aby unieważnić podstawowe założenia analizy. Dlatego nie jesteś zainteresowany błędem typu I, ale błędem typu II.

Teraz trzeba zdefiniować „znacząco inny”, aby móc obliczyć minimalną wartość n dla akceptowalnej mocy (powiedzmy 0,8). W przypadku dystrybucji nie jest to łatwe do zdefiniowania. Dlatego nie odpowiedziałem na to pytanie, ponieważ nie mogę udzielić rozsądnej odpowiedzi poza stosowaną przeze mnie zasadą: n> 15 in <50. W oparciu o co? W zasadzie przeczucie, więc nie mogę bronić tego wyboru poza doświadczeniem.

Wiem jednak, że przy tylko 6 wartościach błąd typu II musi wynosić prawie 1, co oznacza, że ​​twoja moc jest bliska 0. Dzięki 6 obserwacjom test Shapiro nie rozróżnia rozkładu normalnego, Poissona, jednolitego lub nawet wykładniczego. Ponieważ błąd typu II wynosi prawie 1, wynik testu jest bez znaczenia.

Aby zilustrować test normalności za pomocą testu shapiro:

shapiro.test(rnorm(6)) # test a the normal distribution
shapiro.test(rpois(6,4)) # test a poisson distribution
shapiro.test(runif(6,1,10)) # test a uniform distribution
shapiro.test(rexp(6,2)) # test a exponential distribution
shapiro.test(rlnorm(6)) # test a log-normal distribution

Jedynym przypadkiem, gdy około połowa wartości jest mniejsza niż 0,05, jest ostatnia. Co jest również najbardziej ekstremalnym przypadkiem.


jeśli chcesz dowiedzieć się, jakie jest minimum n, które daje moc, którą lubisz dzięki testowi shapiro, możesz wykonać symulację w następujący sposób:

results <- sapply(5:50,function(i){
  p.value <- replicate(100,{
    y <- rexp(i,2)
    shapiro.test(y)$p.value
  })
  pow <- sum(p.value < 0.05)/100
  c(i,pow)
})

co daje taką analizę mocy:

wprowadź opis zdjęcia tutaj

z czego dochodzę do wniosku, że potrzebujesz mniej więcej 20 wartości, aby odróżnić wykładniczy rozkład normalny w 80% przypadków.

działka kodu:

plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
    main="Power simulation for exponential distribution",
    xlab="n",
    ylab="power"
)
Joris Meys
źródło
2
@ whuber: odnośnie do logiki testowania hipotez na głowie: w którym przypadku jesteś zainteresowany alternatywną hipotezą? We wszystkich zastosowaniach tych testów, które widziałem, ludzie są zainteresowani potwierdzeniem wartości zerowej: moje dane nie różnią się znacząco od normalnego rozkładu. Dlatego podkreślam błąd typu II.
Joris Meys,
4
n5
4
n=8n
3
@whuber: Będziemy musieli się zgodzić, by się różnić. Nie jestem fanem wytycznych EPA (i zdecydowanie nie FDA). Zbyt często widziałem to nadużywane, aby nadal wierzyć w jego przydatność. Szansa jest dziwna i tylko w 6 przypadkach jest wysoce nieprzewidywalna. Nie sądzę, żebyś mógł cokolwiek powiedzieć o złożonej funkcji, takiej jak PDF, opartej tylko na 6 obserwacjach. YMMV
Joris Meys
5
@ImAlso Test t może tolerować wiele nienormalności, jeśli jest dość symetryczny, ale nie może tolerować zbyt dużej asymetrii. (Rzeczywiście, test skośności dla normalności może faktycznie być lepszą opcją w teście OP niż test KS, właśnie z tego powodu.) Wskazuje to na jedną z największych różnic między testami dobroci dopasowania a innymi testami hipotez: istnieje ogromna przestrzeń możliwych alternatyw i testy GoF wydają się być dobre przeciwko niektórym z nich, ale nie przeciwko innym. Nie możesz sprawić, by działały dobrze przeciwko wszystkim alternatywom.
whuber
-2

Pytanie, które tu postawiono, ma pewne nieporozumienie, dlaczego kontrola normalności jest wymagana dla próbki o wielkości 6. Tutaj głównym celem jest „sprawdzenie, czy czas spędzony w wersji kodu A różni się od czasu spędzonego w wersji kodu B, czy nie ( To jest mój H1) ”. Kiedy używa się słowa „różnią się”, czy jest to test z jednym ogonem? Jednak testowanie normalności jest drugim krokiem. Pierwszym krokiem jest sprawdzenie adekwatności z góry określonej (1-β) mocy testu dla danej wielkości próbki, gdy moc jest bardzo zła, a następnie jakie jest zastosowanie testowania warunku normalności ?. Sprawdzanie warunków normalności pomoże nam zdecydować, czy przejść test parametryczny czy nieparametryczny ?. Jeśli próbka nie ma wystarczającej mocy, dlaczego warto pomyśleć o testowaniu Normalności ?.

user202344
źródło
(-1) Jest to bardzo niejasne. Przeczytaj tę stronę, aby odpowiedzieć na pytania: stats.stackexchange.com/help/how-to-answer
mkt - Przywróć Monikę