Analyse de valeurs aberrantes locales (Exploration des modèles spatio-temporels)

Résumé

Identifie les grappes et points aberrants statistiquement significatifs dans l'espace et le temps. Cet outil est une implémentation spatio-temporelle de la statistique Anselin Local Moran's I.

Pour en savoir plus sur le fonctionnement de l'outil Analyse des points chauds émergents

Illustration

Analyse de valeurs aberrantes locales

Utilisation

  • Cet outil peut uniquement accepter les fichiers netCDF créés par l’outil Créer un cube spatio-temporel en agrégeant des points, Créer un cube spatio-temporel à partir d’emplacements définis ou Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle.

  • Chaque groupe dans le cube spatio-temporel présente une valeur LOCATION_ID, time_step_ID et COUNT, ainsi que les champs de récapitulation (Summary Fields) ou les variables qui ont été inclus lors de la création du cube. Les groupes associés au même emplacement physique partagent le même ID d'emplacement et constituent ensemble une série chronologique. Les groupes associés au même intervalle temporel partagent le même ID d'intervalle temporel et constituent ensemble une tranche de temps. La valeur numérique de chaque groupe représente le nombre d'incidents ou d'enregistrements présents à l'emplacement associé de l'intervalle temporel associé.

    Chaque groupe est associé à un ID d'emplacement, un ID d'intervalle temporel et un nombre

  • Cet outil analyse une variable dans le cube spatio-temporel en entrée netCDF à l'aide d'une implémentation spatio-temporelle de la statistique Anselin Local Morans I.

  • Les entités en sortie seront ajoutées à la fenêtre Contenu avec le rendu qui récapitule les résultats de l'analyse spatio-temporelle pour tous les emplacements analysés. Si vous spécifiez un Masque d'analyse de polygone, les emplacements analysés seront ceux qui figurent dans le masque d'analyse. Sinon, les emplacements analysés seront ceux qui présentent au moins un point pour au moins un intervalle temporel.

    Emplacements des cubes avec et sans données

  • Outre l'option Classe d’entités en sortie, un récapitulatif d'analyse est généré sous forme de messages apparaissant en bas de la fenêtre Géotraitement pendant l'exécution de l'outil. Vous pouvez accéder aux messages en passant le curseur de la souris sur la barre de progression, en cliquant sur le bouton de menu contextuel Ouvrir dans une nouvelle fenêtre ou en développant la section du détail des messages dans la fenêtre Geoprocessing (Géotraitement). Vous pouvez également accéder aux messages d'un outil précédemment exécuté via l'historique du géotraitement dans la fenêtre Catalogue.

  • L'outil Analyse de valeurs aberrantes locales identifie les grappes et points aberrants statistiquement significatifs dans l'espace et le temps. Reportez-vous à la section Pour en savoir plus sur le fonctionnement de l'outil Analyse de valeurs aberrantes locales pour accéder aux définitions des catégories en sortie par défaut et obtenir des informations supplémentaires sur les algorithmes utilisés par cet outil d'analyse.

  • Pour identifier les grappes et points aberrants au sein du cube spatio-temporel, cet outil utilise une implémentation spatio-temporelle de la statistique Anselin Local Moran's I, qui tient compte de la valeur de chaque groupe dans le contexte des valeurs des groupes voisins.

  • Pour déterminer quels groupes sont inclus dans chaque voisinage d'analyse, l'outil trouve d'abord les groupes voisins inclus dans la conceptualisation de relations spatiales. Ensuite, pour chacun de ces groupes, il inclut les groupes se trouvant aux mêmes endroits séparés par N phases précédentes, N représentant la valeur d'intervalle temporel de voisinage que vous spécifiez.

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

  • La conceptualisation de relations spatiales est Distance fixe. Un groupe est considéré comme un voisin lorsque son centroïde se trouve dans la distance de voisinage et que son intervalle temporel est compris dans l'intervalle temporel de voisinage spécifié. Si vous n'indiquez pas de valeur pour Distance du voisinage, une valeur est calculée pour vous en fonction de la distribution spatiale de vos données ponctuelles. Si vous n'indiquez aucune valeur pour l'option Intervalle temporel de voisinage, l'outil utilise une valeur par défaut, à savoir 1 intervalle temporel.

  • Le paramètre Nombre de voisins peut remplacer la distance de voisinage pour l'option Distance fixe ou étendre la recherche de voisinage pour Tronçons de contiguïté uniquement et Angles des tronçons de contiguïté options. Dans ce cas, Nombre de voisins est utilisé comme nombre minimum. Par exemple, si vous spécifiez Distance fixe avec une distance de voisinage de 10 miles et 3 pour le paramètre Nombre de voisins, tous les groupes reçoivent un minimum de 3 voisins spatiaux même si la distance de voisinage doit augmenter pour les trouver. La distance augmente uniquement pour les groupes où le nombre de voisins minimum n'est pas satisfait. De même, avec les options de contiguïté, pour les groupes dont le nombre de voisins contigus est inférieur à celui-ci, des voisins supplémentaires sont choisis en fonction de la proximité avec le centroïde.

  • La valeur de l'option Intervalle temporel de voisinage représente le nombre d'intervalles temporels à inclure dans le voisinage d'analyse. Si l'intervalle temporel de votre cube équivaut à trois mois, par exemple, et que vous indiquez 2 comme valeur pour Intervalle temporel de voisinage, le nombre total de groupes compris dans la conceptualisation de relations spatiales spécifiée, ainsi que tous les groupes associés pour les deux intervalles temporels précédents (représentant une période de neuf mois) seront inclus dans le voisinage d'analyse.

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

  • Les permutations employées par cet outil tirent parti des performances accrues disponibles dans les systèmes équipés de plusieurs processeurs (ou de processeurs multicœur). L’outil s’exécute par défaut avec 50 % des processeurs disponibles. Toutefois, le nombre de processeurs peut être augmenté ou réduit à l’aide de l’environnement Facteur de traitement parallèle. La vitesse de traitement optimisée se remarque davantage dans les cubes spatio-temporels plus volumineux ou lors de l'exécution de l'outil avec un nombre plus important de permutations.

  • La couche d'entités Masque d'analyse de polygone peut inclure un ou plusieurs polygones qui définissent la zone d'étude de l'analyse. Ces polygones doivent indiquer l'endroit où les entités ponctuelles risquent d'être présentes et exclure les surfaces où les points ne risquent pas d'apparaître. Si vous analysez des tendances de cambriolage dans des résidences, par exemple, vous pouvez utiliser le masque d'analyse de polygone pour exclure un lac étendu, des parcs régionaux ou d'autres endroits ne comprenant aucune résidence.

  • Le masque d'analyse de polygone est intersecté avec l'étendue du cube spatio-temporel en entrée et n'étend pas les dimensions du cube.

  • Si le masque d'analyse de polygone que vous utilisez pour définir votre zone d'étude couvre une surface qui s'étend au-delà de l'étendue des entités en entrée qui ont servi lors de la création initiale du cube, vous pouvez recréer votre cube en utilisant ce masque d'analyse de polygone en tant que paramètre d'environnement d'étendue. Cette opération permet de s'assurer que toute la surface couverte par le masque d'analyse de polygone est comprise dans l'outil Analyse de valeurs aberrantes locales. L'utilisation du masque d'analyse de polygone comme paramètre d'environnement d'étendue au cours de la création du cube permet de s'assurer que l'étendue du cube concorde avec l'étendue du masque d'analyse de polygone.

  • Cet outil crée une nouvelle classe d'entités en sortie comportant les attributs suivants pour chaque emplacement du cube spatio-temporel. Ces champs peuvent être utilisés pour une visualisation personnalisée de la sortie. Reportez-vous à la rubrique Pour en savoir plus sur le fonctionnement de l'outil Analyse de valeurs aberrantes locales pour plus d'informations sur les autres résultats d'analyse.
    • Number of Outliers
    • Percentage of Outliers
    • Number of Low Clusters
    • Percentage of Low Clusters
    • Number of Low Outliers
    • Percentage of Low Outliers
    • Number of High Clusters
    • Percentage of High Clusters
    • Number of High Outliers
    • Percentage of High Outliers
    • emplacements avec No Spatial Neighbors
    • emplacements avec Outlier in the Most Recent Time Step
    • Cluster Outlier Type
    • et résumé statistique complémentaire
  • Le Cluster Outlier Type indique toujours les agrégats et points aberrants statistiquement significatifs pour un niveau de confiance de 95 % et seuls les groupes statistiquement significatifs contiennent des valeurs dans ce champ. Cette signification reflète une correction FDR (False Discovery Rate).

  • Le rendu par défaut pour Output Feature Classe (Classe d’entités en sortie) repose sur le champ CO_TYPE et indique les emplacements statistiquement significatifs. Il présente les emplacements ayant fait partie d'une grappe élevée-élevée, d'un point aberrant élevé-faible, d'un point aberrant faible-élevé ou d'une grappe faible-faible, ou classés en tant que Types multiples au fil du temps.
  • Pour garantir que chaque emplacement possède au moins un voisin temporel, l'index Local Moran's n'est pas calculé pour la première tranche horaire. Les valeurs de groupe de la première tranche horaire sont cependant incluses dans le calcul de la moyenne globale.

  • L'exécution de l'outil Analyse de valeurs aberrantes locales permet de rajouter des résultats d'analyse dans le cube spatio-temporel en entrée netCDF. Chaque groupe est analysé par rapport aux groupes voisins pour mesurer l'agrégation des valeurs élevées et faibles et pour identifier les éventuels points aberrants spatiaux et temporels au sein de ces grappes. Le résultat de cette analyse est un index Local Moran’s I, une pseudo valeur p (ou une valeur p si aucune permutation n’a été utilisée) et un type d’agrégat ou de point aberrant (CO_TYPE) pour chaque groupe du cube spatio-temporel.

    Vous trouverez ci-dessous un récapitulatif des variables ajoutées au Cube spatio-temporel en entrée :

    Nom de variableDescriptionCotation

    OUTLIER_{ANALYSIS_VARIABLE}_INDEX

    Index Local Moran's I calculé.

    Tridimensionnel : une valeur d'index Local Moran's I pour chaque groupe du cube spatio-temporel.

    OUTLIER_{ANALYSIS_VARIABLE}_PVALUE

    Pseudo valeur de p ou valeur de p de la Statistique Anselin Local Morans I qui mesure la signification statistique de la valeur d'index I Local Moran's I.

    Tridimensionnel : une valeur de p ou pseudo valeur de p pour chaque groupe du cube spatio-temporel.

    OUTLIER_{ANALYSIS_VARIABLE}_TYPE

    Le type de catégorie de résultat faisant la distinction entre une grappe statistiquement significative de valeurs élevées (élevé-élevé), une grappe de valeurs faibles (faible-faible), un point aberrant dans lequel une valeur élevée est entourée principalement de valeurs faibles (élevé-faible) et un point aberrant dans lequel une valeur faible est entourée principalement de valeurs élevées (faible-élevé).

    Tridimensionnel : un type de grappe ou de point aberrant pour chaque groupe du cube spatio-temporel. Ce groupe est basé sur une correction FDR.

    OUTLIER_{ANALYSIS_VARIABLE}

    _HAS_SPATIAL_NEIGHBORS

    Indique les emplacements qui ont des voisins spatiaux et ceux qui s'appuient uniquement sur des voisins temporels.

    Bidimensionnel : une classification pour chaque emplacement. L'analyse des emplacements qui n'ont pas de voisins spatiaux génère des calculs reposant uniquement sur des voisins temporels.

