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!
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