Agrégation basée sur la densité (Statistiques spatiales)

Synthèse

Recherche des agrégats d’entités ponctuelles dans le bruit environnant en fonction de leur distribution spatiale. Le temps peut également être incorporé pour rechercher des agrégats spatio-temporels.

Pour en savoir plus sur le fonctionnement de l’outil Agrégation basée sur la densité

Illustration

Illustration de l’outil Agrégation basée sur la densité

Utilisation

  • Cet outil extrait les agrégats de la valeur du paramètre Entités ponctuelles en entrée et identifie tout bruit environnant.

  • Il existe trois options pour le paramètre Méthode d’agrégation. L’option Distance définie (DBSCAN) recherche les agrégats de points situés à proximité en fonction de la distance de recherche spécifiée. L’option Ajustement automatique (HDBSCAN) recherche les agrégats de points de la même manière que la méthode DBSCAN à ceci près qu’elle utilise des distances variables, ce qui permet de rechercher les agrégats de densité variable selon la probabilité de l’agrégation (c’est-à-dire leur stabilité). L’option Multi-échelles (OPTICS) classe les points en entrée en fonction de la distance la plus courte jusqu’à l’entité suivante. Un diagramme d’accès est alors construit ; les agrégats sont obtenus en fonction du nombre minimal de points considérés comme des membres de l’agrégat, une distance de recherche et les caractéristiques du diagramme d’accès (telles que la pente et la hauteur des pics).

  • Cet outil produit une classe d’entités en sortie avec un nouveau champ d’entier nommé CLUSTER_ID montrant l’agrégat auquel appartient chacun des points. Le rendu par défaut dépend du champ COLOR_ID. Une couleur différente sera assignée à chaque agrégat. Les couleurs sont attribuées et répétées de sorte que chaque agrégat se distingue visuellement des agrégats environnants.

  • Cet outil crée également des messages et des diagrammes, que vous pouvez consulter pour comprendre les caractéristiques des agrégats identifiés. 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 des messages dans la fenêtre Géotraitement. Vous pouvez également consulter les messages d’une précédente exécution de l’outil Agrégation basée sur la densité dans l’historique du géotraitement. Les diagrammes sont accessibles à partir de la fenêtre Contenu.

  • Pour en savoir plus sur les messages et les diagrammes en sortie ainsi que sur les algorithmes utilisés par cet outil, reportez-vous à la rubrique Fonctionnement de l’agrégation basée sur la densité.

  • Si Ajustement automatique (HDBSCAN) est choisi pour le paramètre Méthode d’agrégation, la classe d’entités en sortie contient également les champs suivants : PROB, désignant la probabilité selon laquelle le point appartient au groupe d’affectation, OUTLIER, indiquant que le point peut être un point aberrant au sein de son propre agrégat (une valeur élevée indique que le point est susceptible d’être un point aberrant) et EXEMPLAR, signalant les points les plus prototypiques ou les points les plus représentatifs de chaque agrégat.

  • Si Multi-échelles (OPTICS) est choisi pour le paramètre Méthode d’agrégation, la classe d’entités en sortie contient également les champs suivants : REACHORDER, indiquant la façon dont les valeurs Entités ponctuelles en entrée sont classées en vue de l’analyse et REACHDIST, qui représente la distance séparant chaque point de son voisin non visité le plus proche.

  • Pour les options Distance définie (DBSCAN) et Multi-échelles (OPTICS) du paramètre Méthode d’agrégation, la valeur du paramètre Distance de recherche par défaut est la distance principale la plus élevée du jeu de données en excluant les distances principales figurant dans le 1 % supérieur (c’est-à-dire en excluant les distances principales les plus extrêmes).

  • Pour les options Distance définie (DBSCAN) et Multi-échelles (OPTICS) du paramètre Méthode d’agrégation, la période temporelle de chaque point peut être spécifiée via le paramètre Champ temporel. Si ce paramètre est spécifié, l’outil recherche les agrégats de points proches les uns des autres dans l’espace et le temps. Le paramètre Intervalle temporel de recherche doit être spécifié pour déterminer si un point est assez proche dans le temps d’un agrégat pour y être inclus.

    • Pour l’option Distance définie (DBSCAN), lors de la recherche de membres d’agrégat, la valeur du paramètre Entités minimum par agrégat doit figurer dans les valeurs Distance de recherche et Intervalle temporel de recherche pour former un agrégat.
    • Pour l’option Multi-échelles (OPTICS), tous les points figurant en dehors de la valeur Intervalle temporel de recherche sont exclus lorsque le point calcule sa distance principale, recherche toutes les distances voisines dans la valeur Distance de recherche spécifiée et calcule la distance d’accès.

  • Lorsque la valeur du paramètre Champ temporel est spécifiée, la classe d’entités en sortie comprend un diagramme de période par agrégat qui affiche l’intervalle temporel de chaque agrégat spatio-temporel. Quatre champs supplémentaires sont également inclus : Mean Time, Start Time, End Timeet Time Exaggeration. La classe d’entités en sortie est temporelle et il est recommandé de définir l’heure sur le champ Mean Time afin qu’il soit possible de visualiser les agrégats dans le temps à l’aide du curseur temporel. Il est également possible d’afficher le modèle spatio-temporel dans une scène 3D en définissant Time Exaggeration comme altitude d’entité.

  • Le paramètre Intervalle temporel de recherche ne contrôle pas l’intervalle temporel global des agrégats spatio-temporels résultants. Par exemple, utiliser un intervalle temporel de recherche de 3 jours peut résulter dans un agrégat qui contient des points englobant 10 jours ou plus. En effet, l’intervalle temporel de recherche n’est utilisé que pour déterminer si un point unique est compris dans un agrégat. En formant des agrégats de plusieurs points, l’intervalle temporel global de l’agrégat peut être plus grand que l’intervalle temporel de recherche. Ce scénario s’apparente au scénario où un agrégat spatial peut être plus grand que la valeur Distance de recherche, à condition que chaque point possède des voisins dans l’agrégat qui sont plus proches que la distance de recherche.

  • Lorsque les valeurs Entités en entrée ne sont pas projetées (c’est-à-dire, lorsque les coordonnées sont exprimées en degrés, minutes et secondes) ou que 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 :

    Il est recommandé de projeter les données, notamment si la 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.

  • Cet outil inclut les valeurs z dans ses calculs. En présence de valeurs z, le résultat est en 3D.

  • Cet outil prend en charge le traitement parallèle et utilise 50 pour cent des processeurs disponibles par défaut. Le nombre de processeurs utilisés peut être augmenté ou réduit à l’aide de l’environnement Facteur de traitement parallèle.

