Résumé
Cet outil regroupe des entités en fonction d'attributs d'entités et de contraintes spatiales ou temporelles facultatives.
En savoir plus sur le fonctionnement de l'outil Analyse des regroupements
Illustration
Utilisation
-
Cet outil génère une classe d'entités en sortie avec les champs utilisés dans l'analyse, ainsi qu'un nouveau champ d'entier appelé SS_GROUP. Le rendu par défaut dépend du champ SS_GROUP et indique à quel groupe appartient chaque entité. Si vous souhaitez utiliser trois groupes, par exemple, chaque enregistrement affichera 1, 2 ou 3 dans le champ SS_GROUP. Lorsque NO_SPATIAL_CONSTRAINT est sélectionné pour le paramètre Contraintes spatiales, la classe d'entités en sortie contient également un nouveau champ binaire appelé SS_SEED.. Le champ SS_SEED indique quelles entités ont été initialement utilisées pour créer des groupes. Le nombre de valeurs non nulles indiqué dans le champ SS_SEED correspond à la valeur que vous avez spécifiée pour le paramètre Nombre de groupes.
-
Cet outil permet également de créer un fichier PDF du rapport lorsque vous spécifiez un chemin pour le paramètre Fichier de rapport en sortie. Ce rapport contient divers graphiques et tables qui vous aideront à comprendre les caractéristiques des groupes identifiés. Vous pouvez accéder au fichier PDF du rapport à partir de la fenêtre Résultats.
-
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.
-
Le Champ d’ID unique permet de lier les enregistrements de la Classe d'entités en sortie aux données de la classe d'entités en entrée d'origine. Par conséquent, les valeurs Champ d'ID unique doivent être uniques pour chaque entité et, en général, ce champ est associé de façon permanente à la classe d'entités. Si vous n'avez pas de Champ d'ID unique dans votre jeu de données, il est facile d'en créer un en ajoutant un nouveau champ d'entier à votre table de classes d'entités et en calculant les valeurs du champ de sorte qu'elles soient égales à celles du champ FID/OID. Vous ne pouvez pas utiliser directement le champ FID/OID comme paramètre Champ d'ID unique.
-
Les Champs d'analyse doivent être numériques et contenir diverses valeurs. Les champs sans variation (ceux dont la valeur est identique dans chaque enregistrement) seront exclus de l'analyse, mais inclus dans la Classe d'entités en sortie. Vous pouvez utiliser des champs de catégorie avec l'outil Analyse des regroupements s'ils sont représentés par des variables fictives (1 pour toutes les entités d'une catégorie et 0 pour toutes les autres entités).
-
L'outil Analyse des regroupements crée des groupes avec ou sans contraintes spatiales ou temporelles. Dans certains cas, vous ne souhaiterez peut-être pas imposer de contraintes de contiguïté ni autres critères de proximité aux groupes créés. Vous devrez alors définir le paramètre Contraintes spatiales sur NO_SPATIAL_CONSTRAINT.
-
Les groupes devront être spatialement contigus dans le cadre de certaines analyses. Les options de contiguïté sont activées pour les classes d'entités surfaciques et indiquent que les entités peuvent seulement faire partie du même groupe si elles partagent une limite (CONTIGUITY_EDGES_ONLY) ou si elles partagent soit une limite, soit un sommet (CONTIGUITY_EDGES_CORNERS) avec un autre membre du groupe.
-
Les options DELAUNAY_TRIANGULATION et K_NEAREST_NEIGHBORS conviennent aux entités ponctuelles ou surfaciques si vous voulez que tous les membres d'un groupe soient proximaux. Ces options indiquent qu'une entité sera incluse dans un groupe si au moins une autre entité est un voisin naturel (triangulation de Delaunay) ou l'un des K plus proches voisins. K indique le nombre de voisins à prendre en compte ; il est déterminé par le paramètre Nombre de voisins.
-
Pour créer des groupes soumis à des contraintes spatiales et temporelles, utilisez l'outil Générer la matrice de pondérations spatiales pour créer un fichier de matrice de pondérations spatiales (.swm) définissant les relations spatio-temporelles entre les entités. Ensuite, exécutez l'outil Analyse des regroupements en définissant le paramètre Contraintes spatiales sur GET_SPATIAL_WEIGHTS_FROM_FILE et le Fichier de matrice de pondérations spatiales sur le fichier SWM que vous avez créé.
-
Vous pouvez imposer des Contraintes spatiales supplémentaires, comme une distance fixe. A cette fin, utilisez l'outil Générer la matrice de pondérations spatiales pour créer un fichier SWM, puis indiquez le chemin d'accès à ce fichier pour le paramètre Fichier de matrice de pondérations spatiales.
-
En définissant une contrainte spatiale, vous êtes sûr que les groupes sont compacts, contigus ou proximaux. L'ajout de variables spatiales à votre liste de Champs d'analyse encourage également ces attributs de groupe. L'éloignement des bretelles d'autoroute, l'accessibilité aux bassins d'emploi, la proximité des commerces, les mesures de connectivité et même les coordonnées (X,Y) sont des exemples de variables spatiales. L'ajout de variables de temps (heure, jour de la semaine ou distance temporelle) peut encourager la compacité temporelle parmi les membres d'un groupe.
-
Une distribution spatiale caractéristique de vos entités (trois agrégats séparés, spatialement distincts, par exemple) peut compliquer l'algorithme de regroupement spatialement contraint. Par conséquent, l'algorithme de regroupement commence par déterminer si des groupes sont déconnectés. Si le nombre de groupes déconnectés est supérieur au Nombre de groupes spécifié, l'outil ne peut pas s'exécuter. Un message d'erreur s'affiche alors. Si le nombre de groupes déconnectés est identique au Nombre de groupes spécifié, la configuration spatiale des seules entités détermine les résultats du groupe, comme l'illustre la figure (A) ci-dessous. Si le Nombre de groupes spécifié est supérieur au nombre de groupes déconnectés, le regroupement commence par les groupes déconnectés déjà déterminés. Par exemple, si trois groupes sont déconnectés et si le Nombre de groupes spécifié est 4, l'un des trois groupes sera divisé pour en créer un quatrième, comme l'illustre la figure (B) ci-dessous.
-
Dans certains cas, l'outil Analyse des regroupements ne pourra pas appliquer les contraintes spatiales imposées, et certaines entités ne seront pas incluses dans un groupe donné (la valeur SS_GROUP sera -9999 avec un rendu évidé). Cela se produit si certaines entités n'ont pas de voisins. Pour éviter ce problème, utilisez K_NEAREST_NEIGHBORS pour vous assurer que toutes les entités ont des voisins. Augmentez la valeur du paramètre Nombre de voisins pour essayer de résoudre les problèmes de groupes déconnectés.
-
Alors que l'on a tendance a vouloir inclure autant de Champs d'analyse que possible, dans le cas de cet outil, il vaut mieux commencer avec une seule variable puis en ajouter. Les résultats sont beaucoup plus faciles à interpréter avec moins de champs d'analyse. Il est également plus simple de déterminer quelles variables sont les meilleurs discriminants lorsque les champs sont peu nombreux.
-
Lorsque vous sélectionnez NO_SPATIAL_CONSTRAINT pour le paramètre Contraintes spatiales, vous pouvez choisir parmi les trois options suivantes pour la méthode d'initialisation : FIND_SEED_LOCATIONS, GET_SEEDS_FROM_FIELD et USE_RANDOM_SEEDS. Les valeurs initiales sont des entités utilisées pour créer des groupes individuels. Si, par exemple, vous entrez 3 pour le paramètre Nombre de groupes, l'analyse commence avec trois entités initiales. L'option par défaut, FIND_SEED_LOCATIONS, sélectionne la première valeur initiale de manière aléatoire et s'assure que les valeurs initiales suivantes sélectionnées représentent des entités qui sont éloignées les unes de autres dans l'espace de données. Pour améliorer les performances, sélectionnez des valeurs initiales qui capturent différentes zones de l'espace de données. Lorsque des entités spécifiques reflètent des caractéristiques distinctes, vous souhaitez peut-être les représenter dans différents groupes. Si c'est le cas, créez un champ de valeurs initiales pour identifier ces entités particulières. Le champ de valeurs initiales que vous créez doit contenir des zéros pour toutes les entités, à l'exception des entités initiales qui doivent être égales à 1. Définissez ensuite le paramètre Méthode d'initialisation sur GET_SEEDS_FROM_FIELD. Si vous souhaitez effectuer une analyse de la sensibilité pour déterminer quelles entités figurent systématiquement dans le même groupe, vous pouvez sélectionner l'option USE_RANDOM_SEEDS pour le paramètre Méthode d'initialisation. Pour cette option, toutes les entités initiales sont sélectionnées au hasard.
-
Toute valeur 1 entrée dans le Champ d'initialisation est interprétée comme une valeur initiale. Si le nombre d'entités initiales est supérieur au Nombre de groupes, les entités initiales seront sélectionnées au hasard parmi celles identifiées par le Champ d'initialisation. Si le nombre d'entités initiales est inférieur au Nombre de groupes spécifié, des entités initiales supplémentaires seront sélectionnées pour qu'elles soient éloignées (dans l'espace de données) de celles identifiées par le Champ d'initialisation.
-
Vous savez parfois quel Nombre de groupes convient le mieux à vos données. Mais si ce n'est pas le cas, vous devrez tester différents nombres de groupes et noter les valeurs qui permettent le mieux de les différencier. Lorsque vous sélectionnez le paramètre Evaluer le nombre optimal de groupes, une statistique pseudo-F est calculée pour regrouper les solutions de 2 à 15 groupes. Si aucun autre critère ne vous permet de déterminer le Nombre de groupes, utilisez un nombre associé à l'une des valeurs statistiques pseudo-F les plus élevées. Les valeurs statistiques pseudo-F les plus élevées désignent les solutions qui optimisent le mieux les similarités à l'intérieur des groupes et les différences entre les groupes. Lorsque vous spécifiez un Fichier de rapport en sortie facultatif, ce rapport PDF inclut un diagramme représentant les valeurs statistiques pseudo-F pour les solutions de 2 à 15 groupes.
-
Quel que soit le nombre de groupes spécifié, l'outil s'arrête si la division en groupes supplémentaires devient arbitraire. Supposons, par exemple, que vos données soient composées de trois polygones spatialement agrégés et d'un seul champ d'analyse. Si toutes les entités d'un agrégat ont la même valeur de champ d'analyse, la division de chaque agrégat devient arbitraire après la création des trois groupes. Si vous spécifiez plus de trois groupes dans ce cas de figure, l'outil continue à ne créer que trois groupes. Tant qu'au moins un des champs d'analyse d'un groupe comporte des variations de valeurs, la division en groupes supplémentaires peut se poursuivre.
-
Lorsque vous incluez une contrainte spatiale ou spatio-temporelle dans votre analyse, les statistiques pseudo-F sont comparables (à condition que les Entités en entrée et les Champs d'analyse ne changent pas). Par conséquent, vous pouvez utiliser les valeurs statistiques F pour déterminer non seulement le Nombre de groupes optimal, mais également pour choisir les Contraintes spatiales, la Méthode de calcul de distance et le Nombre de voisins les plus efficaces.
-
L'algorithme des K-moyennes utilisé pour diviser des entités en groupes, lorsque le paramètre Contraintes spatiales est défini sur NO_SPATIAL_CONSTRAINT et la Méthode d'initialisation sélectionnée est FIND_SEED_LOCATIONS ou USE_RANDOM_SEEDS, intègre des heuristiques et peut renvoyer un résultat différent chaque fois que vous exécutez l'outil (même si vous utilisez les mêmes données et paramètres d'outils). Cela est dû au caractère aléatoire de la recherche des entités initiales utilisées pour créer les groupes.
-
Lorsqu'une contrainte spatiale est imposée, l'algorithme n'a rien d'aléatoire, si bien qu'une simple statistique pseudo-F peut être calculée pour les groupes 2 à 15, et les valeurs statistiques F les plus élevées peuvent servir à déterminer le Nombre de groupes optimal pour votre analyse. Toutefois, comme l'option NO_SPATIAL_CONSTRAINT est une solution heuristique, la détermination du nombre optimal de groupes s'avère plus complexe. La statistique F peut différer à chaque exécution de l'outil, car les entités initiales sont toutes différentes. Pourtant, dans le cas d'une distribution distincte de vos données, les solutions trouvées à chaque exécution seront plus cohérentes. Par conséquent, pour vous aider à déterminer le nombre optimal de groupes lorsque l'option NO_SPATIAL_CONSTRAINT est sélectionnée, l'outil résout 10 fois l'analyse des regroupements de 2 à 15 groupes. Les informations concernant la distribution des ces 10 solutions sont ensuite consignées (min, max, moyenne et médiane) afin de vous aider à déterminer le nombre optimal de groupes pour votre analyse.
-
L'outil Analyse des regroupements renvoie trois valeurs en sortie dérivées pour éventuellement les utiliser dans les modèles et les scripts personnalisés. Il s'agit des statistiques pseudo-F pour le Nombre de groupes (Output_FStat), de la statistique pseudo-F la plus élevée pour les groupes 2 à 15 (Max_FStat) et du nombre de groupes associé à la valeur statistique pseudo-F la plus élevée (Max_FStat_Group). Lorsque vous choisissez de ne pas Evaluer le nombre optimal de groupes, toutes les variables en sortie dérivées sont définies sur None.
-
Le nombre de groupes attribué à un jeu d'entités peut changer à chaque exécution. Supposons, par exemple, que vous divisiez les entités en deux groupes basés sur une variable de revenu. La première fois que vous lancez l'analyse, les entités de revenu élevé peuvent s'intituler « groupe 2 » et les entités de revenu faible « groupe 1 ». Lors de la deuxième exécution, il se peut que les entités de revenu élevé s'intitulent « groupe 1 ». Il peut également arriver que certaines entités de revenu moyen changent de groupe à chaque exécution lorsque l'option NO_SPATIAL_CONSTRAINT est sélectionnée.
-
Bien que vous puissiez choisir de créer un grand nombre de groupes différents, dans la plupart des cas, vous diviserez les entités en quelques groupes seulement. Comme les graphiques et les cartes contenant de nombreux groupes sont plus difficiles à interpréter, aucun rapport n'est créé lorsque vous entrez une valeur supérieure à 15 dans Nombre de groupes ou lorsque vous sélectionnez plus de 15 Champs d'analyse. Toutefois, vous pouvez augmenter la limite du nombre maximum de groupes.
-
Si vous le souhaitez, cet outil peut également générer un fichier PDF récapitulant les résultats. Les fichiers PDF n'apparaissent pas automatiquement dans la fenêtre Catalogue. Si vous souhaitez afficher des fichiers PDF dans la fenêtre Catalogue, ouvrez l'application ArcCatalog, sélectionnez l'option de menu Personnaliser, cliquez sur Options ArcCatalog et sélectionnez l'onglet Types de fichiers. Cliquez sur le bouton Nouveau type et, pour la valeur du paramètre Extension de fichier, spécifiez PDF comme indiqué ci-après.
-
Sur des machines configurées avec les modules linguistiques d'ArcGIS pour l'arabe et d'autres langues qui s'écrivent de droite à gauche, vous remarquerez peut-être du texte manquant ou des problèmes de mise en forme dans le fichier de rapport en sortie (au format PDF). Ces problèmes sont traités dans cet article.
-
Pour en savoir plus sur le Fichier de rapport en sortie, reportez-vous à la rubrique En savoir plus sur le fonctionnement de l'outil Analyse des regroupements .
Syntaxe
GroupingAnalysis_stats (Input_Features, Unique_ID_Field, Output_Feature_Class, Number_of_Groups, Analysis_Fields, Spatial_Constraints, {Distance_Method}, {Number_of_Neighbors}, {Weights_Matrix_File}, {Initialization_Method}, {Initialization_Field}, {Output_Report_File}, {Evaluate_Optimal_Number_of_Groups})
Paramètre | Explication | Type de données |
Input_Features | Classe ou couche d'entités pour laquelle vous souhaitez créer des groupes. | Feature Layer |
Unique_ID_Field | Champ de nombre entier qui contient une valeur différente pour chaque entité dans la classe d'entités en entrée. Si aucun champ ID unique n'est présent, il est facile d'en créer un en ajoutant un nouveau champ d'entier à votre table de classes d'entités et en calculant les valeurs du champ de sorte qu'elles soient égales à celles du champ FID ou OBJECTID. | Field |
Output_Feature_Class | Nouvelle classe d'entités en sortie créée qui contient toutes les entités, les champs d'analyse utilisés, ainsi qu'un champ permettant d'identifier le groupe auquel chaque entité appartient. | Feature Class |
Number_of_Groups | Nombre de groupes à créer. Le paramètre Rapport en sortie sera désactivé s'il y a plus de 15 groupes. | Long |
Analysis_Fields [analysis_field,...] | Liste de champs à utiliser pour distinguer les groupes entre eux. Le paramètre Rapport en sortie sera désactivé s'il y a plus de 15 champs. | Field |
Spatial_Constraints | Indique si (et comment) les relations spatiales entre les entités doivent contraindre les groupes créés.
| String |
Distance_Method (Facultatif) | Spécifie le mode de calcul des distances de chaque entité avec les entités voisines.
| String |
Number_of_Neighbors (Facultatif) | Ce paramètre peut être spécifié lorsque le paramètre Spatial_Constraints est défini sur K_NEAREST_NEIGHBORS ou par l'une des méthodes de contiguïté (CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS). Le nombre de voisins par défaut est de 8 et ne peut pas être inférieur à 2 pour K_NEAREST_NEIGHBORS. Cette valeur reflète le nombre exact de candidats voisins les plus proches à prendre en compte lors de la création des groupes. Une entité n'est incluse dans un groupe que si l'une des autres entités de ce groupe fait partie des k plus proches voisins. La valeur par défaut pour CONTIGUITY_EDGES_ONLY et CONTIGUITY_EDGES_CORNERS est 0. Pour les méthodes de contiguïté, cette valeur reflète le nombre minimum de candidats voisins à prendre en compte. Les voisins proches supplémentaires pour les entités dont le paramètre Number_of_Neighbors est inférieur à celui spécifié reposera sur la proximité avec le centroïde des entités. | Long |
Weights_Matrix_File (Facultatif) | Chemin d'accès à un fichier contenant les pondérations spatiales qui définissent les relations spatiales entre les entités. | File |
Initialization_Method (Facultatif) | Indique comment les valeurs initiales sont obtenues lorsque le paramètre Spatial_Constraint sélectionné est NO_SPATIAL_CONSTRAINT. Les valeurs initiales sont utilisées pour créer des groupes. Si vous spécifiez trois groupes, par exemple, l'analyse commence avec trois valeurs initiales.
| String |
Initialization_Field (Facultatif) | Champ numérique identifiant les entités initiales. Les entités ayant la valeur 1 dans ce champ sont utilisées pour créer des groupes. | Field |
Output_Report_File (Facultatif) | Chemin d'accès complet au fichier PDF du rapport à créer, récapitulant les caractéristiques des groupes. Ce rapport contient plusieurs graphiques qui vous aideront à comparer les caractéristiques de chacun des groupes. La création de ce fichier de rapport peut augmenter considérablement la durée de traitement. | File |
Evaluate_Optimal_Number_of_Groups (Facultatif) |
| Boolean |
Sortie dérivée
Nom | Explication | Type de données |
Output_FStat | ||
Max_FStat_Group | ||
Max_FStat |
Exemple de code
Exemple 1 d'utilisation de l'outil GroupingAnalysis (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil GroupingAnalysis.
import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\GA"
SS.GroupingAnalysis("Dist_Vandalism.shp", "TARGET_FID", "outGSF.shp", "4",
"Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
"NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
"outGSF.pdf", "DO_NOT_EVALUATE")
Exemple 2 d'utilisation de l'outil GroupingAnalysis (script autonome)
Le script Python autonome ci-dessous illustre l'utilisation de l'outil GroupingAnalysis.
# Grouping Analysis of Vandalism data in a metropolitan area
# using the Grouping Analysis Tool
# Import system modules
import arcpy, os
import arcpy.stats as SS
# Set geoprocessor object property to overwrite existing output, by default
arcpy.gp.overwriteOutput = True
try:
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"C:\GA"
# Join the 911 Call Point feature class to the Block Group Polygon feature class
# Process: Spatial Join
fieldMappings = arcpy.FieldMappings()
fieldMappings.addTable("ReportingDistricts.shp")
fieldMappings.addTable("Vandalism2006.shp")
sj = arcpy.SpatialJoin_analysis("ReportingDistricts.shp", "Vandalism2006.shp", "Dist_Vand.shp",
"JOIN_ONE_TO_ONE",
"KEEP_ALL",
fieldMappings,
"COMPLETELY_CONTAINS", "", "")
# Use Grouping Analysis tool to create groups based on different variables or analysis fields
# Process: Group Similar Features
ga = SS.GroupingAnalysis("Dist_Vand.shp", "TARGET_FID", "outGSF.shp", "4",
"Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
"NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
"outGSF.pdf", "DO_NOT_EVALUATE")
# Use Summary Statistic tool to get the Mean of variables used to group
# Process: Summary Statistics
SumStat = arcpy.Statistics_analysis("outGSF.shp", "outSS", "Join_Count MEAN; \
VACANT_CY MEAN;TOTPOP_CY MEAN;UNEMP_CY MEAN",
"GSF_GROUP")
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
- Transformations géographiques
- Espace de travail courant
- Espace de travail temporaire
- Noms de champ qualifiés
- Valeurs M en sortie
- Résolution M
- Tolérance M
- Valeurs Z en sortie
- Valeur Z en sortie par défaut
- Résolution Z
- Tolérance Z
- Résolution XY
- Tolérance XY
- Générateur de nombres aléatoires
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui
Rubriques connexes
- Modélisation de relations spatiales
- Qu'est-ce qu'un score z ? Qu'est-ce qu'une valeur p ?
- Pondérations spatiales
- Présentation générale du jeu d'outils Appariement d'agrégats
- Autocorrélation spatiale (Global Moran's I)
- Fonctionnement de l'outil Analyse des regroupements
- Recherche de similarité
- Distribution directionnelle (ellipse de l'écart type)