Syntaxe

arcpy.stpm.LocalOutlierAnalysis(in_cube, analysis_variable, output_features, {neighborhood_distance}, neighborhood_time_step, {number_of_permutations}, {polygon_mask}, {conceptualization_of_spatial_relationships}, {number_of_neighbors}, {define_global_window})
ParamètreExplicationType de données
in_cube

Cube netCDF à analyser. Le fichier doit comporter l'extension .nc et doit avoir été créé avec 'outil Créer un cube spatio-temporel en agrégeant des points ou Créer un cube spatio-temporel à partir d'entités définies.

File
analysis_variable

Variable numérique dans le fichier netCDF que vous voulez analyser.

String
output_features

La classe d'entités en sortie contenant les emplacements ayant été considérés comme des grappes ou points aberrants statistiquement significatifs.

Feature Class
neighborhood_distance
(Facultatif)

Etendue spatiale du voisinage d'analyse. Cette valeur désigne les entités qui sont analysées ensemble en vue d'évaluer l'agrégation spatio-temporelle locale.

Linear Unit
neighborhood_time_step

Nombre d'intervalles temporels à inclure dans le voisinage d'analyse. Cette valeur désigne les entités qui sont analysées ensemble en vue d’évaluer l’agrégation spatio-temporelle locale.

