Sprawa Kołmogorov-Smirnov vs. Anderson-Darling

Poznamy teraz dwa testy badające, czy rozkład empiryczny jest pożądanym rozkładem. Oba te testy należą do tej samej grupy - pracują na dystrybuantach empirycznych. A dokładniej - mierzą stopień rozbieżności, między dystrybuantą empiryczną a teoretyczną. Oba jednak robią to na dwa różne sposoby.

TEST KOŁMOGOROVA-SMIRNOFFA

Zacznijmy od przykładu, a najlepsze przykłady to te życiowe. Mamy chłopców i dziewczynki - pytamy o to, w jakim momencie życiowym różnica między wzrostem chłopców a dziewczynek jest największa. W zasadzie to nawet mniej nas interesuje sam moment życiowy, jak ta maksymalna możliwa różnica.


Rys. Dystrybuanty skumulowane dla chłopców i dziewczynek (LJK).


Kołmogorova Smirnoffa właśnie bada największą odległość między krzywymi - ta różnica wynosi 0.6 (w moim przykładzie).

Badanie odległości między wykresami
W teście Kołmogorowa-Smirnoffa tak naprawdę chodzi o zbadanie odległości między dwoma wykresami funkcji: jedną jest rozkład cechy w naszej próbie, drugą jest rozkład teoretyczny, od którego podobieństwo pytamy test. Ale na moment zapomnijmy od rozkładach, testach i dystrybuantach i wróćmy do liceum lub technikum.

Przykład. Mamy dwie funkcje: jedna (liniowa)
y1 = f1(x) = x 
To jest tzw. tożsamość (identity): jedynce odpowiada jedynka, 1/2 odpowiada 1/2, pi odpowiada pi, dwójce dwójka, a zombi zombi itd.
Druga funkcja jest kwadratowa
y2 = f2(x) = x2
Dowolnej liczbie x przyporządkowuje jej kwadrat x2, np. 1/2 odpowiada 1/2 do kwadratu, czyli 1/4. 1/3 odpowiada 1/9, a 1/4 odpowiada 1/16. Zajmijmy się tylko liczbami od zera do jednego, czyli ułamkami - zaraz się okaże, dlaczego takie ograniczenie.

Pytanie o odległość między tymi funkcjami jest w zasadzie pytaniem o maksymalną różnicę między wartościami obu funkcji y1 oraz y2, jaka tylko może się zdarzyć.

Zróbmy to najpierw po kolei.
Dla x = 0 wartość pierwszej funkcji wynosi: f1(0) = 0 a wartość drugiej funkcji: f2(0) = 02=0, więc tu nie ma różnicy 0 − 0 = 0.
Dla x = 1/2 mamy w pierwszej funkcji f1(1/2) = 1/2, a w drugiej f2(1/2) = 1/4, więc różnica między nimi wynosi 1/2-1/4=1/4.
Dla x = 1/3 mamy w pierwszej funkcji f1(1/3) = 1/3, a w drugiej f2(1/3) = 1/9, więc różnica między nimi wynosi 1/3-1/9=2/9
I tak dalej, i tak dalej, i tak nieskończenie wiele razy, bo tyle jest liczb w przedziale od zera do jednego.
Gdybyśmy przejrzeli wszystkie punkty z przedziału od zera do jednego w końcu znaleźlibyśmy taki ułamek x, dla którego różnica między obiema funkcjami byłaby największa. Ale po co robić to ręcznie, skoro jest rachunek różniczkowy - istnieją matematyczne sposoby zamiast ręcznego szukania ułamek po ułamku :-).

Jeśli ktoś z liceum/technikum pamięta pochodną i jakieś porównywanie do zera, to właśnie w tym momencie zostało to wykorzystane, a my zobaczmy efekty:

Rys. Istota testu K-S, różnica między krzywymi (LJK).

Maksymalna odległość między tymi dwoma funkcjami f1(x) oraz f2(x) znajduje się dla x = 1/2 i wynosi 1/2 . Niby to samo 1/2, ale różne znaczenia. Czy to jest dużo czy mało? ‘To zależy’. Test K-S właśnie bada, czy maksymalna różnica między krzywymi (dokładniej te krzywe tu mają piękną nazwę: dystrybuantami) jest duża.
Akurat w przypadku dystrybuant można spodziewać się pewnego rodzaju wzorca takich różnic i jedne są uznawane za duże, a inne różnice za małe - dlatego to jest test statystyczny (może sprawdzić czy mamy do czynienia z typową różnicą, czy z ekstremalną <- to tak bardzo skrótowo).

Tak, jak już wspomniałam istotą testu K-S jest maksymalna różnica między dwie funkcjami reprezentującymi rozkład cechy i widać to w postaci analitycznej (czyli we wzorze) statystyki testowej:
T = sup |Fn(x) − F(x)|
gdzie T - statystyka testowa, sup oznacza, że chodzi o możliwie największą wartość różnicy między dwoma zwierzakami: Fn(x) to dystrybuanta empiryczna a F(x) - to dystrybuanta teoretyczna. Te pionowe kreski oznaczają wartość bezwzględną - interesuje nas wartość różnicy, a nie jej znak - wszystko jedno, czy minus 10 czy plus 10 stopni na dworze, mi i tak jest zimno :-)

