Solidne alternatywy dla I Morana


19

I Morana , miara autokorelacji przestrzennej, nie jest szczególnie solidną statystyką (może być wrażliwa na wypaczone rozkłady atrybutów danych przestrzennych).

Jakie są bardziej niezawodne techniki pomiaru autokorelacji przestrzennej? Szczególnie interesują mnie rozwiązania, które są łatwo dostępne / możliwe do wdrożenia w języku skryptowym, takim jak R. Jeśli rozwiązania dotyczą wyjątkowych okoliczności / dystrybucji danych, proszę podać je w swojej odpowiedzi.


EDYCJA : Rozwijam pytanie o kilka przykładów (w odpowiedzi na komentarze / odpowiedzi na pierwotne pytanie)

Sugeruje się, że techniki permutacji (w których generowany jest rozkład próbkowania Morana I przy użyciu procedury Monte Carlo) oferują solidne rozwiązanie. Rozumiem, że taki test eliminuje potrzebę dokonywania jakichkolwiek założeń dotyczących rozkładu Morana (biorąc pod uwagę, że na statystykę testu może wpływać struktura przestrzenna zestawu danych), ale nie widzę, jak technika permutacji koryguje dla nietypowych rozproszone dane atrybutów . Podaję dwa przykłady: jeden, który pokazuje wpływ wypaczonych danych na lokalną statystykę Morana I, drugi na globalny I Morana - nawet w testach permutacyjnych.

Użyję Zhang i in. „S (2008) analizuje jak w pierwszym przykładzie. W swoim artykule pokazują wpływ rozkładu danych atrybutów na lokalny I Morana za pomocą testów permutacyjnych (9999 symulacji). Odtworzyłem wyniki autorów hotspotu dla stężeń ołowiu (Pb) (przy poziomie ufności 5%), używając oryginalnych danych (lewy panel) i logarytmicznej transformacji tych samych danych (prawy panel) w GeoDa. Przedstawiono również wykresy pierwotnych i transformowanych logarytmicznie stężeń Pb. Tutaj liczba znaczących punktów krytycznych prawie się podwaja, gdy dane są przekształcane; ten przykład pokazuje, że lokalna statystyka jest wrażliwa na rozkład danych atrybutów - nawet przy użyciu technik Monte Carlo!

wprowadź opis zdjęcia tutaj

Drugi przykład (dane symulowane) pokazuje wpływ wypaczonych danych na globalny I Morana , nawet przy zastosowaniu testów permutacyjnych. Przykład w R wygląda następująco:

library(spdep)
library(maptools)
NC <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1],ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
rn <- sapply(slot(NC, "polygons"), function(x) slot(x, "ID"))
NB <- read.gal(system.file("etc/weights/ncCR85.gal", package="spdep")[1], region.id=rn)
n  <- length(NB)
set.seed(4956)
x.norm <- rnorm(n) 
rho    <- 0.3          # autoregressive parameter
W      <- nb2listw(NB) # Generate spatial weights
# Generate autocorrelated datasets (one normally distributed the other skewed)
x.norm.auto <- invIrW(W, rho) %*% x.norm # Generate autocorrelated values
x.skew.auto <- exp(x.norm.auto) # Transform orginal data to create a 'skewed' version
# Run permutation tests
MCI.norm <- moran.mc(x.norm.auto, listw=W, nsim=9999)
MCI.skew <- moran.mc(x.skew.auto, listw=W, nsim=9999)
# Display p-values
MCI.norm$p.value;MCI.skew$p.value

Zwróć uwagę na różnicę w wartościach P. Przekrzywione dane wskazują, że nie ma grupowania na poziomie istotności 5% (p = 0,167), podczas gdy normalnie rozłożone dane wskazują, że jest (p = 0,013).


Chaosheng Zhang, Lin Luo, Weilin Xu, Valerie Ledwith, Wykorzystanie lokalnych I Morana I i GIS do identyfikacji hotspotów zanieczyszczenia Pb w glebach miejskich w Galway, Irlandia, Science of The Total Environment, Tom 398, numery 1–3, 15 lipca 2008 , Strony 212–221


1
Czy masz odniesienie do wrażliwości na przekrzywione rozkłady)? Czy interesują Cię Globalne testy nielosowego rozmieszczenia przestrzennego lub identyfikacja lokalnych nieprawidłowych cech? Jaki jest rozkład wyniku odsetkowego (zmienna zliczania dodatniego?)
Andy W

1
AndyW: 1) Jednym z odniesień do czułości testu jest „Analiza przestrzenna Fortina i Dale'a, Przewodnik dla ekologów” (s. 125), 2) Interesują mnie rozwiązania zarówno globalnych, jak i lokalnych testów, 3) Nie mam konkretnego z myślą o dystrybucji danych.
MannyG

