Détection de points spatiaux aberrants (Statistiques spatiales)

Synthèse

Identifie les points aberrants spatiaux globaux ou locaux dans des entités ponctuelles.

Un point aberrant global est un point éloigné de tous les autres points d’une classe d’entités. Les points aberrants globaux sont détectés par l’examen des distances entre chaque point et l’un de ses voisins les plus proches (par défaut, le voisin le plus proche) et par la détection des points lorsque la distance est importante.

Un point aberrant local est un point qui est plus éloigné de ses voisins que ce qui est attendu par la densité des points dans la zone environnante. Les points aberrants locaux sont détectés par le calcul du facteur de valeurs aberrantes locales (LOF) de chaque entité. Le facteur aberrant local est une mesure qui décrit l’isolement d’une localisation par rapport à ses voisins locaux. Une valeur LOF plus élevée indique un isolement plus important. L’outil peut également servir à produire une surface de prévision raster permettant d’estimer si de nouvelles entités sont classées comme points aberrants en fonction de la distribution spatiale des données.

Pour en savoir plus sur le fonctionnement de l’outil Détection de points spatiaux aberrants

Illustration

Illustration de l’outil Détection de points spatiaux aberrants

Utilisation

  • Cet outil identifie les points fournis dans le paramètre Input Features (Entités en entrée) comme des points spatiaux aberrants ou des points spatiaux corrects. Le paramètre Keep Only Spatial Outliers (Conserver uniquement les points aberrants spatiaux) peut être utilisé pour renvoyer uniquement les points identifiés comme des points aberrants.

  • L’outil utilise un voisinage local autour de chaque entité, spécifié dans le paramètre Number of Neighbors (Nombre de voisins). Dans le cas de la détection des points aberrants locaux, tous les points du voisinage sont utilisés et le point par défaut est estimé par l’outil lors de l’exécution. Dans le cas de la détection des points aberrants globaux, seul le voisin le plus éloigné dans le voisinage est utilisé et la valeur par défaut est 1 (le voisin le plus proche). Par exemple, une valeur de 3 indique que les points aberrants globaux sont détectés avec les distances par rapport au voisin le plus proche de chaque point.

  • Dans le cas de la détection de points aberrants locaux, le paramètre Percent of Locations Considered Outliers (Pourcentage des localisations considérées comme points aberrants) permet d’établir un seuil pour le facteur aberrant local afin de désigner chaque entité ponctuelle comme point aberrant ou comme correcte.

    Remarque :

    De petites différences de valeurs pour le paramètre Percent of Locations Considered Outliers (Pourcentage des localisations considérées comme points aberrants) peut générer le même nombre d’entités en sortie désignées comme points aberrants. Cela peut être le cas lorsque des similitudes dans la distribution spatiale donnent la même valeur de facteur aberrant local pour plusieurs entités.

  • La couche en sortie inclut deux diagrammes. Le premier est un diagramme à barres qui affiche le nombre de points aberrants et de points corrects. Le second est un histogramme. Dans le cas de la détection des points aberrants locaux, l’histogramme illustre la distribution des valeurs de facteur de valeurs aberrantes locales pour toutes les entités ponctuelles, ainsi que le seuil de facteur de valeurs aberrantes locales utilisé pour déterminer si une entité est un point aberrant ou est correcte. Dans le cas de la détection des points aberrants globaux, l’histogramme indique la distribution des distances par rapport aux voisins et le seuil associé.

  • Si la valeur du paramètre Input Features (Entités en entrée) comporte une coordonnée z, l’outil respecte la nature 3D des données en détectant les points spatiaux aberrants dans l’espace 3D. Lorsqu’elles sont ajoutées à une vue de scène, les entités en sortie s’affichent en 3D pour visualiser les points spatiaux aberrants 3D. Si l’unité (par exemple, les mètres) de la coordonnée z n’est pas définie dans un système de coordonnées verticales, on suppose qu’elle est identique à celle des coordonnées x,y.

  • Le paramètre Output Prediction Raster (Raster de prévision en sortie) est une sortie facultative qui affiche les valeurs utilisées pour déterminer si chaque cellule est un point aberrant sous forme de surface continue dans la zone d’étude. Dans le cas de la détection de points aberrants locaux, le raster contient la valeur de facteur de valeurs aberrantes locales calculée pour la cellule. Dans le cas de la détection de points aberrants globaux, le raster contient la distance par rapport au voisin le plus proche. La sortie peut servir à déterminer si les observations futures sont des points aberrants sans avoir à recalculer la valeur du nouveau point. La sortie peut uniquement être créée pour les entités en entrée 2D.

    Remarque :

    Les distances par rapport aux voisins et les valeurs de facteur de valeurs aberrantes locales des points ne correspondront pas aux valeurs de facteur de valeurs aberrantes locales des cellules raster sous chaque point, même si les points coïncident avec un centre de cellule du raster. En effet, l’entité ne s’utilise pas comme voisin, alors que la cellule raster utilise l’entité comme voisin, de sorte que chaque calcul utilise différents voisins et produit une valeur différente.

  • Pour plus d’informations sur le facteur aberrant local et l’optimisation des paramètres, consultez les références suivantes :

    • Breunig, M. M., Kriegel, H. P., Ng, R. T., Sander, J. (2000). « LOF: identifying density-based local outliers. » Proceedings of the 2000 ACM SIGMOD international conference on Management of data. (p. 93-104).
    • Xu, Z., Kakde, D., Chaudhuri, A. (2019). « Automatic Hyperparameter Tuning Method for Local Outlier Factor, with Applications to Anomaly Detection. » 2019 IEEE International Conference on Big Data. (pp. 4201-4207).

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Les entités ponctuelles allant être utilisées pour construire le modèle de détection des points spatiaux aberrants. Chaque point est classé comme point aberrant ou point correct sur son facteur aberrant local.

