pca

eig

##set_pca

Description

L'action pca.eig effectue une analyse en composantes principales (ACPTechnique de réduction de dimension transformant des variables corrélées en nouvelles composantes principales décorrélées, tout en conservant le maximum de variance (information) des données originales.) en utilisant la méthode de décomposition en valeurs propres. C'est l'approche mathématique standard pour réduire la dimensionnalité de vos données tout en conservant le maximum de varianceMesure statistique de la dispersion des données indiquant l'écart carré moyen par rapport à la moyenne. Une variance élevée traduit une grande hétérogénéité des observations autour du centre.. Elle est idéale pour les jeux de données comportant un nombre modéré de variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. où l'on souhaite obtenir une solution exacte pour l'ensemble des composantes. Si vous avez des milliers de variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage., préparez le café ou activez l'option GPU, car la décomposition de matrice peut s'avérer gourmande en calculs !

Syntaxe Officielle
pca.eig /
table={caslib="nomCaslib", name="nomTable", where="filtre"}
inputs={"variable1", "variable2"}
n=nombreDeComposantes
cov=TRUE | FALSE
prefix="Pref"
outStat={casOut={name="tableStats"}}
output={casOut={name="tableScores"}, score="ScorePrefix"};

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entrée. C'est le cœur de l'opération, sans données, pas d'analyse !
inputs Liste des variables numériques à inclure dans l'analyse. Par défaut, toutes les variables numériques sont utilisées.
n Définit le nombre de composantes principales à extraire. Si mis à 0 (valeur par défaut), l'action calcule toutes les composantes possibles.
cov Indique s'il faut utiliser la matrice de covariance (TRUE) au lieu de la matrice de corrélation par défaut (FALSE). Utile si les unités de mesure sont déjà comparables.
outStat Définit la table de sortie CAS pour stocker les statistiques globales : moyennes, écarts-types, valeurs propres et vecteurs propres (chargements).
output Spécifie la table pour stocker les scores calculés pour chaque observation. C'est ici que vous récupérez vos nouvelles variables réduites.
prefix Le préfixe utilisé pour nommer les nouvelles composantes. Par défaut, SAS utilise 'Prin'.
gpu Permet d'activer l'accélération matérielle via processeur graphique si disponible sur votre environnement Viya.
store Sauvegarde le modèle complet dans une table binaire pour une utilisation ultérieure avec l'action 'score'.

Préparation des données

Création de données de test pour l'ACP

Ce code génère un jeu de données simulé avec 4 variables corrélées pour tester la réduction de dimension.

1DATA casuser.test_pca;
2 DO i = 1 to 1000;
3 x1 = rannor(123);
4 x2 = x1 + rannor(123)*0.5;
5 x3 = rannor(123) * 2;
6 x4 = x3 - rannor(123)*0.2;
7 OUTPUT;
8 END;
9RUN;

Exemples d'utilisation

ACP de base

Exécution d'une analyse par défaut sur toutes les variables numériques de la table.

1PROC CAS; pca.eig / TABLE={name="test_pca"}; RUN;
Résultat Attendu :
Affichage des valeurs propres et de la proportion de variance expliquée dans SAS Studio.
ACP complète avec sauvegarde des scores et des statistiques

On extrait les 2 premières composantes basées sur la matrice de corrélation, on personnalise le préfixe et on génère les tables de statistiques et de scores.

1PROC CAS; pca.eig / TABLE={name="test_pca"} inputs={"x1", "x2", "x3", "x4"} n=2 prefix="Comp" outStat={casOut={name="pca_stats", replace=true}} OUTPUT={casOut={name="pca_scores", replace=true}, score="Score_"}; RUN; QUIT; PROC PRINT DATA=casuser.pca_stats; RUN; PROC PRINT DATA=casuser.pca_scores(obs=10); RUN;
Résultat Attendu :
Une table 'pca_stats' contenant les vecteurs propres et une table 'pca_scores' contenant les colonnes Score_1 et Score_2 pour chaque ligne.
Analyse sur matrice de Covariance et export de code

Utilisation de la covariance au lieu de la corrélation et génération du code DATA Step pour appliquer le modèle plus tard sans CAS.

1PROC CAS; pca.eig / TABLE={name="test_pca"} cov=true code={casOut={name="pca_code", replace=true}}; RUN;
Résultat Attendu :
Calcul basé sur les variances brutes et création d'une table contenant le code source SAS de transformation.