Zrobiłem to po wykonaniu testu normalności Shapiro-Wilka. Test wykazał, że populacja jest zwykle podzielona. Jak jednak zobaczyć to „zachowanie” na tej fabule?
AKTUALIZACJA
Prosty histogram danych:
AKTUALIZACJA
Test Shapiro-Wilka mówi:
Zrobiłem to po wykonaniu testu normalności Shapiro-Wilka. Test wykazał, że populacja jest zwykle podzielona. Jak jednak zobaczyć to „zachowanie” na tej fabule?
AKTUALIZACJA
Prosty histogram danych:
AKTUALIZACJA
Test Shapiro-Wilka mówi:
Odpowiedzi:
„ Test wykazał, że prawdopodobne jest, że populacja jest normalnie rozmieszczona ”.
Nie; to nie pokazało tego.
Testy hipotez nie mówią ci, jak prawdopodobne jest zero. W rzeczywistości możesz założyć się, że to zero jest fałszywe.
Wykres QQ nie daje wyraźnego wskazania na nienormalność (wykres jest dość prosty); Być może lewy ogon jest nieco krótszy, niż można się spodziewać, ale to naprawdę nie będzie miało większego znaczenia.
Histogram „jak jest” prawdopodobnie też niewiele mówi; wskazuje również na nieco krótszy lewy ogon. Ale patrz tutaj
Rozkład populacji, z którego pochodzą Twoje dane, nie będzie dokładnie normalny. Jednak wykres QQ pokazuje, że normalność jest prawdopodobnie dość dobrym przybliżeniem.
Gdyby wielkość próbki nie była zbyt mała, brak odrzucenia Shapiro-Wilka prawdopodobnie powiedziałby to samo.
Aktualizacja: zmiana uwzględniająca rzeczywistą wartość p Shapiro-Wilka jest ważna, ponieważ w rzeczywistości oznaczałoby to odrzucenie wartości null na typowych znaczących poziomach. Ten test wskazuje, że twoje dane nie są normalnie dystrybuowane, a łagodna skośność wskazana przez wykresy jest prawdopodobnie tym, co jest wykrywane przez test. W przypadku typowych procedur, które mogą zakładać normalność samej zmiennej (przychodzi na myśl test t dla jednej próby), przy czym wydaje się, że jest to dość duża próbka, ta łagodna nienormalność nie będzie miała prawie żadnego wpływu na wszystko - jednym z problemów z dobrością testów dopasowania jest to, że częściej odrzucają je, gdy nie ma to znaczenia (gdy wielkość próbki jest wystarczająco duża, aby wykryć niewielką nienormalność); podobnie częściej nie odrzucają, gdy ma to największe znaczenie (gdy próbka jest mała).
Jeśli dane są normalnie rozmieszczone, punkty na wykresie QQ-normal leżą na prostej linii ukośnej. Możesz dodać tę linię do wykresu QQ za pomocą polecenia qqline(x)
, gdzie x
jest wektorem wartości.
Przykłady rozkładu normalnego i niestandardowego:
Normalna dystrybucja
set.seed(42)
x <- rnorm(100)
Wykres QQ-normal z linią:
qqnorm(x); qqline(x)
Odchylenia od linii prostej są minimalne. Oznacza to rozkład normalny.
Histogram:
hist(x)
Rozkład niestandardowy (gamma)
y <- rgamma(100, 1)
Wykres QQ-normal:
qqnorm(y); qqline(y)
Punkty wyraźnie mają inny kształt niż linia prosta.
Histogram potwierdza nienormalność. Rozkład nie ma kształtu dzwonu, ale jest dodatnio wypaczony (tzn. Większość punktów danych znajduje się w dolnej połowie). Histogramy rozkładów normalnych pokazują najwyższą częstotliwość w środku rozkładu.
hist(y)
qqPlot
funkcję w car
pakiecie.
Niektóre narzędzia do sprawdzania poprawności założenia normalności w R.
library(moments)
library(nortest)
library(e1071)
set.seed(777)
x <- rnorm(250,10,1)
# skewness and kurtosis, they should be around (0,3)
skewness(x)
kurtosis(x)
# Shapiro-Wilks test
shapiro.test(x)
# Kolmogorov-Smirnov test
ks.test(x,"pnorm",mean(x),sqrt(var(x)))
# Anderson-Darling test
ad.test(x)
# qq-plot: you should observe a good fit of the straight line
qqnorm(x)
qqline(x)
# p-plot: you should observe a good fit of the straight line
probplot(x, qdist=qnorm)
# fitted normal density
f.den <- function(t) dnorm(t,mean(x),sqrt(var(x)))
curve(f.den,xlim=c(6,14))
hist(x,prob=T,add=T)
Chociaż dobrze jest wizualnie sprawdzić, czy intuicja pasuje do wyniku jakiegoś testu, nie można oczekiwać, że będzie to łatwe za każdym razem. Jeśli ludzie próbujący wykryć bozon Higgsa zaufaliby swoim wynikom, gdyby mogli je wizualnie ocenić, potrzebowaliby bardzo bystrego oka.
Zwłaszcza w przypadku dużych zestawów danych (a tym samym zwykle ze wzrostem mocy) statystyki zwykle wychwytują najmniejsze różnice, nawet jeśli trudno je dostrzec gołym okiem.
To powiedziawszy: dla normalności twój wykres QQ powinien pokazywać linię prostą: powiedziałbym, że nie. Ogony mają wyraźne zakręty, a nawet w środkowej części występuje zamieszanie. Wizualnie nadal mogę chcieć powiedzieć (w zależności od celu sprawdzenia normalności), że dane te są „w miarę” normalne.
Zauważ jednak: dla większości celów, w których chcesz sprawdzić normalność, potrzebujesz tylko normalności środków zamiast normalności obserwacji, więc centralne twierdzenie o granicy może wystarczyć. Ponadto: chociaż normalność jest często założeniem, że należy sprawdzić „oficjalnie”, wiele testów okazało się dość niewrażliwych na niespełnienie tego założenia.
Podoba mi się wersja z biblioteki „R” „car”, ponieważ zapewnia ona nie tylko centralną tendencję, ale także przedziały ufności. Daje wizualne wskazówki, które pomagają potwierdzić, czy zachowanie danych jest zgodne z hipotetycznym rozkładem.
library(car)
qqPlot(lm(prestige ~ income + education + type, data=Duncan),
envelope=.99)
niektóre linki: