Autocorrélation spatiale (Global Moran's I) (Statistiques spatiales)

Résumé

Mesure l'auto-corrélation spatiale selon l'emplacement des entités et leurs valeurs attributaires à l'aide de la statistique de l'indice global de Moran.

Pour en savoir plus sur le fonctionnement de l'outil Autocorrélation spatiale (Global Moran's I)

Illustration

Illustration de l'indice global de Moran

Utilisation

  • L'outil d'auto-corrélation spatiale renvoie cinq valeurs : l'indice de Moran, l'indice attendu, la variance, le score z et la valeur p. Ces valeurs sont écrites sous forme de messages au bas de la fenêtre Géotraitement au cours de l'exécution de l'outil et transmises sous la forme de valeurs en sortie dérivées pour une utilisation éventuelle dans des modèles ou des scripts. Pour accéder aux messages, passez le curseur de la souris sur la barre d’avancement et cliquez sur le bouton de menu contextuel ou développez la section de détails des messages dans la fenêtre Geoprocessing (Géotraitement). Vous pouvez également consulter les messages, ainsi que leur détail, de l’exécution précédente d’un outil via l’historique de géotraitement. Vous pouvez également créer un fichier de rapport HTML présentant un récapitulatif graphique des résultats avec cet outil. Le chemin d'accès au rapport est inclus avec les messages qui récapitulent les paramètres d'exécution de l'outil. Cliquez sur ce chemin d’accès pour ouvrir le fichier de rapport.

  • Étant donné un ensemble d'entités et un attribut associé, cet outil évalue si le modèle exprimé est agrégé, dispersé, ou aléatoire. Lorsque le score z ou la valeur p représente la signification statistique, un indice de Moran I positif indique une tendance à l’agrégation, alors qu’un indice de Moran négatif indique une tendance à la dispersion.

  • Cet outil calcule un score z et une valeur de p qui indiquent si les hypothèses nulles peuvent être rejetées. Dans ce cas, l’hypothèse nulle suppose que les valeurs des entités ne sont pas corrélées spatialement.
  • Le score z et la valeur p sont des mesures de signification statistique qui indiquent si l'on peut rejeter l'hypothèse nulle. Pour cet outil, l'hypothèse nulle suppose que les valeurs associées aux entités sont distribuées aléatoirement.
  • Le Champ en entrée doit contenir différentes valeurs. Les formules mathématiques de cette statistique requièrent que la variable analysée fluctue quelque peu ; elle ne peut pas aboutir si toutes les valeurs en entrée sont égales à 1, par exemple. Si vous souhaitez utiliser cet outil pour analyser le modèle spatial de données d'incident, vous devrez peut-être agréger les données d'incident. Vous pouvez également utiliser l'outil Analyse de points chauds optimisée pour analyser le modèle spatial de données d'incident.

    Remarque :

    Les données d'incidents sont des points représentant des événements (crime, accidents de la circulation) ou des objets (arbres, points de vente) où l'accent est mis sur la présence ou l'absence, plutôt que sur un attribut mesuré associé à chaque point.

  • Lorsque la Classe d'entités en entrée n'est pas projetée (c'est-à-dire, lorsque les coordonnées sont exprimées en degrés, minutes et secondes) ou lorsque le système de coordonnées en sortie est un Système de coordonnées géographiques, les distances sont calculées à l'aide des mesures à la corde. Les mesures de distance à la corde permettent de calculer rapidement et de fournir une bonne estimation de distance géodésiques réelles, du moins pour les points situés à environ trente degrés les uns des autres. Les distances de corde reposent sur un sphéroïde aplati. Si l'on prend deux points sur la surface de la Terre, la distance de corde qui les sépare est la longueur d'une ligne qui traverse la Terre en trois dimensions pour relier ces deux points. Les distances à la corde sont exprimées en mètres.

    Attention :

    Veillez à projeter les données si votre zone d'étude s'étend au-delà de 30 degrés. Les distances à la corde ne constituent pas une bonne estimation des distance géodésiques au-delà de 30 degrés.

  • Lorsque vous utilisez des distances à la corde dans l'analyse, le paramètre Canal distance ou distance seuil, s'il est spécifié, doit être exprimé en mètres.

  • Pour les entités linéaires et surfaciques, les centroïdes d'entité sont utilisés dans les calculs de distance. Pour les multi-points, les polylignes ou les polygones comprenant plusieurs parties, le centroïde est calculé à l'aide du centre moyen pondéré de toutes les parties d'entité. La pondération pour les entités ponctuelles est de 1 ; pour les entités linéaires, elle correspond à la longueur et pour les entités surfaciques, à la superficie.

  • La valeur du paramètre Conceptualization of Spatial Relationships (Conceptualisation de relations spatiales) doit refléter les relations inhérentes entre les entités que vous analysez. Plus la modélisation de l'interaction des entités dans l'espace est réaliste, plus les résultats sont précis. Des recommandations sont présentées dans la section Selecting a conceptualization of spatial relationships: Best practices (Sélection d’une conceptualisation de relations spatiales : meilleures pratiques). Voici quelques conseils supplémentaires :

    • Canal de distance constante

      La valeur du paramètre Distance Band or Threshold Distance (Canal distance ou distance seuil) permet de s’assurer que chaque entité possède au moins un voisin. Bien qu'importante, il arrive souvent que cette valeur par défaut ne soit pas la distance la plus appropriée à l'analyse. Reportez-vous à la rubrique Canal distance (sphère d’influence) pour connaître les stratégies permettant de sélectionner une échelle appropriée (canal de distance) pour votre analyse.

    • Inverse de la distance ou Inverse de la distance au carré

      Si la valeur zéro est entrée pour le paramètre Distance Band or Threshold Distance (Canal distance ou distance seuil), toutes les entités sont considérées voisines de toutes les autres entités. Si aucune valeur n’est spécifiée pour ce paramètre, la distance par défaut est appliquée.

      Les pondérations pour les distances inférieures à 1 deviennent instables lorsqu'elles sont inversées. Par conséquent, la pondération d'entités séparées par moins d'une unité de distance se voit affecter la valeur 1.

      Pour les options d’inversion de la distance (Inverse distance (Inverse de la distance), Inverse distance squared (Inverse de la distance au carré) et Zone of indifference (Zone d’indifférence)), toute paire de points coïncidents se voit affecter une pondération de 1 pour éviter une division par zéro. Ainsi, aucune entité n'est exclue de l'analyse.

    • FIXED_DISTANCE_BAND

      La valeur du paramètre Distance Band or Threshold Distance (Canal distance ou distance seuil) permet de s’assurer que chaque entité possède au moins un voisin. Bien qu'importante, il arrive souvent que cette valeur par défaut ne soit pas la distance la plus appropriée à l'analyse. Reportez-vous à la rubrique Canal distance ou distance seuil pour connaître les stratégies permettant de sélectionner une échelle appropriée (canal de distance) pour votre analyse.

    • INVERSE_DISTANCE ou INVERSE_DISTANCE_SQUARED

      Si la valeur zéro est entrée pour le paramètre Distance Band or Threshold Distance (Canal distance ou distance seuil), toutes les entités sont considérées voisines de toutes les autres entités. Si aucune valeur n’est spécifiée pour ce paramètre, la distance par défaut est appliquée.

      Les pondérations pour les distances inférieures à 1 deviennent instables lorsqu'elles sont inversées. Par conséquent, la pondération d'entités séparées par moins d'une unité de distance se voit affecter la valeur 1.

      Pour les options d’inversion de la distance (INVERSE_DISTANCE, INVERSE_DISTANCE_SQUARED et ZONE_OF_INDIFFERENCE), toute paire de points coïncidents se voit affecter une pondération de 1 pour éviter une division par zéro. Ainsi, aucune entité n'est exclue de l'analyse.

  • Dans Python, la sortie dérivée de cet outil contient la valeur d’indice de Moran I, le score z, la valeur p et un fichier de rapport HTML. Par exemple, si vous attribuez Result l’objet de l’outil à une variable nommée MoranResult, MoranResult[0] stocke la valeur d’indice de Moran I, MoranResult[1] stocke le score z, MoranResult[2] stocke la valeur p et MoranResult[3] stocke le chemin d’accès au fichier de rapport HTML. Si vous ne générez pas de fichier de rapport HTML à l’aide du paramètre Generate Report (Générer le rapport), la dernière sortie dérivée sera une chaîne vide.

  • Des options supplémentaires pour le paramètre Conceptualisation de relations spatiales (y compris les relations en trois dimensions et spatio-temporelles) sont proposées par l'outil Générer la matrice de pondérations spatiales. Pour tirer parti de ces options, créez un fichier de matrice de pondérations spatiales avant l'analyse ; sélectionnez Extraire les pondérations spatiales à partir du fichier comme valeur du paramètre Conceptualisation de relations spatiales ; enfin, pour le paramètre Fichier de matrice de pondérations, spécifiez le chemin d'accès au fichier de matrice de pondérations spatiales que vous avez créé.

  • Les couches peuvent permettre de définir la classe d'entités en entrée. Lorsque vous utilisez une couche avec une sélection, seules les entités sélectionnées sont comprises dans l'analyse.

  • Si vous utilisez un fichier de matrice de pondérations portant une extension .swm, cet outil attend un fichier de matrice de pondérations spatiales créé à l'aide de l'outil Générer la matrice de pondérations spatiales. Dans le cas contraire, cet outil attend un fichier de matrice de pondérations spatiales au format ASCII. Dans certains cas, le comportement diffère selon le type de fichier de matrice de pondérations spatiales utilisé :

    • Fichiers ASCII de matrice de pondérations spatiales :
      • Les pondérations sont utilisées en l'état. Les relations d'entité à entité manquantes sont considérées comme nulles.
      • Si les pondérations sont standardisées par lignes, les résultats des analyses réalisées sur les ensembles de sélection risquent d'être incorrects. Si vous devez effectuer votre analyse sur un ensemble de sélection, convertissez le fichier ASCII de pondérations spatiales en fichier SWM. Pour ce faire, chargez les données ASCII dans une table, puis utilisez l'option Convertir la table de l'outil Générer la matrice de pondérations spatiales.
    • Fichier SWM de matrice de pondérations spatiales :
      • Si les pondérations sont standardisées par lignes, elles seront standardisées à nouveau pour les ensembles de sélection. Dans le cas contraire, les pondérations sont utilisées en l'état.

  • L'exécution de l'analyse avec un fichier de matrice de pondérations spatiales au format ASCII exige beaucoup de mémoire. Pour les analyses portant sur plus de 5 000 entités, envisagez de convertir votre fichier ASCII de matrice de pondérations spatiales en fichier au format SWM. En premier lieu, placez vos pondérations ASCII dans une table avec mise en forme (à l'aide d'Excel, par exemple). Exécutez ensuite l'outil Générer la matrice de pondérations spatiales en utilisant l'option Convertir la table comme valeur du paramètre Conceptualisation de relations spatiales. La sortie sera un fichier SWM de matrice de pondérations spatiales.

  • Remarque :

    Vous risquez de manquer de mémoire lors de l'exécution de cet outil. Cela survient généralement lorsque vous sélectionnez une Conceptualisation de relations spatiales et une valeur du paramètre Canal distance ou distance seuil qui résulte en une multitude de voisins par entité. Il vous arrivera rarement de vouloir définir des relations spatiales de sorte que chaque entité ait des milliers de voisins. Vous souhaitez que toutes les entités aient au moins un voisin et que presque toutes les entités aient au moins huit voisins.

  • Pour les entités surfaciques, vous sélectionnerez dans la plupart des cas Ligne pour le paramètre Standardisation. La standardisation par lignes limite les représentations incorrectes lorsque le nombre de voisins que chaque entité possède est une fonction du schéma d'agrégation ou du processus d'échantillonnage, au lieu de refléter la répartition spatiale réelle de la variable que vous analysez.

  • La rubrique d'aide Modélisation de relations spatiales fournit des informations complémentaires sur les paramètres de cet outil.

  • Attention :

    Lorsque vous utilisez des fichiers de formes, n'oubliez pas qu'ils ne peuvent pas stocker de valeurs Null. Il se peut que des outils ou autres procédures qui créent des fichiers de formes à partir d'entrées autres que des fichiers de formes stockent ou interprètent des valeurs Null comme étant égales à zéro. Dans certains cas, les valeurs Null sont stockées sous forme de valeurs négatives très élevées dans les fichiers de formes. Cela peut aboutir à des résultats inattendus. Reportez-vous à la rubrique Remarques concernant le géotraitement pour la sortie de fichiers de formes pour plus d'informations.

Syntaxe

SpatialAutocorrelation(Input_Feature_Class, Input_Field, {Generate_Report}, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File}, {number_of_neighbors})
ParamètreExplicationType de données
Input_Feature_Class