Feature Layer
Entités en sortie

La classe d’entités en sortie contenant le facteur aberrant local pour chaque entité en entrée ainsi qu’un indicateur informant si le point est un point spatial aberrant ou non.

Feature Class
Nombre de voisins
(Facultatif)

Nombre de voisins allant être utilisés pour détecter les points aberrants spatiaux de chaque point en entrée.

Dans le cas de la détection des points aberrants locaux, la valeur doit être supérieure ou égale à 2 et toutes les entités du voisinage seront utilisées en tant que voisins. Si aucune valeur n’est spécifiée, une valeur est estimée au moment de l’exécution et s’affiche dans un message de géotraitement.

Dans le cas de la détection des points aberrants globaux, seul le voisin le plus éloigné dans le voisinage est utilisé et la valeur par défaut est 1 (le voisin le plus proche). Par exemple, une valeur de 3 indique que les points aberrants globaux sont détectés avec les distances par rapport au voisin le plus proche de chaque point.

Long
Pourcentage des localisations considérées comme points aberrants
(Facultatif)

Le pourcentage des localisations allant être identifiées comme points spatiaux aberrants en définissant le seuil du facteur aberrant local. Si aucune valeur n’est spécifiée, une valeur est estimée au moment de l’exécution et s’affiche dans un message de géotraitement. Il est possible d’identifier des points aberrants spatiaux dans la limite de 50 % des entités.

Double
Raster de prévision en sortie
(Facultatif)

Le raster en sortie contenant les facteurs aberrants locaux à chaque cellule, qui est calculé sur la distribution spatiale des entités en entrée.

Ce paramètre n’est disponible qu’avec une licence Desktop Advanced.

Raster Dataset
Outlier Type (Type de point aberrant)
(Facultatif)

Indique le type de point aberrant à détecter. Un point aberrant global est un point éloigné de tous les autres points de la classe d’entités. Un point aberrant local est un point qui est plus éloigné de ses voisins que ce qui est attendu par la densité des points dans la zone environnante.

  • GlobalLes points aberrants globaux des points en entrée sont détectés. Il s’agit de l’option par défaut.
  • LocalLes points aberrants locaux des points en entrée sont détectés.
String
Sensibilité de la détection
(Facultatif)

Indique le niveau de sensibilité à utiliser lors de la détection des points aberrants globaux. Plus la sensibilité est élevée, plus le nombre de points détectés en tant que points aberrants est élevé.

La valeur de sensibilité détermine le seuil ; tout point dont la distance par rapport aux voisins est supérieure à ce seuil est identifié comme point aberrant global. Les seuils sont déterminés par la règle de la boîte à moustaches, selon laquelle le seuil de la sensibilité élevée correspond à un écart interquartile au-dessus du troisième quartile. Pour une sensibilité moyenne, le seuil correspond à 1,5 écart interquartile au-dessus du troisième quartile. Pour une faible sensibilité, le seuil correspond à 2 écarts interquartiles au-dessus du troisième quartile.

  • FaibleLes points aberrants sont détectés avec une sensibilité faible. Cette option détecte le nombre le moins élevé de points aberrants.
  • MoyenneLes points aberrants sont détectés avec une sensibilité modérée. Il s’agit de l’option par défaut.
  • ElevéeLes points aberrants sont détectés avec une sensibilité élevée. Cette option détecte le nombre le plus élevé de points aberrants.
String
Keep Only Spatial Outliers (Conserver uniquement les points aberrants spatiaux)
(Facultatif)

Indique si les entités en sortie contiennent toutes les entités ou uniquement les entités identifiées comme des points aberrants spatiaux.

  • Activé : les entités en sortie contiennent uniquement les entités identifiées comme des points aberrants spatiaux.
  • Désactivé : les entités en sortie contiennent toutes les entités en entrée. Il s’agit de l’option par défaut.

Boolean

arcpy.stats.SpatialOutlierDetection(in_features, output_features, {n_neighbors}, {percent_outlier}, {output_raster}, {outlier_type}, {sensitivity}, {keep_type})
NomExplicationType de données
in_features

Les entités ponctuelles allant être utilisées pour construire le modèle de détection des points spatiaux aberrants. Chaque point est classé comme point aberrant ou point correct sur son facteur aberrant local.

Feature Layer
output_features

La classe d’entités en sortie contenant le facteur aberrant local pour chaque entité en entrée ainsi qu’un indicateur informant si le point est un point spatial aberrant ou non.

