J'utilise un package raster pour calculer le Moran's I local. L'exemple donne la plage de I de Moran entre - 1 et 2,47. Sur mes propres données, j'ai vu la plage de valeurs -3.070423 - 7.228558 Comment la valeur de Moran 'I peut-elle être supérieure à 1? La plupart des publications soulignent que la valeur du Moran global I est comprise entre -1 et 1. Que signifie la valeur locale du Moran I supérieure à 1, telle qu'implémentée par le package R raster?
#data
r <- raster(nrows=10, ncols=10)
r[] <- 1:ncell(r)
plot(r)
#local Moran's I
x1 <- MoranLocal(r)
plot(x1)
Réponses:
La formule du I global de Moran est la suivante:
où i est un index des unités d'analyse (fondamentalement, les unités de mesure de votre carte, ou dans votre cas pixels dans le raster) et j est un index des voisins de chaque unité de carte. La formule du Moran local I est extrêmement similaire, sauf que puisque le Moran local I est calculé séparément pour chaque unité d'analyse indexée par i , dans la partie supérieure de la fraction, vous n'avez pas besoin de additionner i :
Les valeurs de et seront réparties autour de la moyenne, donc, intuitivement, sur l'ensemble de la zone d'étude, les grappes hautes et basses se compenseront et le Moran's I global sera contraint de se situer entre -1 et 1. Mais pour le Moran's I local, un cluster (élevé, faible, peu importe) sera composé de valeurs où et s'écartent considérablement de la moyenne, et donc la partie supérieure de la fraction dans la deuxième équation sera grande en valeur absolue, beaucoup plus grande que l' écart global par rapport à la moyenne capturée dans la partie inférieure de la fraction par .
Dans votre exemple construit, vous pouvez le voir clairement. Les lignes du haut sont des valeurs faibles, les lignes du milieu sont proches de la moyenne et les lignes du bas sont des valeurs élevées. Par conséquent, comme démontré dans votre deuxième graphique, le I de Moran local est élevé dans les lignes du haut et du bas, car ces lignes contiennent des valeurs loin de la moyenne. Le I local de Moran est proche de 0 dans les rangées du milieu, car ces valeurs sont toutes proches de la moyenne. Votre exemple ne montre pas de dispersion (le motif en damier classique), donc le Moran local I n'est négatif nulle part.
Calculons à la main pour l'un des pixels. Le pixel numéro 15 a huit voisins avec les valeurs 4, 5, 6, 14, 16, 24, 25, 26. Donc:
Soit dit en passant, cela n'égale pas la même valeur pour le pixel 15 produit par
MoranLocal
:Au début, je pensais avoir fait quelque chose de mal, alors j'ai créé une grille vectorielle 10x10 au format vectoriel qui était exactement l'analogue du raster 10x10 et l'ai exécutée à travers la
localmoran
fonction dans le packagespdep
. Il s'avère que leMoranLocal
calcul s'effectue à l' aide d'une matrice de poids standardisée sur les lignes, alors que la formule I incluse ci-dessus est basée sur l'utilisation d'une matrice de contiguïté simple de la reine binaire.spdep
vous donne le contrôle de ces options. En utilisant la matrice standardisée en ligne, les sont 1/8 (huit voisins à 1/8 chaque somme à 1), donc:La source originale du Moran's I local est Anselin (1995), "Local Indicators of Spatial Association — LISA" (semble être en libre accès).
la source