Classe d'entités pour laquelle l'autocorrélation spatiale est calculée.

Feature Layer
Input_Field

Champ numérique utilisé pour évaluer l'autocorrélation spatiale.

Field
Generate_Report
(Facultatif)
  • NO_REPORTAucun récapitulatif graphique n'est créé. Il s'agit de l'option par défaut.
  • GENERATE_REPORTUn récapitulatif graphique est créé au format HTML.
Boolean
Conceptualization_of_Spatial_Relationships

Indique comment les relations spatiales sont définies parmi les entités.

  • INVERSE_DISTANCELes entités voisines proches influencent plus fortement les calculs d'une entité cible que les entités qui sont éloignées.
  • INVERSE_DISTANCE_SQUAREDIdentique à INVERSE_DISTANCE, mais la pente est plus prononcée et l’influence chute donc plus rapidement. De plus, seuls les voisins les plus proches d’une entité cible exercent une influence notable sur les calculs de cette entité.
  • FIXED_DISTANCE_BANDChaque entité est analysée dans le contexte des entités voisines. Les entités voisines situées en deçà de la distance critique spécifiée (Distance_Band_or_Threshold) reçoivent une pondération de 1 et exercent une influence sur les calculs de l'entité cible. Les entités voisines situées au-delà de la distance critique reçoivent une pondération de zéro et n'exercent aucune influence sur les calculs de l'entité cible.
  • ZONE_OF_INDIFFERENCELes entités situées en deçà de la distance critique spécifiée (Distance_Band_or_Threshold) d'une entité cible reçoivent une pondération de 1 et exercent une influence sur les calculs de cette entité. Une fois la distance critique dépassée, les pondérations (et l'influence exercée par une entité voisine sur les calculs d'une entité cible) diminuent avec la distance.
  • K_NEAREST_NEIGHBORSLes k entités les plus proches sont incluses dans l’analyse. Le nombre de voisins (k) à inclure dans l’analyse est défini par le paramètre number_of_neighbors.
  • CONTIGUITY_EDGES_ONLYSeules les entités surfaciques voisines qui partagent une limite ou se chevauchent influencent les calculs de l'entité surfacique cible.
  • CONTIGUITY_EDGES_CORNERSLes entités surfaciques voisines qui partagent une limite, un nœud, ou qui se chevauchent influencent les calculs de l'entité surfacique cible.
  • GET_SPATIAL_WEIGHTS_FROM_FILELes relations spatiales sont définies par un fichier de pondérations spatiales spécifié. Le chemin d'accès au fichier de pondérations spatiales est donné par le paramètre Weights_Matrix_File.
