Testowanie jednorodności jest czymś powszechnym, ale zastanawiam się, jakie są metody, aby to zrobić dla wielowymiarowej chmury punktów.
hypothesis-testing
uniform
gui11aume
źródło
źródło
Odpowiedzi:
Metoda standardowa wykorzystuje funkcję K Ripleya lub coś z niej pochodnego, na przykład funkcję L. Jest to wykres podsumowujący średnią liczbę sąsiadów punktów w funkcji maksymalnej odległości od siebie ( ). Aby uzyskać jednolity rozkład w wymiarach, ta średnia powinna zachowywać się jak : i zawsze będzie taka dla małych . Odchodzi od takiego zachowania ze względu na grupowanie, inne formy przestrzennej nie-niezależności i efekty krawędziowe (stąd kluczowe jest określenie regionu próbkowanego przez punkty). Z powodu tej komplikacji - która pogarsza się jakon ρ n ρ nρ n ρn ρ n wzrasta - w większości aplikacji pasmo ufności jest ustawiane dla zerowej funkcji K poprzez symulację, a obserwowana funkcja K jest wykreślana w celu wykrycia wychyleń. Z pewnymi przemyśleniami i doświadczeniem wycieczki można interpretować w kategoriach tendencji do skupiania się lub nie w określonych odległościach.
Przykłady funkcji K i związanej z nią funkcji L z Dixon (2001), jw. Funkcja L jest skonstruowana w taki sposób, że dla równomiernego rozkładu jest poziomą linią zerową: dobrym wizualnym odniesieniem. Linie przerywane to przedziały ufności dla tego konkretnego obszaru badań, obliczone za pomocą symulacji. Jednolity szary ślad jest funkcją L dla danych. Dodatni skok na odległościach 0-20 m wskazuje na pewne skupienia na tych odległościach.L(ρ)−ρ
Opublikowałem działający przykład w odpowiedzi na powiązane pytanie na /stats//a/7984 , gdzie wykres pochodzący z funkcji K dla jednolitego rozkładu na dwuwymiarowym kolektorze osadzonym w szacuje się na podstawie symulacji.R3
Wn=2 n=3
R
, na spatstat funkcjekest
ik3est
obliczyć K funkcji dla i , odpowiednio. W więcej niż 3 wymiarach prawdopodobnie jesteś sam, ale algorytmy byłyby dokładnie takie same. Możesz wykonać obliczenia z macierzy odległości obliczonej (z umiarkowaną wydajnością) przez .n = 3stats::dist
źródło
Okazuje się, że pytanie jest trudniejsze niż myślałem. Mimo to odrobiłem pracę domową i po rozejrzeniu się znalazłem dwie metody oprócz funkcji Ripleya, aby przetestować jednorodność w kilku wymiarach.
Zrobiłem pakiet R o nazwie,
unf
który implementuje oba testy. Możesz pobrać go z github na https://github.com/gui11aume/unf . Duża jego część znajduje się w C, więc będziesz musiał go skompilować na swoim komputerzeR CMD INSTALL unf
. Artykuły, na których oparta jest implementacja, są w formacie pdf w pakiecie.Pierwsza metoda pochodzi z referencji wspomnianej przez @ Procrastinator ( Testowanie jednorodności na wielu odmianach i jej zastosowania, Liang i wsp., 2000 ) i pozwala przetestować jednorodność tylko na jednostkowej hipersześcianie. Chodzi o zaprojektowanie statystyk rozbieżności, które są asymptotycznie gaussowskie według twierdzenia Central Limit. Pozwala to obliczyć statystykę , która jest podstawą testu.χ2
Drugie podejście jest mniej konwencjonalne i wykorzystuje minimalne drzewa opinające . Wstępna praca została wykonana przez Friedmana i Rafsky'ego w 1979 r. (Odniesienie w pakiecie), aby sprawdzić, czy dwie próbki wielowymiarowe pochodzą z tej samej dystrybucji. Poniższy obraz ilustruje zasadę.
Punkty z dwóch dwuwymiarowych próbek są wykreślone na czerwono lub niebiesko, w zależności od ich oryginalnej próbki (lewy panel). Obliczane jest minimalne drzewo rozpinające próbki zbiorczej w dwóch wymiarach (środkowy panel). To drzewo z minimalną sumą długości krawędzi. Drzewo jest rozkładane w poddrzewach, w których wszystkie punkty mają takie same etykiety (prawy panel).
Na poniższym rysunku pokazuję przypadek, w którym agregowane są niebieskie kropki, co zmniejsza liczbę drzew na końcu procesu, jak widać na prawym panelu. Friedman i Rafsky obliczyli asymptotyczny rozkład liczby drzew uzyskanych w procesie, co pozwala na wykonanie testu.
Pomysł stworzenia ogólnego testu na jednorodność próbki wielowymiarowej został opracowany przez Smitha i Jaina w 1984 r. I wdrożony przez Bena Pfaffa w C (odniesienie w pakiecie). Druga próbka jest generowana równomiernie w przybliżonym wypukłym kadłubie pierwszej próbki, a próba Friedmana i Rafsky'ego jest przeprowadzana na puli dwóch próbek.
Zaletą tej metody jest to, że sprawdza jednolitość każdego wypukłego kształtu wielowymiarowego, a nie tylko hipersześcianu. Istotną wadą jest to, że test ma losowy składnik, ponieważ druga próbka jest generowana losowo. Oczywiście można powtórzyć test i uśrednić wyniki, aby uzyskać powtarzalną odpowiedź, ale nie jest to przydatne.
Kontynuując poprzednią sesję R, oto jak to wygląda.
Skopiuj / rozwidlaj kod z github.
źródło
Czy para byłaby zależnymi unifromami, gdzie i z prawdopodobieństwem i z prawdopodobieństwem gdzie jest również i niezależny od ?U ∼ U n i f o r m ( 0 , 1 ) Z = U 0 < p < 1 W 1 - p W U n i f o r m ( 0 , 1 ) U(U,Z) U∼Uniform(0,1) Z=U 0<p<1 W 1−p W Uniform(0,1) U
Dla niezależnych zmiennych losowych w wymiarach podziel wymiarową kostkę jednostkową to zbiór mniejszych rozłącznych kostek o tej samej długości boku. Następnie wykonaj test dla jednorodności. Działa to dobrze tylko, jeśli n jest małe jak 3-5.n χ 2n n χ2
źródło