R raster Package I interpretação de Moran

8

Estou usando o pacote raster para calcular o I de Moran local. O exemplo fornece o intervalo de I de Moran entre - 1 e 2,47. Nos meus próprios dados, vi o intervalo de valores -3.070423 - 7.228558 Como o valor de Moran 'I pode ser maior que 1? A maior parte da literatura aponta que o valor global de I de Moran está entre -1 e 1. O que o valor local de I de Moran é maior que 1 significa implementado pelo pacote raster raster?

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

Dados

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

I local de Moran

Arihant
fonte
3
Seu comentário sobre "a maior parte da literatura" pode confundir o I de Moran global (que normalmente fica entre -1 e 1) e os valores locais , que podem ter uma faixa arbitrariamente ampla (dependendo de quantas células raster existirem).
whuber

Respostas:

8

A fórmula para o global de I de Moran é:

insira a descrição da imagem aqui

onde i é um índice de unidades de análise (basicamente, unidades de medida do seu mapa ou, no seu caso, pixels na varredura) ej é um índice dos vizinhos de cada unidade de mapa. A fórmula para o I local de Moran é extremamente semelhante, exceto que, como o local I é calculado separadamente para cada unidade de análise indexada por i , na parte superior da fração você não precisa somar i :

Os valores para e serão distribuídos em torno da média; portanto, intuitivamente, em toda a área de estudo, os aglomerados alto e baixo se compensarão e o I global de Moran será obrigado a ficar entre -1 e 1. Mas, para o I local de Moran, um cluster (alto, baixo, não importa) será composto de valores onde e se desviarão significativamente da média e, portanto, a parte superior da fração na segunda equação será grande em valor absoluto, muito maior que o desvio global do média capturada na parte inferior da fração por .

No seu exemplo construído, você pode ver isso claramente. As linhas superiores são valores baixos, as linhas do meio estão próximas da média e as linhas inferiores são valores altos. Portanto, como demonstrado em seu segundo gráfico, o I local de Moran é alto nas linhas superior e inferior, porque essas linhas contêm valores longe da média. O I de Moran local está próximo de 0 nas linhas do meio, porque esses valores estão todos próximos da média. Seu exemplo não mostra dispersão (o padrão clássico quadriculado), portanto o I de Moran local não é negativo em nenhum lugar.

Vamos calcular à mão para um dos pixels. O pixel número 15 tem oito vizinhos com os valores 4, 5, 6, 14, 16, 24, 25, 26. Portanto:

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

Aliás, isso não é igual ao mesmo valor para o pixel 15 produzido por MoranLocal:

x1[15]
# 1.512451

No começo, pensei ter feito algo errado, então criei uma grade vetorial 10x10 em formato vetorial que era um análogo exato da varredura 10x10 e a executei através da localmoranfunção no pacote spdep. Acontece que MoranLocalé calculado usando uma matriz de pesos padronizada por linha, enquanto a fórmula que eu incluí acima é baseada no uso de uma matriz de contiguidade de uma rainha binária simples. spdepdá a você controle sobre essas opções. Usando a matriz padronizada de linhas, são 1/8 (oito vizinhos em 1/8 cada soma de 1), portanto:

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

A fonte original do I local de Moran é Anselin (1995), "Indicadores Locais da Associação Espacial - LISA" (parece ser de acesso aberto).

Lee Hachadoorian
fonte