Long
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 pseudo valeur de p la plus petite possible est 0,01 et toutes les autres pseudo valeurs de p sont des multiples pairs de cette valeur.
  • 199Avec 199 permutations, la pseudo valeur de p la plus petite possible est 0,005 et toutes les autres pseudo valeurs de p sont des multiples pairs de cette valeur.
  • 499Avec 499 permutations, la pseudo valeur de p la plus petite possible est 0,002 et toutes les autres pseudo valeurs de p sont des multiples pairs de cette valeur.
  • 999Avec 999 permutations, la pseudo valeur de p la plus petite possible est 0,001 et toutes les autres pseudo valeurs de p sont des multiples pairs de cette valeur.
  • 9999Avec 9999 permutations, la pseudo valeur de p la plus petite possible est 0,0001 et toutes les autres pseudo valeurs de p sont des multiples pairs de cette valeur.
Long
polygon_mask
(Facultatif)

Couche d'entités surfaciques dont un ou plusieurs polygones définissent la zone d'étude d'analyse. Un masque d'analyse surfacique permet, par exemple, d'exclure un lac de grande envergure de l'analyse. Les groupes définis dans le in_cube qui se situent en dehors du masque ne sont pas inclus dans l'analyse.

Ce paramètre est uniquement disponible pour les cubes de quadrillage.

