Analyse de grappes et de valeurs aberrantes (Anselin Local Morans I) (Statistiques spatiales)

Résumé

A partir d'un ensemble d'entités pondérées, identifie des points chauds, des points froids et des points aberrants spatiaux statistiquement significatifs à l'aide de l'outil statistique Anselin Local Morans I.

Pour en savoir plus sur le fonctionnement de l'analyse de grappes et de valeurs aberrantes (Anselin Local Morans I)

Illustration

Illustration de l'outil Analyse de grappes et de valeurs aberrantes

Utilisation

  • Cet outil crée une nouvelle classe d’entités Output Feature Class (Classe d’entités en sortie) avec les attributs suivants pour chaque entité de Input Feature Class (Classe d’entités en entrée) : indice local Moran’s I, score z, pseudo valeur p et type d’agrégat/point aberrant (COType).

  • Les scores z et les valeurs p sont des mesures de signification statistique qui indiquent si l'on peut ou non rejeter l'hypothèse nulle, entité par entité. Ces mesures indiquent en effet si la similarité apparente (agrégation spatiale de valeurs élevées ou faibles) ou la dissemblance apparente (point spatial aberrant) est plus prononcée qu'elle ne devrait l'être dans le cadre d'une répartition aléatoire. Les valeurs p et les scores z de la classe d'entités en sortie ne reflètent aucune correction FDR (False Discovery Rate).

  • Un score z élevé positif pour une entité indique que les entités voisines ont des valeurs similaires (des valeurs élevées ou faibles). Le champ COType de la classe d’entités en sortie (Output Feature Class) sera HH pour un agrégat statistiquement significatif de valeurs élevées et LL pour un agrégat statistiquement significatif de valeurs faibles.

  • Un faible score z négatif (par exemple, inférieur à 3,96) pour une entité indique un point aberrant de données spatiales statistiquement significatif. Le champ COType de la classe d’entités en sortie (Output Feature Class) indique si l’entité a une valeur élevée et est entourée d’entités de valeurs faibles (HL) ou si l’entité a une valeur faible et est entourée d’entités de valeurs élevées (LH).

  • Le champ COType indique toujours les agrégats et les points aberrants statistiquement significatifs pour un niveau de confiance de 95 %. Seules les entités statistiquement significatives ont des valeurs dans le champ COType. Lorsque vous sélectionnez le paramètre facultatif Appliquer la correction FDR (False Discovery Rate), la signification statistique repose sur un niveau de confiance corrigé de 95 pour cent.

  • Le rendu par défaut de Output Feature Class (Classe d’entités en sortie) repose sur les valeurs du champ COType.

  • La sortie de cet outil inclut également un histogramme représentant la valeur du champ en entrée (Input Field) et un nuage de points de Moran. Ces diagrammes sont accessibles à partir de la fenêtre Contents (Contenu), sous la classe d’entités en sortie (Output Feature Class).

  • Les permutations permettent de déterminer la probabilité de trouver la distribution spatiale réelle des valeurs que vous analysez. Pour chaque permutation, les valeurs voisines autour de chaque entité sont réorganisées de manière aléatoire et la valeur de l'index Local Moran's I est calculée. Le résultat est une distribution de référence des valeurs qui est ensuite comparée à la valeur Moran's I réelle observée pour déterminer la probabilité que la valeur observée se trouve dans la distribution aléatoire. La valeur par défaut est de 499 permutations. Cependant, vous pouvez améliorer la distribution aléatoire en augmentant le nombre de permutations, ce qui augmente la précision de la pseudo valeur de p.

  • Si le paramètre Nombre de permutations est défini sur 0, le résultat est une valeur de p traditionnelle et non une pseudo valeur de p. Le score z repose sur le calcul de l'hypothèse nulle aléatoire. Pour plus d'informations sur les scores z et les valeurs de p, reportez-vous à la rubrique Qu'est-ce qu'un score z ? Qu'est-ce qu'une valeur p ?

  • 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 de corde sont utilisées, car elles sont rapides à calculer et produisent des évaluations fiables des distances géodésiques réelles, du moins pour les points se trouvant à environ 30 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.

  • 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.

  • Le choix du paramètre 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 Sélection d'une conceptualisation de relations spatiales : meilleures pratiques. Voici quelques conseils supplémentaires :

    • Canal de distance constante

      Utilisez une valeur Distance Band or Threshold Distance (Canal distance ou distance seuil) pour faire en sorte 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 Sélection d'une valeur de canal de distance constante pour connaître les stratégies permettant de définir une valeur de canal de distance appropriée pour votre analyse.

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

      Si une valeur égale à zéro est entrée pour le paramètre 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é) ou 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.

  • Des options supplémentaires pour le paramètre Conceptualisation de relations spatiales (y compris les relations 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éé.

  • Pour plus d'informations sur l'analyse d'agrégats spatio-temporels, consultez la documentation Analyse spatio-temporelle.

  • 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 (Weights Matrix File) 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. Sinon, 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 mise en forme (dans 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.

  • La classe d’entités Output Feature Class (Classe d’entités en sortie) est ajoutée automatiquement à la table des matières, et le rendu par défaut est appliqué au champ COType. Le rendu appliqué est défini par un fichier de couche dans <ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers. Vous pouvez appliquer à nouveau le rendu par défaut, si nécessaire, à l'aide de l'outil Appliquer la symbologie d'une couche.

  • Le paramètre Output Feature Class (Classe d’entités en sortie) comprend un champ SOURCE_ID qui vous permet de le joindre à la classe d’entités Input Feature Class (Classe d’entités en entrée), le cas échéant.

  • 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 shapefiles, 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.

  • Lorsque vous utilisez cet outil dans les scripts Python, l'objet de résultat renvoyé après l'exécution de l'outil comporte les sorties suivantes :

    PositionDescriptionType de données

    0

    Classe d'entités en sortie

    Classe d’entités

    1

    Nom du champ d'index

    Champ

    2

    Nom du champ ZScore

    Champ

    3

    Nom du champ de probabilité

    Champ

    4

    Nom de champ COType

    Champ

    5

    Nom du champ ID de la source

    Champ

Syntaxe

ClustersOutliers(Input_Feature_Class, Input_Field, Output_Feature_Class, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File}, {Apply_False_Discovery_Rate__FDR__Correction}, {Number_of_Permutations}, {number_of_neighbors})
ParamètreExplicationType de données
Input_Feature_Class

Classe d'entités pour laquelle l'analyse d'agrégat et de point aberrant est effectuée.

Feature Layer
Input_Field

Champ numérique à évaluer.

Field
Output_Feature_Class

Classe d'entités en sortie qui reçoit les champs de résultats.

Feature Class
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_Distance) 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_Distance) 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) 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_DISTANCEDistance en ligne droite entre deux points (distance à vol d'oiseau).
  • MANHATTAN_DISTANCEDistance entre deux points mesurée le long des axes à angle droit (bloc de bâtiments) ; calculée en totalisant la différence (absolue) entre les coordonnées x et y.
String
Standardization

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).
String
Distance_Band_or_Threshold_Distance
(Facultatif)