1
Andy, ponieważ I Morana opiera się na ważonej wariancji i szacunkach kowariancji, będzie miał taką samą wrażliwość na wartości odstające jak te szacunki, co (jak dobrze wiadomo) jest znaczne. Ten wgląd wskazuje również drogę do wielu możliwych rozwiązań problemu Manny'ego: zastąp swoje ulubione, solidne wersje oszacowań dyspersji i skojarzeń, aby utworzyć solidną korelację ważoną, a ty nie będziesz już pracować.
whuber

1
Wygląda na to, że łączysz tutaj kilka pojęć, @Andy. Po pierwsze, Manny chce zmierzyć autokorelację; niekoniecznie przeprowadza test hipotez. Po drugie, pytanie z testowaniem hipotez najlepiej sformułować raczej pod względem mocy niż solidności. Ale (trzecie) pojęcia mają związek: solidna statystyka testowa będzie dążyć do utrzymania swojej mocy w szerokim zakresie naruszeń założeń dystrybucyjnych (takich jak zanieczyszczenie wartościami odstającymi), podczas gdy niestabilna statystyka testowa może stracić większość lub całość jego moc w tych sytuacjach.
whuber

1
@ FC84, w ubiegłym roku ponownie zapoznałem się z tym problemem i napisałem proponowane rozwiązanie. Ale to wymaga weryfikacji. W pewnym momencie zamierzam zaoferować (znacznie) zmniejszoną wersję tego zapisu jako odpowiedź. Zapraszam do zebrania tego, co możesz z tego, co mam. Ale używaj go ostrożnie!
MannyG,

Odpowiedzi:


2

(W tym momencie jest to po prostu zbyt niewygodne, aby zamienić się w komentarz)

Odnosi się to do testów lokalnych i globalnych (nie jest to konkretna, niezależna od próby miara autokorelacji). Rozumiem, że konkretna miara Morana I jest tendencyjnym oszacowaniem korelacji (interpretując ją w tych samych terminach co współczynnik korelacji Pearsona), wciąż nie widzę, jak test hipotezy permutacyjnej jest wrażliwy na pierwotny rozkład zmiennej ( pod względem błędów typu 1 lub 2).

Nieznacznie dostosowuję kod podany w komentarzu ( colqueenbrakuje wag przestrzennych );

library(spdep)
data(columbus)
attach(columbus)

colqueen <- nb2listw(col.gal.nb, style="W") #weights object was missing in original comment
MC1 <- moran.mc(PLUMB,colqueen,999)
MC2 <- moran.mc(log(PLUMB),colqueen,999)
par(mfrow = c(2,2))
hist(PLUMB, main = "Histogram PLUMB")
hist(log(PLUMB), main = "HISTOGRAM log(PLUMB)")
plot(MC1, main = "999 perm. PLUMB")
plot(MC2, main = "999 perm. log(PLUMB)")

Kiedy ktoś przeprowadza testy permutacji (w tym przypadku lubię myśleć o nim jako o zbieżnej przestrzeni) test hipotezy globalnej autokorelacji przestrzennej nie powinien mieć wpływu na rozkład zmiennej, ponieważ symulowana dystrybucja testu w zasadzie się zmieni z rozkładem pierwotnych zmiennych. Prawdopodobnie można by wymyślić bardziej interesujące symulacje, aby to wykazać, ale jak widać w tym przykładzie, obserwowane statystyki testowe znacznie wykraczają poza generowany rozkład zarówno dla oryginału, jak PLUMBi dla zarejestrowanego PLUMB(który jest znacznie bliższy normalnemu rozkładowi) . Chociaż widać, że logowany rozkład testu PLUMB pod wartością zerową przesuwa się bliżej symetrii około 0.

wprowadź opis zdjęcia tutaj

W każdym razie zamierzałem to zasugerować jako alternatywę, przekształcając rozkład w przybliżeniu normalny. Chciałem również zasugerować wyszukiwanie zasobów na temat filtrowania przestrzennego (i podobnie lokalnych i globalnych statystyk Getis-Ord), chociaż nie jestem pewien, czy to pomoże również w skali wolnej od skali (ale być może może być owocne dla testów hipotez) . Wrócę później z potencjalnie większą ilością interesującej literatury.


Dzięki Andy za szczegółowe konto. Jeśli dobrze cię rozumiem, sugerujesz, że w teście permutacji statystyka testu (I Morana) nie zmieni się w stosunku do wynikowego rozkładu MC, ale to nie zgadza się z moimi obserwacjami. Na przykład, jeśli użyjemy zmiennej HOVAL w tym samym zestawie danych kolumba, wynikowa wartość p MC testu Morana I wynosi od 0,029 (z oryginalnymi danymi skośnymi) do 0,004 (z danymi przekształconymi logarytmicznie), co wskazuje na poszerzenie luki między MC rozkład i statystyki testowe - nie są nieistotne, jeśli ustaliliśmy próg na 1%.
MannyG

1
Tak, poprawnie interpretujesz mój punkt widzenia. Z pewnością można znaleźć dowolny przebieg, w którym wyniki będą się różnić. Powstaje pytanie, czy poziomy błędu są takie same w różnych okolicznościach.
Andy W
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.