Sprawdź, czy rozkłady wielowymiarowe są takie same


15

Powiedzmy, że mam dwie lub więcej próbnych populacji n-wymiarowych ciągłych wektorów. Czy istnieje nieparametryczny sposób sprawdzenia, czy próbki te pochodzą z tego samego rozkładu? Jeśli tak, to czy jest do tego funkcja w R lub Pythonie?


2
Test Kołmogorowa-Smirnowa jest typowym nieparametrycznym narzędziem do testowania, czy dwa rozkłady są takie same. Nie jestem z tym zaznajomiony, ale wikipedia odnosi się do Justela, A., Peñy, D. i Zamara, R. (1997) Wieloczynnikowy test dobroci dopasowania Kołmogorowa-Smirnowa, Statystyka i listy prawdopodobieństwa, 35 (3), 251–259 . dla wielowymiarowego rozszerzenia tego testu.
Makro

1
Jest to kwestia CV zajęcie to w dwóch wymiarach: stats.stackexchange.com/questions/25946/... . Nawet w dwóch wymiarach nie ma standardowego sposobu na zrobienie tego.
Flądrowiec

Odpowiedzi:


8

Właśnie przeprowadziłem wiele badań na dwóch próbach na wielu odmianach, kiedy zdałem sobie sprawę, że test Kołmogorowa-Smirnowa nie był wielowymiarowy. Spojrzałem więc na test Chi, kryterium T ^ 2 Hotellinga, kryterium Andersona-Darlinga, Cramera-von Misesa, Shapiro-Wilka itp. Musisz być ostrożny, ponieważ niektóre z tych testów polegają na porównaniu wektorów jako takich samych długość. Inne służą jedynie do odrzucenia założenia normalności, a nie do porównania dwóch rozkładów próbek.

Wydaje się, że wiodącym rozwiązaniem jest porównanie funkcji rozkładu skumulowanego dwóch próbek ze wszystkimi możliwymi porządkami, które, jak można podejrzewać, są bardzo intensywne obliczeniowo, rzędu minut dla pojedynczego przebiegu próbki zawierającej kilka tysięcy rekordów:

https://cran.r-project.org/web/packages/Peacock.test/Peacock.test.pdf

Jak stwierdza dokumentacja Xiao, test Fasano i Franceschini jest odmianą testu Peacock:

http://adsabs.harvard.edu/abs/1987MNRAS.225..155F

Test Fasano i Franceschini miał być specjalnie mniej wymagający obliczeniowo, ale nie znalazłem implementacji ich pracy w R.

Dla tych z Was, którzy chcą poznać obliczeniowe aspekty testu Peacock kontra Fasano i Franceschini, sprawdź wydajne obliczeniowo algorytmy dla dwuwymiarowego testu Kołmogorowa – Smirnova


Co to jest skumulowany rozkład dla wielu odmian?
Aksakal

2
@Aksakal z uogólnieniami do variates, a funkcja empirycznej skumulowanej dystrybucji wielowymiarowej jest szacowana podobnie . p F ( x , y ) = n i = 1 I ( X i < x , Y i < y ) / nF(x,y)=P(X<x,Y<y)pF(x,y)=i=1nI(Xi<x,Yi<y)/n
AdamO

2
Ładne i zwięzłe, AdamO. Test Peacocka wydaje się wręcz głupiutki, gdy nie wykonuje się przycinania, jak to robią Fasano i Franceschini. Miejmy nadzieję, że ktoś zdecyduje się go kodować pewnego dnia dla R. Jest to szczególnie przydatne ze względu na szybkość, gdy rekordy są dalej dekomponowane, być może przez zmienną kategoryczną, i chce się przekonać, czy dekompozycje są w rzeczywistości wyciągane z różnych rozkładów.
L Fischman


1

Tak, istnieją nieparametryczne sposoby testowania, jeśli dwie próbki wielowymiarowe pochodzą z tego samego wspólnego rozkładu. Wspomnę o szczegółach, z wyjątkiem tych wymienionych przez L. Fischmana . Podstawowy problem, który zadajesz, można nazwać „problemem dwóch prób”, a obecnie wiele badań jest prowadzonych w czasopismach takich jak Journal of Machine Learning Research i Annals of Statistics i inne. Mając małą wiedzę na temat tego problemu, mogę udzielić wskazówek w następujący sposób

  • Jednym z ostatnich sposobów testowania zestawów próbek na wielu odmianach jest maksymalna średnia rozbieżność (MMD); literatura pokrewna: Arthur Gretton 2012 , Bharath 2010 i inni. Inne pokrewne metody można znaleźć w tych artykułach badawczych. W razie zainteresowania zapoznaj się z artykułami cytującymi te artykuły, aby uzyskać pełny obraz najnowocześniejszego rozwiązania tego problemu. I TAK, do tego są implementacje R.

Jeśli Twoim celem jest porównanie różnych zestawów punktów (zestawów próbek) z zestawem punktów odniesienia, aby zobaczyć, jak bardzo zbliżają się one do zestawu punktów odniesienia, możesz użyć rozbieżności f .

  • Jednym z popularnych przypadków tego typu jest dywergencja Kullbacka-Leiblera . Jest to wykorzystywane w wielu systemach uczenia maszynowego. Można to zrobić ponownie na dwa sposoby; poprzez podejście okna parzen (jądro) i estymatory PDF K-Nearest Neighbor.

Mogą być też inne sposoby podejścia, ta odpowiedź nie jest w żaden sposób kompleksowym podejściem do twojego pytania;)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.