TEST ANDERSONA-DARLINGA

Drugi test, który pomaga zbadać czy rozkład empiryczny jest rozkładem normalnym i który również w jakiś sposób wykorzystuje dystrybuanty empiryczne, to test Andersona-Darlinga. W zasadzie omówię nieco prostszą wersję testu Andersona-Darlinga, noszą kolejną nazwę pochodzącą od nazwisk twórców, tj. test Cramera-von Misesa. Zrobię to dlatego, że oba te testy: AD oraz CVM różnią się bardzo, bardzo niewiele, główna idea między nimi jest taka sama, przy czym łatwiej objaśnić CVM.
Wróćmy na chwilę do przykładu z funkcjami f1(x) (czyli liniowa) oraz f2(x) (czyli kwadratowa). Test K-S badał maksymalną różnicę między nimi. Kiedy tak patrzymy na rysunek, to przychodzi do głowy pytanie, dlaczego szukać maksymalnej różnicę - może lepiej byłoby scalić wszystkie różnice w jedną? Popatrzeć na pole między jedną a drugą krzywą?

Rys. Istota testu A-D - pole zostawione między dwiema krzywymi (LJK).

Jak obliczyć to pole zieleni? Na papierze rysujemy przerywaną linią kwadrat i rysujemy jego przekątną (zielona linia). Umieszczamy w kwadracie okrąg. Wycinamy z papieru wzdłuż przekątnej i przerywanych linii trójkąt. A potem wycinamy kawałek koła i mamy pole. Tak to mniej-więcej wygląda. Na szczęście
matematycy opracowali narzędzia, które pozwalają liczyć pole między dwoma krzywymi, bo to jest to, co w zasadzie robimy, bez wycinanek. Jeśli ktoś pamięta z edukacji szkolnej (zależnie kto, do jakiej chodził, zgodnie z reformą, ja chodziłam do prastarego liceum), do liczenia pól przydawały się całki i to jest to, co stanowi podstawę statystyki testowej w teście CVM.

gdzie T - statystyka testowa, Fn(x) to dystrybuanta empiryczna a F(x) to dystrybuanta teoretyczna. Tak, ja wiem, że to jest całka, ale powyższy wzór da radę rozumieć praktycznie następująco - oblicz pole, jakie znajduje się między wykresem jednej dystrybuanty, teoretycznej F(x) a wykresem drugiej dystrybuanty empirycznej Fn. "Oblicz powierzchnię błony jak tworzy się na dwóch dystrybuantach" - takie porównanie przychodzi mi do głowy.

Ściśle rzecz ujmując, test Andersona-Darlinga mniej więcej wygląda podobnie, poza tym wprowadza pewne ulepszenie do testu CVM - nadaje wagi tym różnicom. Dlatego też uprzedzam, że powyżej jest statystyka testowa dla CVM, dla AD nie chciałam podać, aby już nie mieszać sprawy z wagami.
Można powiedzieć, że test Andersona-Darlinga to taki upgrade testu Cramera-von-Misesa

Różnica między testem A-D a K-S
Różnicę między testem Andersona-Darlinga a testem Kołmogorova-Smirnoffa dobrze obrazuje różnica między dwie charakterystykami jeziora Loch Ness (niżej).

Rys. Jezioro Loch Ness jako ilustracja do różnicy między KS-AD (LJK).

Test Andersona Darlinga podaje powierzchnię jeziora (56.4km2) natomiast może też interesować nas maksymalna szerokość. Maksymalna szerokość Loch Ness to 1.5km (szerokość podajemy w zwykłych kilometrach, a powierzchnię w kilometrach kwadratowych). Jeden i drugi sposób daje pogląd na jezioro, i oba również tracą informację (pytanie o szerokość pomija powierzchnię jeziora; pytanie o powierzchnię jeziora pomija jego głębokość). Czerwona kreska oznacza maksymalną szerokość jeziora (oczywiście w tym ułożeniu, względem południków).

Jak to wykonać w SPSS-ie?
W SPSS-ie są dostępne tylko Kołmogorov-Smirnoff (oraz nieomówiony powyżej Shapiro-Wilk). W zasadzie to jest K-S z poprawką Lillieforsa i należy po kolei przeplikać:
Analiza→ Opis Częstości → Eksploruj 
a potem należy zaznaczyć okienko z poleceniem ‘Testy normalności wraz z wykresami’. I poszukać tabelki między wykresami (tak, ona może być w gąszczu wykresów).

2 komentarze:

Unknown pisze...

Dzień dobry,
Bardzo ciekawy artykuł. Brakuje tylko praktycznej porady: kiedy stosować test AS a kiedy KS? Może odnieść to do liczności próby, ponieważ w praktyce na to zwraca się uwagę bardziej niż na matematyczny wywód.
Pozdrawiam serdecznie
Rafał

Lilianna Jarmakowska-Kostrzanowska pisze...

Dzień dobry Rafał,
faktycznie w tym poście czegoś brakuje. Wstawię taką sekcję - bardzo dziękuję Ci za radę :-)
pozdrowienia
Lili