Wybrane procedury statystyczne
Wynik każdego z wymienionych testów jest obiektem klasy htest. Obiekty tej klasy mają ujednolicone nazewnictwo pól, dzięki czemu w jednolity sposób można analizować wyniki różnych testów. Dla obiektów tej klasy przeciążona jest funkcja printO wyświetlająca w czytelny sposób wyniki danego testu. Fola obiektów' klasy htest przedstawione są w tabeli 3.13.
Tabela 3.13: Właściwości obiektów klasy htest
$statistic |
Pole przechowujące wartość statystyki testowej. Atrybut names] tego pola przechowuje nazwę statystyki testowej. |
$p.value |
Pole z p-wartością wyznaczoną dla danego testu. |
$method |
Pole z nazwą wykonanego testu. |
$data.name |
Pole z nazwą ramki danych, wykorzystaną do wykonania testu. |
$conf.int |
Poie z dwuelementowym wektorem opisującym przedział ufności dla testowanego parametru. To pole jest tylko w obiektach zwracanych jako wynik przez testy weryfikujące wartości parametru rozkładu (nie będzie go dla testów zgodności). |
Inne właściwości, różne dla wyników różnych testów. |
Prześledźmy następujący przykład.
> tt losujemy próbkę z rozkładu normalnego o parametrach 10 i l.Ą
> x = rnormdOO, 10, 1.4)
> cvm.test(x) tt wykonujemy test Cramera-von Misesa
Cramer-von Mises normality test
data: x
W “ 0.0511, p-value - 0.4916
> # wyciągamy z obiektu będącego wynikiem testu informacje o p-wartości
> (pwynik = cvm.test(x)$p.value)
[1] 0.4916178
> ifelse(pwynik<0.05,
“Odrzucamy hipotezę zerową na poziomie istotności 0.05",
"Nie ma podstaw by odrzucić HO na poziomie istotności 0.05") Cl] "Nie ma podstaw by odrzucić HO na poziomie istotności 0.05"
hmki Jn mocy
IMttWNln imrAwnać, klrtty to«l lepiej ••o tiowiijr «ię dla okrndlonej iii. niMiywy WysLsza IIMM I t/IIIM /w, że W konkretnej ■yl uncji test Mę lepiej.
Mnogość testów normalności powoduje, że naturalnym staje się pytanie, który test wybrać. Każdy z tych testów jest czuły inne odstępstwa od normalności. Na rysunku 3.36 przedstawiono funkcje mocy dla kilku przykładowych alternatyw.. Porównać można zachowanie testów' w czterech wybranych przypadkach. Dla ogonów lżejszych niż dla rozkładu normalnego najlepiej radził sobie test Shapiro-Wilka. Gdy ogony były cięższych niż te w rozkładzie normalnym, wysoką moc miał test Andersona-Darlinga oraz oba testy Shapiro. Test Andersona-Darlinga nad testem Shapiro-Wilka miał przewagę, gdy odstępstw-o od normalności polegało na wielomo-dalności. Kody źródłowe R użyte do wyznaczania mocy znaleźć można w Internecie pod adresem http://www.biecek.p1/R/. Zachęcam do eksperymentowania z wyznaczaniem mocy dla różnych testów i różnych alternatyw.
Rozkła Cauchyego (1)
Rozkład lognormalny (0,1)
Rysunek 3.36: Moce testów normalności dla wybranych alternatyw wyznaczone na poziomic istotności et = 0.05
Do wizualnej oceny normalności można wykorzystać wykres kwantylowy dla rozkładu normalnego. Wykres ten jest zaimplementowany w funkcji qqnorm(stats). Są na nim wykresie porównywane kwant.yle rozkładu empirycznego z teoretycznymi kwantylami rozkładu normalnego. Jeżeli obserwacje pochodzą z rozkładu normalnego, to punkty na wykresie układają się wzdłuż linii prostej (można tę linię dorysować funkcją qqline(stats)). Funkcja qq.plot(car) rysuje wykres kwantylowy z linią przechodzącą przez kwartyle oraz z przedziałami ufności dla punktów z wykresu kwantylowcgo. Poniżej przedstawiamy przykład użycia obu funkcji. Graficzny wynik działania tych poleceń jest przedstawiony na rysunku 3.37.
y = rnorm(lOO)
i narysujmy wykres kwantylowy qqnora(y)
qqlineCy, col = "red")
# identyczny efekt otrzymamy korzystając z funkcji qq.plot O qq.plot(y)