String
Distance_Method

Spécifie le mode de calcul des distances de chaque entité avec les entités voisines.

  • EUCLIDEAN_DISTANCELa distance en ligne droite entre deux points (distance à vol d’oiseau) sera utilisée.
  • MANHATTAN_DISTANCELa distance entre deux points mesurée le long d’axes à angles droits (îlot urbain) sera utilisée. Le calcul s’effectue en faisant la somme de la différence (absolue) entre les coordonnées x et y
String
Standardization

Indique si la standardisation des pondérations spatiales sera appliquée. La standardisation par lignes est recommandée chaque fois que la répartition de vos entités est potentiellement influencée par la conception de l'échantillonnage ou un plan d'agrégation imposé.

  • NONEAucune standardisation de pondérations spatiales n'est appliquée.
  • ROWLes pondérations spatiales sont standardisées ; chaque pondération est divisée par la somme des lignes (la somme des pondérations de toutes les entités voisines). Il s’agit de l’option par défaut.
String
Distance_Band_or_Threshold_Distance
(Facultatif)

Distance limite pour les options d’inverse de la distance et de distance fixe. Les entités se trouvant à l'extérieur de la limite spécifiée pour une entité cible ne sont pas prises en compte dans les analyses pour cette entité. Cependant, pour ZONE_OF_INDIFFERENCE, l'influence des entités situées hors de la distance donnée est réduite avec la distance, tandis que les entités se trouvant dans le seuil de distance sont considérées à part égale. La valeur de distance entrée doit être identique à celle du système de coordonnées en sortie.

