Réduit la dimensionnalité des variables nominales en utilisant une analyse des correspondances multiples (ACM). L'ACM est une technique d'analyse de données pour les données tabulaires catégorielles. Elle est utilisée pour détecter et représenter les structures sous-jacentes dans un ensemble de données, en étendant l'analyse en composantes principales (ACP) aux variables nominales.
| Paramètre | Description |
|---|---|
| table | Spécifie la table CAS d'entrée à analyser. |
| dimensions | Spécifie le nombre de dimensions (variables réduites) à calculer. C'est un paramètre obligatoire. |
| nominals | Spécifie les variables nominales (catégorielles) à utiliser dans l'analyse. Si non spécifié, toutes les variables de type caractère de la table d'entrée sont utilisées. |
| inputs | Spécifie les variables à utiliser dans l'analyse. Utile pour sélectionner un sous-ensemble de variables de la table. |
| freq | Spécifie la variable numérique dont la valeur représente la fréquence de l'observation. |
| id | Spécifie les variables à conserver dans la table de sortie pour identifier les observations. Ces variables sont copiées de la table d'entrée. |
| output | Spécifie la table de sortie pour stocker les résultats, y compris les nouvelles dimensions calculées. |
| prefix | Spécifie un préfixe pour les noms des nouvelles variables de dimension dans la table de sortie. Le préfixe par défaut est 'rv'. |
| saveState | Spécifie une table CAS pour sauvegarder l'état du modèle ACM. Cet état peut être utilisé ultérieurement pour appliquer la même transformation à de nouvelles données. |
| display | Spécifie quelles tables de résultats générées par l'action doivent être affichées. |
| outputTables | Spécifie les tables de résultats à sauvegarder en tant que tables CAS. |
Ce bloc de code SAS crée une table CAS nommée 'cars_data'. Elle contient des informations sur plusieurs modèles de voitures, incluant leur origine, leur type, et leur mode de transmission. Cette table servira d'entrée pour les exemples d'analyse des correspondances multiples.
| 1 | DATA casuser.cars_data; |
| 2 | LENGTH Origin $10 Type $10 Drivetrain $10; |
| 3 | INFILE DATALINES delimiter=','; |
| 4 | INPUT Origin $ Type $ Drivetrain $; |
| 5 | DATALINES; |
| 6 | Asia,SUV,All |
| 7 | Asia,SUV,Front |
| 8 | Asia,Sedan,Front |
| 9 | Europe,Sedan,All |
| 10 | Europe,Sports,Rear |
| 11 | Europe,Wagon,Rear |
| 12 | USA,Sedan,Front |
| 13 | USA,Truck,Rear |
| 14 | USA,Truck,All |
| 15 | ; |
| 16 | RUN; |
Cet exemple réalise une analyse des correspondances multiples simple sur les variables nominales 'Origin', 'Type' et 'Drivetrain' de la table 'cars_data'. L'objectif est de réduire ces trois variables en deux dimensions. Les nouvelles dimensions seront préfixées par 'mca_' et la table de sortie contiendra à la fois les variables originales et les nouvelles dimensions.
| 1 | PROC CAS; |
| 2 | nominalVarsDimReduction.mca / |
| 3 | TABLE={name='cars_data'}, |
| 4 | nominals={'Origin', 'Type', 'Drivetrain'}, |
| 5 | dimensions=2, |
| 6 | prefix='mca_', |
| 7 | OUTPUT={casout={name='cars_mca_output', replace=true}, copyVars={'Origin', 'Type', 'Drivetrain'}}; |
| 8 | RUN; |
Cet exemple plus avancé exécute une ACM pour obtenir trois dimensions et sauvegarde l'état du modèle. La sauvegarde de l'état ('saveState') est cruciale pour appliquer la même transformation de réduction de dimensionnalité sur un autre jeu de données (par exemple, un jeu de test ou de nouvelles données), garantissant ainsi la cohérence de la préparation des données.
| 1 | PROC CAS; |
| 2 | nominalVarsDimReduction.mca / |
| 3 | TABLE={name='cars_data'}, |
| 4 | nominals={'Origin', 'Type', 'Drivetrain'}, |
| 5 | dimensions=3, |
| 6 | id={'Origin'}, |
| 7 | prefix='mca_dim', |
| 8 | OUTPUT={casout={name='cars_mca_output_detailed', replace=true}}, |
| 9 | saveState={name='cars_mca_savestate', replace=true}; |
| 10 | RUN; |