Czasem diabeł tkwi w szczegółach.

Ostatnio trafił do mnie taki ciekawy problem.

Problem:
Mamy dwa zbiory monet (oznaczmy typ 1/typ 2) z końca XIII w., chcemy sprawdzić się czy zostały wyprodukowane tą samą techniką = czy rozkłady ciężarów monet są takie same.
Wiemy, że ich średnie wielkości wagowe są takie same ale mogą różnić się np. skośnością. Jeżeli uznamy, skośności są różne to można przypuszczać, że monety w różnych zbiorach wyprodukowano różnymi technikami.
Średnia wielkość monet jest taka sama, bo (o ile nie dochodziło do oszustwa) z określonej ilości surowca (jednej marki czy jednej grzywny) wiadomo było ile powinno powstać monet. Ale nawet jeżeli średnia jest taka sama to techniki produkcji monet mogą się różnić udziałem lżejszych i cięższych monet.
Monet jednego typu jest 40, drugiego 32 egz.

A więc jak porównać te dwie grupy?

Gdyby obudzić w nocy studenta statystyki i zapytać go o to jak porównywać rozkłady w dwóch grupach, to ten pewnie by tylko wymamrotał przez sen 'test Kołmogorowa Smirnowa’ i przewrócił się na drugi bok.
W programie R ten test dla dwóch prób można wykonać funkcją ks.test{stats} (wiki)

Wikipedia mówi ’The two-sample K–S test is one of the most useful and general nonparametric methods for comparing two samples, as it is sensitive to differences in both location and shape of the empirical cumulative distribution functions of the two samples.’, znaczy że ten test wykrywa różnice i w średnich i skośności i innych nierównościach pomiędzy próbami. Można więc mieć nadzieję, że nawet gdy nie ma różnicy w średnich to różnica w skośnościach będzie wykryta.
Ale…
Test K-S wykrywa różne odstępstwa od równości z różną czułością. Najbardziej czuły jest na przesunięcia ale już na różnice w skośności jest mniej czuły.
Gdyby szukać analogii, można by porównać ten test ze strategią poszukiwania okularów rano. Strategią w której przez 60% czasu szuka się okularów na parapecie, przez 30% na biurku a przez 10% pod łóżkiem. Ta strategia pozwala na znalezienie okularów w każdym z tych trzech miejsc o ile wystarczająco długo szukamy. Ale zgodzicie się, że jeżeli mamy dodatkową wiedzę, że okularów nie ma na parapecie to lepiej wykorzystać inną, bardziej specyficzną strategię.

Podobnie jest z testem K-S. Odpowiednikiem czasu szukania okularów jest tutaj liczba monet potrzebnych do identyfikacji różnicy. Jeżeli nie wiemy co może różnić porównywane grupy to test K-S jest być może nienajgorszym wyborem. Ale jeżeli wiemy gdzie szukać różnic (np. w skośności) to lepiej użyć innych narzędzi.

Jakich?

Niestety [?] teoria oparta o rozkłady gaussowskie się nie przyda, bo te nie są skośne. Ale zwolennicy rozwiązań parametrycznych mogą wykorzystać rozkłady z parametrem położenia, skali i kształtu (GAMLSS) aby testować skośność. Więcej o tych modelach można przeczytać np. w pracy magisterskiej mojej dyplomantki Anny Lis.

Jednak, jeżeli lubicie dźwięk rozpędzającego się wiatraczka chłodzącego procesor, to interesującą alternatywą będzie test oparty o metodę bootstrap lub test permutacyjny.

Technika bootstrap (wiki) pozwala na szacowanie przedziałów ufności dla skośności w obu próbach. Szacując dokładność oszacowania skośności możemy już prosto skonstruować test dla dwóch prób. Schemat jest następujący: 1. z próby pierwszej losujemy ze zwracaniem 40 monet, 2. na otrzymanej próbie wyznaczamy skośność, 3. powtarzamy 1-2 wiele razy, np. 10000 razy, 4. robimy 1-3 dla drugiej próby, 5. porównujemy oszacowania skośności.

Test permutacyjny przemiesza obie grupy (wiki) i sprawdzi, czy po resamplingu połączonej próby i po ponownym podzieleniu wymieszanych obserwacji na dwie podpróby, skośności w nowo utworzonych podpróbach różnią się bardziej niż różniły się w oryginalnych populacjach. Tutaj schemat jest następujący: 1. Łączymy monety w jeden wektor 72 elementowy, 2. permutujemy wektor, 3. dzielimy wektor na dwie podpróby o wielkości 40 i 32, 4. wyznaczamy skośności na podpróbach, 5. wyznaczamy moduł różnicy w skośnościach z punktu 4, 6. powtarzamy 1-5 wiele razy, np. 10000 razy, 7. sprawdzamy czy ta różnica w skośnościach którą widzimy w oryginalnych danych jest większa niż różnice w takich przepermutowanych próbach.

Akurat dla tych konkretnych danych obie te techniki dają bardzo zbliżone wyniki, p-wartości w okolicach 0.04, co przy tak małych próbach można uznać nawet za wyraźny sygnał pochodzenia z różnych populacji.
K-S test nie widział żadnych różnic, raportował p-wartość powyżej 0.8.

6 thoughts on “Czasem diabeł tkwi w szczegółach.”

  1. Czy 3 testy to wystarczająca liczba, aby zacząć zastanawiać sie nad poprawka poziomu istotności z racji na testowanie zbioru hipotez (wielokrotne testowanie)?

    1. Jeżeli chodzi o korekty typu FWER czy FDR to i dwie hipotezy wystarczą.
      Tyle, że tutaj nie mamy kilku różnych hipotez, jest jedna hipoteza o równości dwóch rozkładów i pytanie jak ją testować.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *