A fórmula para o global de I de Moran é:
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 localmoran
funçã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. spdep
dá 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).