factorAnalysis

faExtract

##set_factoranalysis

Description

L'action factorAnalysis.faExtract est votre détective privé pour débusquer les structures cachées (facteurs) dans vos données. Elle permet d'effectuer une analyse factorielle exploratoireMéthode statistique (proc FACTOR) identifiant les variables latentes (facteurs) non observées expliquant les corrélations entre variables mesurées, pour simplifier la structure des données. en extrayant des facteurs communs à partir d'un ensemble 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.. C'est l'outil idéal pour simplifier la complexité d'un grand nombre 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. corrélées en les regroupant sous forme de concepts latents. Que vous cherchiez à comprendre la psychologie humaine ou les tendances du marché, cette action fait le gros du travail statistique pour vous.

Syntaxe Officielle
factorAnalysis.faExtract /
table={name="nom_table", caslib="nom_caslib", where="expression"}
inputs={"variable1", "variable2"}
nFactors={nombre_de_facteurs}
method={name="ALPHA" | "ML" | "PRINCIPAL" | "PRINIT" | "ULS"}
rotate={type="VARIMAX" | "PROMAX" | ...}
priors={type="SMC" | "MAX" | ...}
corrOut={name="nom_table_sortie"}
fuzz=0.3

Paramètres Clés

Nom du paramètre Description
table Définit la table d'entrée (CASTable) à analyser. On peut y ajouter un filtre 'where'.
nFactors Paramètre obligatoire ! Définit le nombre de facteurs à extraire pour chaque groupe. Si vous ne savez pas combien, demandez à un ami... ou utilisez l'action faNFactors d'abord.
inputs La liste des variables numériques sur lesquelles l'analyse doit porter.
method L'algorithme d'extraction : PRINCIPAL (composantes principales), ML (maximum de vraisemblance), ALPHA (analyse alpha), etc. Par défaut, c'est PRINCIPAL.
priors Spécifie les estimations de communalité à priori (SMC, MAX, ONE...). Essentiel pour différencier l'ACP de l'analyse factorielle.
rotate La méthode de rotation pour rendre les facteurs plus 'lisibles' (VARIMAX pour l'orthogonal, PROMAX pour l'oblique).
corrOut Crée une table de sortie contenant la matrice de corrélation et les statistiques sommaires.
fuzz Un seuil de pudeur : les valeurs de chargement inférieures à ce seuil seront affichées comme manquantes pour ne pas encombrer les résultats.
reorder Si 'true', réorganise les variables pour que celles qui chargent sur le même facteur soient côte à côte. Très pratique pour la lecture !
attributes Permet de modifier les labels ou formats des variables pendant l'exécution.

Préparation des données

Création de données simulées pour analyse factorielle

Génération d'une table avec 5 variables corrélées formant potentiellement deux facteurs.

1PROC CAS;
2 datastep.runCode / code="
3 data casuser.test_fa;
4 do i = 1 to 1000;
5 F1 = rannor(123);
6 F2 = rannor(456);
7 v1 = F1 + 0.2*rannor(0);
8 v2 = F1 + 0.1*rannor(0);
9 v3 = F1 + 0.3*rannor(0);
10 v4 = F2 + 0.1*rannor(0);
11 v5 = F2 + 0.2*rannor(0);
12 output;
13 end;
14 run; ";
15RUN;

Exemples d'utilisation

Extraction de base par composantes principales

Extraction de 2 facteurs sur nos variables v1 à v5 sans fioritures.

1PROC CAS;
2 factorAnalysis.faExtract /
3 TABLE={name="test_fa"},
4 inputs={"v1", "v2", "v3", "v4", "v5"},
5 nFactors={2};
6RUN;
Résultat Attendu :
Affichage des valeurs propres et de la matrice des composantes non rotatées.
Analyse Factorielle Complète avec Rotation et Seuil

Extraction par Maximum de Vraisemblance (ML), rotation VARIMAX pour plus de clarté, et masquage des petits coefficients (fuzz).

1PROC CAS;
2 factorAnalysis.faExtract /
3 TABLE={name="test_fa"},
4 inputs={"v1", "v2", "v3", "v4", "v5"},
5 nFactors={2},
6 method={name="ML"},
7 rotate={type="VARIMAX"},
8 priors={type="SMC"},
9 fuzz=0.4,
10 reorder=true,
11 outputTables={names={PreFactorLoading="pattern_non_rotate", RotFactorLoading="pattern_final"}};
12RUN;
Résultat Attendu :
Rapport détaillé incluant les tests de validité du modèle ML, la structure des facteurs rotatés (plus facile à interpréter grâce au fuzz et au reorder), et sauvegarde des résultats dans des tables CAS.