Paramètres

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

Entités ponctuelles pour lesquelles une agrégation basée sur la densité est effectuée.

Feature Layer
Entités en sortie

Classe d’entités en sortie recevant les agrégats finals.

Feature Class
Méthode d’agrégation

Spécifie la méthode utilisée pour définir les agrégats.

  • Distance définie (DBSCAN)Une distance spécifiée est utilisée pour séparer les agrégats denses du bruit plus clairsemé. DBSCAN est la méthode d’agrégation la plus rapide mais convient seulement si vous disposez d’une distance nette qui permet de définir tous les agrégats pouvant être présents. Elle aboutit à des agrégats dont la densité est similaire.
  • Ajustement automatique (HDBSCAN)Des distances variables sont utilisées pour séparer les agrégats de densités variables du bruit plus clairsemé. HDBSCAN est la méthode d’agrégation la plus axée sur les données et nécessite de ce fait le moins d’informations saisies par l’utilisateur.
  • Multi-échelles (OPTICS)La distance entre les voisins et un diagramme d’accès sont utilisés pour séparer les agrégats de densités variables du bruit. L’algorithme OPTICS offre le plus de souplesse en matière d’optimisation des agrégats détectés, même si cette méthode implique de nombreux calculs exigeant un grand nombre de ressources, notamment en ce qui concerne la longue distance de recherche.
String
Nombre minimum d’entités par agrégat

Nombre minimal de points à considérer comme un agrégat. Un agrégat dont le nombre de points est inférieur au nombre indiqué est considéré comme du bruit.

Long
Distance de recherche
(Facultatif)

Distance maximale à considérer.

Pour l’option Distance définie (DBSCAN) du paramètre Méthode d’agrégation, la valeur du paramètre Nombre minimum d’entités par agrégat doit figurer dans cette distance pour l’appartenance à l’agrégat. Les agrégats sont, au minimum, à cette distance les uns des autres. Si un point se trouve au-delà de cette distance par rapport au point le plus proche dans l’agrégat, il n’est pas inclus dans l’agrégat.

Pour l’option Multi-échelles (OPTICS) du paramètre Méthode d’agrégation, ce paramètre est facultatif et est utilisé comme distance de recherche maximale lors de la création du diagramme d’accès. Pour l’algorithme OPTICS, le diagramme d’accès, combiné à la valeur du paramètre Sensibilité de l’agrégat, détermine l’appartenance à l’agrégat. Si aucune distance n’est spécifiée, l’outil doit rechercher toutes les distances, ce qui augmente le temps de traitement.