Feature Layer
conceptualization_of_spatial_relationships
(Facultatif)

Indique comment les relations spatiales sont définies parmi les groupes.

  • FIXED_DISTANCEChaque groupe est analysé par rapport aux groupes voisins. Les groupes voisins situés en deçà de la distance critique spécifiée (neighborhood_distance) reçoivent une pondération de 1 et exercent une influence sur les calculs du groupe cible. Les groupes voisins situés au-delà de la distance critique reçoivent une pondération de zéro et n'exercent aucune influence sur les calculs du groupe cible.
  • K_NEAREST_NEIGHBORSLes k groupes les plus proches sont inclus dans l'analyse ; k est un paramètre numérique spécifié.
  • CONTIGUITY_EDGES_ONLYSeules les groupes voisins qui partagent un tronçon influencent les calculs du groupe surfacique cible.
  • CONTIGUITY_EDGES_CORNERSLes groupes voisins qui partagent un tronçon ou un nœud influencent les calculs du groupe surfacique cible..
String
number_of_neighbors
(Facultatif)

Un entier spécifiant le nombre minimum ou exact de voisins à inclure dans les calculs du groupe cible. Pour K_NEAREST_NEIGHBORS, chaque groupe aura exactement ce nombre spécifié de voisins. Pour FIXED_DISTANCE, chaque groupe aura au moins ce nombre de voisins (la neighborhood_distance sera temporairement étendue pour garantir ce nombre de voisins, le cas échéant). Si une des conceptualisations de contiguïté est sélectionnée, ce nombre minimum de voisins est attribué à chaque groupe. Pour les groupes dont le nombre de voisins contigus est inférieur à celui spécifié, les voisins supplémentaires reposeront sur la proximité avec le centroïde des entités.

Long
define_global_window
(Facultatif)

La statistique Anselin Local Moran’s I compare une statistique locale, calculée d’après les voisins de chaque groupe, à une valeur globale. Ce paramètre permet de contrôler les groupes à utiliser pour calculer la valeur globale.

  • ENTIRE_CUBEChaque voisinage est analysé en le comparant au cube entier. Il s’agit de l’option par défaut.
  • NEIGHBORHOOD_TIME_STEPChaque voisinage est analysé en le comparant aux groupes contenus dans l’intervalle temporel de voisinage (option Neighborhood Time Step) spécifié.
  • INDIVIDUAL_TIME_STEPChaque voisinage est analysé par comparaison avec les groupes du même intervalle temporel.
String

Exemple de code

Exemple 1 d'utilisation du script Analyse de valeurs aberrantes locales (fenêtre Python)

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

# LocalOutlierAnalysis of homicides in a metropolitan area
import arcpy
arcpy.env.workspace = r"C:\STPM"
arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles", 2, 499, "#", "FIXED_DISTANCE", "3", "NEIGHBORHOOD_TIME_STEP")
Exemple 2 d'utilisation de l'outil LocalOutlierAnalysis (script autonome)

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

# Create Space Time Cube by aggregating homicide incidents in a metropolitan area
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\STPM"
try:
    # Set the current workspace (to avoid having to specify the full path to the feature 
    # classes each time)
    arcpy.env.workspace = workspace
    # Create Space Time Cube by aggregating homicide incident data with 3 months and 3 miles settings
    # Process: Create Space Time Cube By Aggregating Points
    cube = arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "MyDate", "#", 
                                          "3 Months", "End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS", "HEXAGON_GRID")
    # Create a polygon that defines where incidents are possible  
    # Process: Minimum Bounding Geometry of homicide incident data
    arcpy.MinimumBoundingGeometry_management("Homicides.shp", "bounding.shp", "CONVEX_HULL",
                                             "ALL", "#", "NO_MBG_FIELDS")
    # Local Outlier Analysis of homicide incident cube using 5 Miles neighborhood 
    # distance and 2 neighborhood time step with 499 permutations to detect outliers
    # Process: Local Outlier Analysis
    loa = arcpy.LocalOutlierAnalysis_stpm("Homicides.nc", "COUNT", "LOA_Homicides.shp", "5 Miles",
                                          2, 499, "bounding.shp", "FIXED_DISTANCE")
except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

Informations de licence

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

Rubriques connexes