Résumé
Réduit le nombre de dimensions d’un ensemble de variables continues en agrégeant le plus grand volume possible de variance en un nombre inférieur de composantes avec l’analyse des composantes principales (ACP) ou l’analyse linéaire discriminante (ALD). Les variables sont spécifiées sous forme de champs dans une couche d’entités ou table en entrée, et de nouveaux champs représentant les nouvelles variables sont enregistrés dans la classe d’entités ou table en sortie. Le nombre de nouveaux champs sera moindre que le nombre de variables d’origine tout en maintenant le volume le plus élevé possible de variance par rapport aux variables d’origine.
La réduction des dimensions est généralement utilisée pour explorer les relations multivariées entre des variables et pour réduire le coût de calcul des algorithmes d’apprentissage automatique où la mémoire requise et le temps de traitement dépendent du nombre de dimensions dans les données. Utiliser les composantes à la place des données d’origine ou des algorithmes d’apprentissage automatique permet souvent d’obtenir des résultats comparables (ou même meilleurs) tout en consommant moins de ressources de calcul.
Pour en savoir plus sur l’utilisation de l’outil Réduction des dimensions
Illustration
Utilisation
Au moins deux champs numériques doivent être fournis dans le paramètre Analysis Fields (Champs d’analyse) car les données doivent avoir au moins deux dimensions pour que ces dernières puissent être réduites.
Deux options sont disponibles pour le paramètre Dimension Reduction Method (Méthode de réduction des dimensions) :
- Principal Component Analysis (PCA) (Analyse des Composantes Principales (ACP)) : cette méthode construit des composantes de façon séquentielle. Chacune des composantes capture autant de variance totale et de corrélations que possible entre les variables d’origine. Le paramètre Scale Data (Données d’échelle) permet de placer chaque variable d’origine à la même échelle afin que chaque variable ait une importance égale dans les composantes principales. Si les données ne sont pas mises à l’échelle, les variables avec des valeurs supérieures compteront pour la majeure partie de la variance totale et seront surreprésentées dans les premières composantes. Cette méthode est recommandée lorsque vous voulez réaliser une méthode d’analyse ou d’apprentissage automatique dans laquelle les composantes servent à prévoir la valeur d’une variable continue.
- Reduced-Rank Linear Discriminant Analysis (LDA) (Analyse linéaire discriminante (ALD)) : cette méthode construit des composants qui optimise la séparabilité des variables d’analyse et des différents niveaux d’une variable catégorielle fournie dans le paramètre Categorical Field (Champ catégoriel). Les composantes maintiennent autant de variance entre les catégories que possible afin que les composantes obtenues soient les plus efficaces en matière de classement de chaque enregistrement dans l’une des catégories. Cette méthode met automatiquement à l’échelle les données et est recommandée lorsque vous voulez réaliser une méthode d’analyse ou d’apprentissage automatique dans laquelle les composantes servent à classer la catégorie d’une variable catégorielle.
Les messages de géotraitement affichent le pourcentage et le pourcentage cumulé de la variance maintenue par chaque composante.
Le nombre de composantes qui seront créées varie selon que vous spécifiez des valeurs pour les paramètres Minimum Percent Variance to Maintain (Pourcentage minimal de variance à maintenir) et Minimum Number of Components (Nombre minimal de composantes).
- Si un paramètre est spécifié et pas l’autre, la valeur du paramètre spécifié détermine le nombre de composantes. Le nombre de composantes sera égal au plus petit nombre nécessaire pour satisfaire le minimum spécifié.
- Si les deux paramètres sont spécifiés, le plus grand des deux nombres obtenus de composantes est utilisé.
- Si aucun paramètre n’est spécifié, le nombre de composantes est déterminé à l’aide de plusieurs méthodes statistiques, et l’outil utilisera le plus grand nombre de composantes recommandé par chacune des méthodes. Les deux méthodes de réduction des dimensions incluent la méthode des « bâtons brisés » (Broken-Stick) et le test de sphéricité de Bartlett. Pour ACP, un test de permutation est également réalisé si la valeur du paramètre Number of Permutations (Nombre de permutations) est supérieure à zéro.
Des informations sur les résultats de chaque test s’affichent sous forme de messages de géotraitement.
Si une table est créée par le paramètre Output Eigenvalues Table (Table de valeurs propres en sortie), un diagramme Scree Plot (Tracé d’éboulis) est créé dans la table en sortie pour visualiser la variance maintenue par chaque composante.
Si une table est créée par le paramètre Output Eigenvectors Table (Table de vecteurs propres en sortie), un diagramme à barres est créé dans la table en sortie pour visualiser chacun des vecteurs propres.
Pour plus d’informations sur l’analyse des composantes principales (ACP) et l’analyse linéaire discriminante (ALD), consultez la référence suivante :
- James, G., Witten, D., Hastie, T., Tibshirani, R. (2014). « An Introduction to Statistical Learning: with Applications in R. » Springer Publishing Company, Incorporated. https://doi.org/10.1007/978-1-4614-7138-7
Pour plus d’informations sur les modes de calcul du nombre de composantes, consultez la référence suivante :
- Peres-Neto, P., Jackson, D., Somers, K. (2005). « How many principal components? Stopping rules for determining the number of non-trivial axes revisited. » Computational Statistics & Data Analysis. 49.4: 974-997. https://doi.org/10.1016/j.csda.2004.06.015.
Syntaxe
arcpy.stats.DimensionReduction(in_table, output_data, fields, {method}, {scale}, {categorical_field}, {min_variance}, {min_components}, {append_fields}, {output_eigenvalues_table}, {output_eigenvectors_table}, {number_of_permutations})
Paramètre | Explication | Type de données |
in_table | La table ou les entités contenant les champs avec la dimension qui sera réduite. | Table View |
output_data | La classe d’entités et table en sortie contenant les composants générés de la réduction des dimensions. | Table |
fields [fields,...] | Les champs représentant les données avec la dimension qui sera réduite. | Field |
method (Facultatif) | Indique la méthode à utiliser pour réduire les dimensions des champs d’analyse.
| String |
scale (Facultatif) | Indique si les valeurs de chaque analyse seront mises à l’échelle pour que la variance soit égale à un. Cette mise à l’échelle garantit que chaque champ d’analyse a une priorité égale dans les composants. La mise à l’échelle supprime également l’effet des unités linéaires, par exemple, les mêmes données mesurées en mètres et en pieds donneront des composants équivalents. Les valeurs des champs d’analyse subiront une translation afin d’obtenir un zéro moyen pour les deux options.
| Boolean |
categorical_field (Facultatif) | Le champ représentant la variable catégorielle pour ALD. Les composants maintiennent le nombre maximal d’informations requis pour classer chaque enregistrement en entrée dans ces catégories. | Field |
min_variance (Facultatif) | Pourcentage minimal de variance totale des champs d’analyse qui doit être maintenu dans les composants. La variance totale varie selon que les champs d’analyse ont été mis à l’échelle avec le paramètre Scale Data (Données d’échelle) ou non. | Long |
min_components (Facultatif) | Le nombre minimal de composantes. | Long |
append_fields (Facultatif) | Indique si tous les champs des entités ou de la table en entrée seront copiés ou ajoutés aux entités ou à la table en sortie. Les champs fournis dans le paramètre fields seront copiés dans la sortie quelle que soit la valeur de ce paramètre.
| Boolean |
output_eigenvalues_table (Facultatif) | La table en sortie contenant les valeurs propres de chaque composant. | Table |
output_eigenvectors_table (Facultatif) | La table en sortie contenant les vecteurs propres de chaque composant. | Table |
number_of_permutations (Facultatif) | Indique le nombre de permutations à utiliser pour déterminer le nombre optimal de composants. La valeur par défaut est 0, ce qui signifie qu’aucun test de permutation n’est réalisé. La valeur fournie doit être égale à 0, 99, 199, 499 ou 999. Si une autre valeur est fournie, 0 est utilisé et aucun test de permutation n’est réalisé. | Long |
Exemple de code
Le script Python ci-dessous illustre l’utilisation de l’outil DimensionReduction.
arcpy.stats.DimensionReduction("DemographicData",
"DemographicData_DimensionReduction",
"age_group_1;age_group2;age_group_3;age_group_4;age_group_5",
"PCA", "NO_SCALE_DATA", None, None, 3,
"NO_APPEND", "EigenValueTable", None, 99)
Le script Python autonome ci-dessous illustre l’utilisation de l’outil DimensionReduction pour prévoir la population :
# Import system modules
import arcpy
# Overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
arcpy.env.workspace = r"c:\projects\dimensionreduction.gdb"
# Reduce the fields of population by age group using Reduced-Rank LDA method;
# use "State" as the categorical field; choose the eigenvector output.
arcpy.stats.DimensionReduction("DemographicData",
"DemographicData_DimensionReduction",
"age_group_1;age_group2;age_group_3;age_group_4;age_group_5",
"LDA", "SCALE_DATA", "State", None, None,
"APPEND", None, "EigenVectorTable", 0)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?