Uwaga: następujące komentarze zostały zredagowane po komentarzu Whubera
Możesz zastosować podejście Monte Carlo. Oto prosty przykład. Załóżmy, że chcesz ustalić, czy rozkład zdarzeń przestępczych A jest statystycznie podobny do rozkładu B, możesz porównać statystyki między zdarzeniami A i B z empirycznym rozkładem takiej miary dla losowo przypisanych „markerów”.
Na przykład, biorąc pod uwagę rozkład A (biały) i B (niebieski),
losowo przypisujesz etykiety A i B do WSZYSTKICH punktów w połączonym zestawie danych. To jest przykład pojedynczej symulacji:
Powtarzasz to wiele razy (powiedzmy 999 razy) i dla każdej symulacji obliczasz statystykę (w tym przykładzie statystyczną średnią najbliższego sąsiada) przy użyciu losowo oznaczonych punktów. Poniższe fragmenty kodu znajdują się w R (wymaga użycia biblioteki spatstat ).
nn.sim = vector()
P.r = P
for(i in 1:999){
marks(P.r) = sample(P$marks) # Reassign labels at random, point locations don't change
nn.sim[i] = mean(nncross(split(P.r)$A,split(P.r)$B)$dist)
}
Następnie możesz porównać wyniki graficznie (czerwona pionowa linia to oryginalna statystyka),
hist(nn.sim,breaks=30)
abline(v=mean(nncross(split(P)$A,split(P)$B)$dist),col="red")
lub numerycznie.
# Compute empirical cumulative distribution
nn.sim.ecdf = ecdf(nn.sim)
# See how the original stat compares to the simulated distribution
nn.sim.ecdf(mean(nncross(split(P)$A,split(P)$B)$dist))
Pamiętaj, że średnia statystyczna najbliższego sąsiada może nie być najlepszą miarą statystyczną twojego problemu. Statystyki takie jak funkcja K mogą być bardziej odkrywcze (patrz odpowiedź Whubera).
Powyższe można łatwo wdrożyć w ArcGIS za pomocą Modelbuilder. W pętli losowo przypisuje wartości atrybutów do każdego punktu, a następnie oblicza statystyki przestrzenne. Powinieneś być w stanie zliczyć wyniki w tabeli.