Si elle n’est pas indiquée, la distance par défaut utilisée correspond à la distance principale la plus élevée dans le jeu de données, en excluant les distances principales figurant dans le 1 pour cent supérieur (les distances principales les plus extrêmes). Si la valeur du paramètre Champ temporel est spécifiée, une distance de recherche doit être indiquée et ne comprend pas de valeur par défaut.

Linear Unit
Sensibilité de l’agrégat

Un entier entre 0 et 100 déterminant la densité des agrégats. Un nombre proche de 100 entraîne un plus grand nombre d’agrégats denses. Un nombre proche de 0 entraîne un moins grand nombre d’agrégats moins compacts. Si vous n’indiquez aucune valeur, l’outil trouve une valeur de sensibilité à l’aide de la divergence de Kullback-Leibler qui recherche la valeur lorsque l’ajout d’agrégats supplémentaires n’ajoute pas d’informations supplémentaires.

Long
Champ temporel

Le champ contenant l'horodatage pour chaque enregistrement du jeu de données. Ce champ doit être de type Date. Si ce paramètre est spécifié, l’outil recherche les agrégats de points proches les uns des autres dans l’espace et le temps. La valeur du paramètre Intervalle temporel de recherche doit être spécifiée pour déterminer si un point est assez proche dans le temps d’un agrégat pour y être inclus.

Field
Intervalle temporel de recherche

Intervalle temporel de recherche allant être utilisé pour déterminer si les points forment un agrégat spatio-temporel. L’intervalle temporel de recherche s’étend avant et après la période temporelle de chaque point. Par exemple, un intervalle de 3 jours autour d’un point comprend tous les points commençant 3 jours avant et se terminant 3 jours après la période temporelle du point.

  • Pour l’option Distance définie (DBSCAN) du paramètre Méthode d’agrégation, la valeur du paramètre Nombre minimum d’entités par agrégat doit figurer dans la distance de recherche et l’intervalle temporel de recherche pour être comprise dans un agrégat.
  • Pour l’option Multi-échelles (OPTICS) du paramètre Méthode d’agrégation, tous les points figurant en dehors de l’intervalle temporel de recherche sont exclus du calcul des distances principales, des distances-voisin et des distances d’accès.

L’intervalle temporel de recherche ne contrôle pas l’intervalle temporel global des agrégats spatio-temporels résultants. L’intervalle temporel de points dans un agrégat peut être plus grand que l’intervalle temporel de recherche à condition que chaque point possède des voisins dans l’agrégat qui se trouvent dans l’intervalle temporel de recherche.

Time Unit

arcpy.stats.DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity, time_field, search_time_interval)
NomExplicationType de données
in_features

Entités ponctuelles pour lesquelles une agrégation basée sur la densité est effectuée.

Feature Layer
output_features

Classe d’entités en sortie recevant les agrégats finals.

Feature Class
cluster_method

Spécifie la méthode utilisée pour définir les agrégats.

  • DBSCANUne distance spécifiée est utilisée pour séparer les agrégats denses du bruit plus clairsemé. DBSCAN est la méthode d’agrégation la plus rapide mais convient seulement si vous disposez d’une distance nette qui permet de définir tous les agrégats pouvant être présents. Elle aboutit à des agrégats dont la densité est similaire.
  • HDBSCANDes distances variables sont utilisées pour séparer les agrégats de densités variables du bruit plus clairsemé. HDBSCAN est la méthode d’agrégation la plus axée sur les données et nécessite de ce fait le moins d’informations saisies par l’utilisateur.
  • OPTICSLa distance entre les voisins et un diagramme d’accès sont utilisés pour séparer les agrégats de densités variables du bruit. L’algorithme OPTICS offre le plus de souplesse en matière d’optimisation des agrégats détectés, même si cette méthode implique de nombreux calculs exigeant un grand nombre de ressources, notamment en ce qui concerne la longue distance de recherche.
String
min_features_cluster

Nombre minimal de points à considérer comme un agrégat. Un agrégat dont le nombre de points est inférieur au nombre indiqué est considéré comme du bruit.

Long
search_distance
(Facultatif)

Distance maximale à considérer.

Pour l’option DBSCAN du paramètre cluster_method, la valeur du paramètre min_features_cluster doit figurer dans cette distance pour l’appartenance à l’agrégat. Les agrégats sont, au minimum, à cette distance les uns des autres. Si un point se trouve au-delà de cette distance par rapport au point le plus proche dans l’agrégat, il n’est pas inclus dans l’agrégat.