Pour les conceptualisations d’inverse de la distance des relations spatiales, une valeur de 0 indique qu’aucune distance de seuil n’est appliquée ; lorsque ce paramètre n’est pas défini, une valeur de seuil par défaut est calculée et appliquée. Cette valeur par défaut est la distance euclidienne qui permet de s’assurer que chaque entité possède au moins un voisin.

Ce paramètre n’a aucun effet lorsque la conceptualisation spatiale de contiguïté polygonale (CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS) ou GET_SPATIAL_WEIGHTS_FROM_FILE est sélectionnée.

Double
Weights_Matrix_File
(Facultatif)

Chemin d'accès à un fichier contenant des pondérations qui définissent les relations spatiales, et potentiellement les relations temporelles, entre des entités.

File
number_of_neighbors
(Facultatif)

Nombre entier spécifiant le nombre de voisins à inclure dans l’analyse.

Long

Sortie dérivée

NomExplicationType de données
Index

Valeur de l’index Moran.

Double
ZScore

Score z.

Double
PValue

Valeur p.

Double
Report_File

Fichier HTML avec un résumé graphique des résultats.

Fichier

Exemple de code

Exemple 1 d'utilisation de l'outil SpatialAutocorrelation (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil SpatialAutocorrelation.

import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual","NO_REPORT", 
                                   "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN DISTANCE", 
                                   "NONE", "#","euclidean6Neighs.swm")
Exemple 2 d’utilisation de l’outil SpatialAutocorrelation (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil SpatialAutocorrelation.

# Analyze the growth of regional per capita incomes in US
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression
# Import system modules
import arcpy
# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\Data"
try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace
    # Growth as a function of {log of starting income, dummy for South
    # counties, interaction term for South counties, population density}
    # Process: Ordinary Least Squares... 
    ols = arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")
    # Create Spatial Weights Matrix (Can be based off input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("USCounties.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 
                        
    # Calculate Moran's I Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "euclidean6Neighs.swm")
except:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

Environnements

Système de coordonnées en sortie

La géométrie de l'entité est projetée au système de coordonnées en sortie avant l'analyse. Tous les calculs mathématiques sont basés sur la référence spatiale du système de coordonnées en sortie. Lorsque le système de coordonnées en sortie est exprimé en degrés, minutes et secondes, les distances géodésiques sont estimées à l'aide de distances à la corde.

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes