Nota: il seguente è stato modificato in seguito al commento di Whuber
Potresti voler adottare un approccio Monte Carlo. Ecco un semplice esempio. Supponiamo che tu voglia determinare se la distribuzione degli eventi criminali A è statisticamente simile a quella di B, potresti confrontare la statistica tra gli eventi A e B con una distribuzione empirica di tale misura per "marcatori" riassegnati casualmente.
Ad esempio, data una distribuzione di A (bianco) e B (blu),
riassegni casualmente le etichette A e B a TUTTI i punti nel set di dati combinato. Questo è un esempio di una singola simulazione:
Lo ripeti molte volte (diciamo 999 volte) e, per ogni simulazione, calcoli una statistica (statistica media vicina più vicina in questo esempio) usando i punti etichettati casualmente. Gli snippet di codice che seguono sono in R (richiede l'uso della libreria 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)
}
È quindi possibile confrontare graficamente i risultati (la linea verticale rossa è la statistica originale),
hist(nn.sim,breaks=30)
abline(v=mean(nncross(split(P)$A,split(P)$B)$dist),col="red")
o numericamente.
# 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))
Si noti che la statistica del vicino più vicino medio potrebbe non essere la migliore misura statistica per il problema. Statistiche come la funzione K potrebbero essere più rivelatrici (vedi la risposta di whuber).
Quanto sopra potrebbe essere facilmente implementato all'interno di ArcGIS usando Modelbuilder. In un ciclo, riassegnando casualmente i valori degli attributi a ciascun punto, quindi calcolare una statistica spaziale. Dovresti essere in grado di calcolare i risultati in una tabella.