Jestem za opisem / metodologią przeprowadzania analizy ważonych geograficznie głównych składników (GWPCA). Z przyjemnością używam Pythona do dowolnej części tego i wyobrażam sobie, że SPSS lub R są używane do uruchamiania PCA na zmiennych ważonych geograficznie.
Mój zestaw danych składa się z około 30 niezależnych zmiennych, które są mierzone w ~ 550 obszarach spisu powszechnego (geometria wektorowa).
Wiem, że to załadowane pytanie. Ale kiedy szukam i szukam, wydaje się, że nie ma żadnych rozwiązań. Spotkałem równania matematyczne, które wyjaśniają podstawowy skład GWPCA (i GWR). To, czego szukam, jest bardziej stosowane w pewnym sensie, że szukam, jakie główne kroki muszę wykonać, aby przejść od surowych danych do wyników GWPCA.
Chciałbym rozwinąć pierwszą część tej edycji ze względu na uwagi otrzymane poniżej.
Zwracając się do Paula ...
Zainteresowanie GWPCA opieram na następującym artykule:
Lloyd, CD, (2010). Analiza cech populacji za pomocą analizy ważonych geograficznie głównych składników: studium przypadku Irlandii Północnej w 2001 r. Komputery, środowisko i systemy miejskie, 34 (5), s. 383–399.
Dla tych, którzy nie mają dostępu do literatury, załączyłem zrzuty ekranu poszczególnych sekcji, które wyjaśniają matematykę poniżej:
I żeby zająć się whuber ...
Nie wchodząc w szczegóły (poufność), staramy się zredukować 30 zmiennych, które naszym zdaniem są bardzo dobrymi wskaźnikami (choć globalnie), do zestawu składników o wartościach własnych większych niż 1. Obliczając składniki ważone geograficznie, staramy się zrozumieć lokalne wariancje wyjaśnione przez te elementy.
Myślę, że naszym głównym celem będzie udowodnienie koncepcji GWPCA, to znaczy ukazanie przestrzennie wyraźnego charakteru naszych danych i że nie możemy uznać wszystkich zmiennych niezależnych za wyjaśniające w skali globalnej. Raczej skala lokalna (dzielnice), które zidentyfikuje każdy komponent, pomoże nam zrozumieć wielowymiarowy charakter naszych danych (w jaki sposób zmienne można łączyć ze sobą w celu wyjaśnienia określonych dzielnic na naszym obszarze badań).
Mamy nadzieję zmapować procent wariancji uwzględniony przez każdy komponent (osobno), aby zrozumieć zasięg sąsiedztwa wyjaśniony przez dany komponent (pomóc nam zrozumieć lokalną przestrzenność naszych komponentów). Być może kilka innych przykładów mapowania, ale w tej chwili nie przychodzą mi na myśl żadne.
Dodatkowo:
Matematyka GWPCA wykracza poza to, co rozumiem, biorąc pod uwagę moje doświadczenie w analizie geograficznej i statystyce społecznej. Najważniejsze jest zastosowanie matematyki, czyli co mogę podłączyć do tych zmiennych / formuł.
źródło
Odpowiedzi:
„Geograficznie ważona PCA” jest bardzo opisowa: w
R
programie praktycznie się pisze. (Potrzebuje więcej wierszy komentarza niż rzeczywistych wierszy kodu).Zacznijmy od odważników, ponieważ w tym miejscu ważona geograficznie firma produkuje części PCA od samego PCA. Termin „geograficzny” oznacza, że wagi zależą od odległości między punktem bazowym a lokalizacjami danych. Standardowa - ale w żadnym wypadku nie tylko - waga jest funkcją Gaussa; to jest rozkład wykładniczy z kwadratową odległością. Użytkownik musi określić szybkość zaniku lub - bardziej intuicyjnie - charakterystyczną odległość, na której występuje ustalona wielkość zaniku.
PCA ma zastosowanie do macierzy kowariancji lub korelacji (która jest pochodną kowariancji). Tutaj jest zatem funkcja do obliczania ważonych kowariancji w sposób stabilny numerycznie.
Korelację wyprowadza się w zwykły sposób, stosując standardowe odchylenia dla jednostek miary każdej zmiennej:
Teraz możemy zrobić PCA:
(Do tej pory jest to 10 wierszy kodu wykonywalnego netto. Tylko jeden dodatkowy będzie potrzebny, poniżej, po opisaniu siatki, na której należy przeprowadzić analizę.)
Zilustrujmy przykładowymi danymi losowymi porównywalnymi do tych opisanych w pytaniu: 30 zmiennych w 550 lokalizacjach.
Obliczenia ważone geograficznie są często wykonywane na wybranym zestawie lokalizacji, na przykład wzdłuż transektu lub w punktach regularnej siatki. Użyjmy grubej siatki, aby uzyskać pewne spojrzenie na wyniki; później - gdy będziemy pewni, że wszystko działa i otrzymujemy to, czego chcemy - możemy udoskonalić siatkę.
Jest pytanie, jakie informacje chcemy zachować z każdego PCA. Zazwyczaj PCA dla n zmiennych zwraca posortowaną listę n wartości własnych i - w różnych formach - odpowiednią listę n wektorów, każdy o długości n . To n * (n + 1) liczb do zmapowania! Biorąc kilka wskazówek z pytania, zmapujmy wartości własne. Są one wyodrębniane z danych wyjściowych
gw.pca
za pomocą$sdev
atrybutu, który jest listą wartości własnych według wartości malejącej.Na tym komputerze trwa to mniej niż 5 sekund. Zauważ, że w wywołaniu do użyto charakterystycznej odległości (lub „szerokości pasma”) 1
gw.pca
.Reszta to kwestia zmywania. Zmapujmy wyniki przy użyciu
raster
biblioteki. (Zamiast tego można zapisać wyniki w formacie siatki do przetwarzania końcowego za pomocą GIS).Są to pierwsze cztery z 30 map pokazujących cztery największe wartości własne. (Nie ekscytuj się zbytnio ich wielkościami, które przekraczają 1 w każdej lokalizacji. Przypomnij sobie, że dane te zostały wygenerowane całkowicie losowo, a zatem, jeśli mają w ogóle jakąkolwiek strukturę korelacji - co wydają się wskazywać na duże wartości własne na tych mapach - wynika to wyłącznie z przypadku i nie odzwierciedla niczego „rzeczywistego”, które wyjaśnia proces generowania danych).
Zmiana pasma jest pouczająca. Jeśli jest za mały, oprogramowanie będzie narzekać na osobliwości. (Nie wbudowałem żadnego sprawdzania błędów w tej implementacji od podstaw.) Ale zmniejszenie jej z 1 do 1/4 (i użycie tych samych danych jak poprzednio) daje interesujące wyniki:
Zwróć uwagę na tendencję, aby punkty wokół granicy dawały niezwykle duże główne wartości własne (pokazane w zielonych miejscach mapy po lewej stronie u góry), podczas gdy wszystkie inne wartości własne są obniżone w celu kompensacji (pokazane przez jasnoróżowy na pozostałych trzech mapach) . Zjawisko to oraz wiele innych subtelności PCA i ważenia geograficznego trzeba będzie zrozumieć, zanim będzie można mieć nadzieję na wiarygodną interpretację geograficznie ważonej wersji PCA. Są też inne 30 * 30 = 900 wektorów własnych (lub „ładunków”) do rozważenia….
źródło
nrow=n.cols
, ale tak to się ułożyło (w oparciu o sposób, w jakipoints
został stworzony) i nie chciałem wracać i zmieniać nazwy wszystkiego.Aktualizacja:
Obecnie dostępny jest specjalistyczny pakiet R na CRAN - GWmodel, który zawiera między innymi ważone geograficznie PCA. Od autora strony :
Więcej szczegółów w podglądzie kolejnego artykułu .
Wątpię, czy istnieje rozwiązanie „gotowe do użycia, podłącz swoje dane”. Ale mam wielką nadzieję, że okaże się, że się mylę, ponieważ chciałbym przetestować tę metodę z niektórymi moimi danymi.Niektóre opcje do rozważenia:
Marí-Dell'Olmo i współpracownicy wykorzystali analizę czynnikową Bayesa do obliczenia wskaźnika deprywacji dla małych obszarów w Hiszpanii:
W artykule podano specyfikację modelu WinBUGS wykonanego z R, który może pomóc Ci zacząć.
Pakiet adegenet R implementuje
spca
funkcję. Chociaż koncentruje się na danych genetycznych, równie dobrze może być tak blisko rozwiązania twojego problemu, jak to tylko możliwe. Albo bezpośrednio używając tego pakietu / funkcji, albo modyfikując jego kod. Problemdotyczy winiety, która powinna sprawić, że zaczniesz działać.Naukowcy Strategicznych Badań Klastra wydaje się być aktywnie pracuje nad tym tematem. Zwłaszcza Paul Harris i Chris Brunsdon (tutaj prezentacja natknąłem się). Niedawna publikacja Paula i Urskiej ( pełny tekst ) może być również użytecznym źródłem:
Dlaczego nie spróbujesz się z nimi skontaktować i zapytać o rozwiązania, z których dokładnie korzystają? Mogą chcieć podzielić się swoją pracą lub skierować cię w dobrym kierunku.
w gazetach wspomina się o systemie GeoDAS GIS . Może to być kolejny trop.
źródło
spca
winiecie.) To potężne i legalne zastosowanie dla GWPCA. (Jednak ta metoda mogłaby zostać znacznie ulepszona i być bardziej w duchu eksploracyjnej analizy danych przestrzennych, gdyby PCA zostały zastąpione bardziej solidną procedurą.)GWmodel
wygląda na pakiet, który warto zdobyć.