Pour l’option OPTICS du paramètre cluster_method, ce paramètre est facultatif et est utilisé comme distance de recherche maximale lors de la création du diagramme d’accès. Pour l’algorithme OPTICS, le diagramme d’accès, combiné à la valeur du paramètre cluster_sensitivity, détermine l’appartenance à l’agrégat. Si aucune distance n’est spécifiée, l’outil doit rechercher toutes les distances, ce qui augmente le temps de traitement.

Si elle n’est pas indiquée, la distance par défaut utilisée correspond à la distance principale la plus élevée dans le jeu de données, en excluant les distances principales figurant dans le 1 pour cent supérieur (les distances principales les plus extrêmes). Si la valeur du paramètre time_field est spécifiée, une distance de recherche doit être indiquée et ne comprend pas de valeur par défaut.

Linear Unit
cluster_sensitivity

Un entier entre 0 et 100 déterminant la densité des agrégats. Un nombre proche de 100 entraîne un plus grand nombre d’agrégats denses. Un nombre proche de 0 entraîne un moins grand nombre d’agrégats moins compacts. Si vous n’indiquez aucune valeur, l’outil trouve une valeur de sensibilité à l’aide de la divergence de Kullback-Leibler qui recherche la valeur lorsque l’ajout d’agrégats supplémentaires n’ajoute pas d’informations supplémentaires.

Long
time_field

Le champ contenant l'horodatage pour chaque enregistrement du jeu de données. Ce champ doit être de type Date. Si ce paramètre est spécifié, l’outil recherche les agrégats de points proches les uns des autres dans l’espace et le temps. La valeur du paramètre search_time_interval doit être spécifiée pour déterminer si un point est assez proche dans le temps d’un agrégat pour y être inclus.

Field
search_time_interval

Intervalle temporel de recherche allant être utilisé pour déterminer si les points forment un agrégat spatio-temporel. L’intervalle temporel de recherche s’étend avant et après la période temporelle de chaque point. Par exemple, un intervalle de 3 jours autour d’un point comprend tous les points commençant 3 jours avant et se terminant 3 jours après la période temporelle du point.

  • Pour l’option DBSCAN du paramètre cluster_method, la valeur min_features_cluster spécifiée doit figurer dans la distance de recherche et l’intervalle temporel de recherche pour être comprise dans un agrégat.
  • Pour l’option OPTICS du paramètre cluster_method, tous les points figurant en dehors de l’intervalle temporel de recherche sont exclus du calcul des distances principales, des distances-voisin et des distances d’accès.

L’intervalle temporel de recherche ne contrôle pas l’intervalle temporel global des agrégats spatio-temporels résultants. L’intervalle temporel de points dans un agrégat peut être plus grand que l’intervalle temporel de recherche à condition que chaque point possède des voisins dans l’agrégat qui se trouvent dans l’intervalle temporel de recherche.

Time Unit

Exemple de code

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

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction DensityBasedClustering.

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
Exemple d’utilisation de l’outil DensityBasedClustering 2 (script autonome)

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

# Clustering crime incidents in a downtown area using the DensityBasedClustering
# function

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with the HDBSCAN Cluster Method using a minimum 
# of 15 features per cluster
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)

# Run Density-based Clustering again using OPTICS with a Search Distance and 
# Cluster Sensitivity to create tighter clusters
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_Optics", "OPTICS", 
                                   15, "1200 Meters", 70)
Exemple d’utilisation de l’outil DensityBasedClustering 3 (script autonome)

Le script autonome Python ci-dessous illustre l’utilisation de la fonction DensityBasedClustering avec le temps.

# The following stand-alone Python script demonstrates how to use 
# the DensityBasedClustering function with time to find space-time clusters.

# Time field and Search time interval only supported by DBSCAN and OPTICS methods

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with DBSCAN Cluster Method, and choose 50 as the minimum
# features per cluster, 200 meter search distance, and 10 minute search time interval
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_DBSCAN_Time", 
                        "DBSCAN",  50, "200 Meters", None, "Pickup_Time", "10 Minutes")

# Run Density-based Clustering with OPTICS Method, and choose 50 as the minimum
# of features per cluster, 200 meter search distance, and 10 minute search time interval. 
# Using 15 as the cluster sensitivity to create a higher number of dense clusters
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_OPTICS_Time", 
                        "OPTICS",  50, "200 Meters", 15, "Pickup_Time", "10 Minutes")