R raster Package I interpretación de Moran

8

Estoy usando el paquete ráster para calcular el I de Moran local. El ejemplo da el rango de I de Moran entre - 1 a 2.47. Según mis propios datos, he visto el rango de valores -3.070423 - 7.228558 ¿Cómo puede el valor de Moran 'I ser mayor que 1? La mayor parte de la literatura señala que el valor de Moran's I global está entre -1 y 1. ¿Qué significa el valor local de Moran's I mayor que 1 según lo implementado por el paquete ráster R?

#data
r <- raster(nrows=10, ncols=10)
r[] <- 1:ncell(r)
plot(r)

Datos

#local Moran's I 
x1 <- MoranLocal(r)
plot(x1)

I de Moran local

Arihant
fuente
3
Su comentario sobre "la mayor parte de la literatura" puede estar confundiendo la I de Moran global (que generalmente estará entre -1 y 1) y los valores locales , que pueden tener un rango arbitrariamente amplio (dependiendo de cuántas celdas ráster haya).
whuber

Respuestas:

8

La fórmula para el Moran global I es:

ingrese la descripción de la imagen aquí

donde i es un índice de unidades de análisis (básicamente, unidades de medida de su mapa, o en su caso píxeles en el ráster) yj es un índice de los vecinos de cada unidad de mapa. La fórmula para el I local de Moran es extremadamente similar, excepto que dado que el I local de Moran se calcula por separado para cada unidad de análisis indexada por i , en la parte superior de la fracción no es necesario sumar sobre i :

Los valores para y se distribuirán alrededor de la media, por lo que, intuitivamente, en todo el área de estudio, los grupos altos y bajos se compensarán entre sí y Moran's I global estará limitado a estar entre -1 y 1. Pero para Moran's I local, un cluster (alto, bajo, no importa) estará compuesto por valores donde y se desviará significativamente de la media, y por lo tanto la parte superior de la fracción en la segunda ecuación será grande en valor absoluto, mucho mayor que la desviación global de la media capturada en la parte inferior de la fracción por .

En su ejemplo construido, puede ver esto claramente. Las filas superiores son valores bajos, las filas del medio están cerca de la media y las filas inferiores son valores altos. Por lo tanto, como se demostró en su segunda gráfica, la I de Moran local es alta en las filas superior e inferior, porque esas filas contienen valores lejos de la media. La I local de Moran está cerca de 0 en las filas del medio, porque todos esos valores están cerca de la media. Su ejemplo no muestra dispersión (el patrón clásico de tablero de ajedrez), por lo que el I de Moran local no es negativo en ninguna parte.

Calculemos a mano uno de los píxeles. El píxel número 15 tiene ocho vecinos con valores 4, 5, 6, 14, 16, 24, 25, 26. Entonces:

x = 1:100
Ii = length(x) * 
  (15 - mean(x)) * 
  sum(1 * (c(4, 5, 6, 14, 16, 24, 25, 26) - mean(x))) / 
  sum((x - mean(x))^2)
Ii
# [1] 12.09961

Por cierto, esto no es igual al mismo valor para el píxel 15 producido por MoranLocal:

x1[15]
# 1.512451

Al principio pensé que había hecho algo mal, así que creé una cuadrícula de 10x10 de vectores en formato vectorial que era un análogo exacto del ráster de 10x10 y lo ejecuté a través de la localmoranfunción en el paquete spdep. Resulta que MoranLocalse calcula usando una matriz de pesos estandarizada por filas, mientras que la fórmula que incluí anteriormente se basa en el uso de una matriz de contigüidad de reina binaria simple. spdeple da control sobre estas opciones. Usando la matriz estandarizada de filas, son 1/8 (ocho vecinos en 1/8 cada suma a 1), entonces:

x = 1:100
Ii = length(x) * 
  (15 - mean(x)) * 
  sum(0.125 * (c(4, 5, 6, 14, 16, 24, 25, 26) - mean(x))) / 
  sum((x - mean(x))^2)
Ii
# [1] 1.512451

La fuente original de Moran's I local es Anselin (1995), "Indicadores locales de asociación espacial - LISA" (parece ser de acceso abierto).

Lee Hachadoorian
fuente