Spécifie une distance limite pour les options Inverse Distance et Fixed Distance. 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 zéro 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 les conceptualisations spatiales Contiguïté polygonale ou Extraire les pondérations spatiales à partir du fichier sont sélectionnées.

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
Apply_False_Discovery_Rate__FDR__Correction
(Facultatif)
  • APPLY_FDRLa signification statistique repose sur la correction FDR (False Discovery Rate) pour un niveau de confiance de 95 pour cent.
  • NO_FDRLes entités dont les valeurs p sont inférieures à 0,05 apparaissent dans le champ COType représentant les agrégats ou les points aberrants statistiquement significatifs à un niveau de confiance de 95 % (par défaut).
Boolean
Number_of_Permutations
(Facultatif)

Nombre de permutations aléatoires pour le calcul des pseudo valeurs de p. Le nombre par défaut de permutations est de 499. Si vous choisissez 0 permutation, la valeur de p standard est calculée.

  • 0Les permutations ne sont pas utilisées et une valeur de p standard est calculée.
  • 99Avec 99 permutations, la plus petite pseudo valeur p possible est 0,01 et toutes les autres pseudo valeurs p sont des multiples de cette valeur.
  • 199Avec 199 permutations, la plus petite pseudo valeur p possible est 0,005 et toutes les autres pseudo valeurs p possibles sont des multiples de cette valeur.
  • 499Avec 499 permutations, la plus petite pseudo valeur p possible est 0,002 et toutes les autres pseudo valeurs p sont des multiples de cette valeur.
  • 999Avec 999 permutations, la plus petite pseudo valeur p possible est 0,001 et toutes les autres pseudo valeurs p sont des multiples de cette valeur.
  • 9999Avec 9 999 permutations, la plus petite pseudo valeur p possible est 0,0001 et toutes les autres pseudo valeurs p sont des multiples de cette valeur.
Long
number_of_neighbors
(Facultatif)

Nombre de voisins à inclure dans l’analyse.

Long

Sortie dérivée

NomExplicationType de données
Index_Field_Name

Nom du champ d’index.

Champ
ZScore_Field_Name

Nom du champ de score z.

Champ
Probability_Field

Nom du champ de probabilité.

Champ
Cluster_Outlier_Type

Nom du champ de grappe/point aberrant.

Champ
Source_ID

Nom du champ ID de la source.

Champ

Exemple de code

Exemple 1 d’utilisation de l’outil ClustersOutliers (fenêtre Python)

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

import arcpy
arcpy.env.workspace = "c:/data/911calls"
arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT","911ClusterOutlier.shp",
                             "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", 
                             "NONE","#", "euclidean6Neighs.swm","NO_FDR", 499)
Exemple 2 d’utilisation de l’outil ClustersOutliers (script autonome)

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

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Cluster-Outlier Analysis Tool (Anselin's Local Moran's I)
# Import system modules
import arcpy
# Set property to overwrite outputs if they already exist
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\Data\911Calls"
try:
    # Set the current workspace 
    #  (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace
    # Copy the input feature class and integrate the points to snap
    # together at 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp")
    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     														"NON_NULLABLE", "NON_REQUIRED", "#",
                     														"911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "!FID!", "PYTHON")
    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        																											"euclidean6Neighs.swm",
                       																											 "K_NEAREST_NEIGHBORS",
                       															 												"#", "#", "#", 6) 
    # Cluster/Outlier Analysis of 911 Calls
    # Process: Local Moran's I
    clusters = arcpy.ClustersOutliers_stats("911Count.shp", "ICOUNT", 
                      																				  "911ClusterOutlier.shp", 
                        																				"GET_SPATIAL_WEIGHTS_FROM_FILE",
                        																				"EUCLIDEAN_DISTANCE", "NONE",
                       							 													"#", "euclidean6Neighs.swm", "NO_FDR", "499")
except arcpy.ExecuteError:
    # 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 dans le système de coordonnées en sortie avant l'analyse, donc les valeurs entrées pour le paramètre Canal distance ou distance seuil doivent correspondre à celles spécifiées dans le système de coordonnées en sortie. 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 en mètres.

Générateur de nombres aléatoires

Le type de générateur de nombres aléatoires utilisé est toujours Mersenne Twister.

Informations de licence

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

Rubriques connexes