Feature Class
n_neighbors
(Facultatif)

Nombre de voisins allant être utilisés pour détecter les points aberrants spatiaux de chaque point en entrée.

Dans le cas de la détection des points aberrants locaux, la valeur doit être supérieure ou égale à 2 et toutes les entités du voisinage seront utilisées en tant que voisins. Si aucune valeur n’est spécifiée, une valeur est estimée au moment de l’exécution et s’affiche dans un message de géotraitement.

Dans le cas de la détection des points aberrants globaux, seul le voisin le plus éloigné dans le voisinage est utilisé et la valeur par défaut est 1 (le voisin le plus proche). Par exemple, une valeur de 3 indique que les points aberrants globaux sont détectés avec les distances par rapport au voisin le plus proche de chaque point.

Long
percent_outlier
(Facultatif)

Le pourcentage des localisations allant être identifiées comme points spatiaux aberrants en définissant le seuil du facteur aberrant local. Si aucune valeur n’est spécifiée, une valeur est estimée au moment de l’exécution et s’affiche dans un message de géotraitement. Il est possible d’identifier des points aberrants spatiaux dans la limite de 50 % des entités.

Double
output_raster
(Facultatif)

Le raster en sortie contenant les facteurs aberrants locaux à chaque cellule, qui est calculé sur la distribution spatiale des entités en entrée.

Ce paramètre n’est disponible qu’avec une licence Desktop Advanced.

Raster Dataset
outlier_type
(Facultatif)

Indique le type de point aberrant à détecter. Un point aberrant global est un point éloigné de tous les autres points de la classe d’entités. Un point aberrant local est un point qui est plus éloigné de ses voisins que ce qui est attendu par la densité des points dans la zone environnante.

  • GLOBALLes points aberrants globaux des points en entrée sont détectés. Il s’agit de l’option par défaut.
  • LOCALLes points aberrants locaux des points en entrée sont détectés.
String
sensitivity
(Facultatif)

Indique le niveau de sensibilité à utiliser lors de la détection des points aberrants globaux. Plus la sensibilité est élevée, plus le nombre de points détectés en tant que points aberrants est élevé.

La valeur de sensibilité détermine le seuil ; tout point dont la distance par rapport aux voisins est supérieure à ce seuil est identifié comme point aberrant global. Les seuils sont déterminés par la règle de la boîte à moustaches, selon laquelle le seuil de la sensibilité élevée correspond à un écart interquartile au-dessus du troisième quartile. Pour une sensibilité moyenne, le seuil correspond à 1,5 écart interquartile au-dessus du troisième quartile. Pour une faible sensibilité, le seuil correspond à 2 écarts interquartiles au-dessus du troisième quartile.

  • LOWLes points aberrants sont détectés avec une sensibilité faible. Cette option détecte le nombre le moins élevé de points aberrants.
  • MEDIUMLes points aberrants sont détectés avec une sensibilité modérée. Il s’agit de l’option par défaut.
  • HIGHLes points aberrants sont détectés avec une sensibilité élevée. Cette option détecte le nombre le plus élevé de points aberrants.
String
keep_type
(Facultatif)

Indique si les entités en sortie contiennent toutes les entités ou uniquement les entités identifiées comme des points aberrants spatiaux.

  • KEEP_OUTLIERLes entités en sortie contiennent uniquement les entités identifiées comme des points aberrants spatiaux.
  • KEEP_ALLLes entités en sortie contiennent toutes les entités en entrée. Il s’agit de l’option par défaut.
Boolean

Exemple de code

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

Le script suivant pour la fenêtre Python illustre l’utilisation de la fonction SpatialOutlierDetection.


arcpy.stats.SpatialOutlierDetection("Transaction_Locations", 
            "Transactions_SpatialOutliers", 20, 5, 
            "Transactions_OutliersPredictionSurface")
Exemple 2 d’utilisation de l’outil SpatialOutlierDetection (script autonome)

Le script Python autonome ci-dessous illustre l’utilisation de la fonction SpatialOutlierDetection.


# Import system modules.
import arcpy

try:
    # Set the workspace and input features.
    arcpy.env.workspace = 'C:\\SpatialOutlierDetection\\MyData.gdb'
    inputFeatures = "PM25_AirQualityStations"

    # Set the name of the output features
    outputFeatures = "AirQualityStations_SpatialOutliers"

    # Set the number of neighbors
    numberNeighbors = 8

    # Set the percentage of locations considered outliers
    pcntLocationsAsOutliers = 10

    # Set the output prediction raster
    outputPredictionRaster = airQualityStations_OutPredictionRaster


    # Run the Spatial Outlier Detection tool
    arcpy.stats.SpatialOutlierDetection(inputFeatures, outputFeatures, 
            numberNeighbors, pcntLocationsAsOutliers, outputPredictionRaster)

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Environnements

Cas particuliers

Taille de cellule

Cet environnement affecte uniquement le raster en sortie.

Masque

Cet environnement affecte uniquement le raster en sortie.

Raster de capture

Cet environnement affecte uniquement le raster en sortie.

Étendue

Cet environnement affecte uniquement le raster en sortie.