factorAnalysis

faNFactors

Description

L'action faNFactors détermine le nombre de facteurs à extraire pour une analyse factorielle. Elle permet d'appliquer simultanément plusieurs critères statistiques (tels que le critère des valeurs propres, l'analyse parallèle ou les critères MAP) et de définir une règle de décision globale (Minimum, Maximum, Moyenne, Médiane) pour suggérer un nombre optimal de facteurs. Cette action est essentielle pour l'exploration dimensionnelle des données.

factorAnalysis.faNFactors <result=results> <status=rc> / attributes={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}} corrOut={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", onDemand=TRUE | FALSE, promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}} criteria={{alpha={double-1 <, double-2, ...>}, nSimulations={64-bit-integer-1 <, 64-bit-integer-2, ...>}, seed={64-bit-integer-1 <, 64-bit-integer-2, ...>}, status="ACTIVE" | "INACTIVE", threshold={double-1 <, double-2, ...>}, type="EIGENVALUE" | "MAP2" | "MAP4" | "PARALLEL" | "PROPORTION"}, {...}} display={displayTables} freq="variable-name" inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>} nFactors="MAX" | "MEAN" | "MEDIAN" | "MIN" outputTables={outputTables} priors={type="ASMC" | "INPUT" | "MAX" | "ONE" | "RANDOM" | "SMC", type-specific-parameters} table={castable} varianceDivisor="DF" | "N" | "WDF" | "WEIGHT" weight="variable-name";
Paramètres
ParamètreDescription
tableSpécifie la table d'entrée contenant les données à analyser.
inputsSpécifie les variables d'analyse (généralement numériques continues) à utiliser.
criteriaParamètre obligatoire. Définit une liste de méthodes pour déterminer le nombre de facteurs (ex: 'EIGENVALUE' pour Kaiser, 'PARALLEL' pour l'analyse parallèle).
nFactorsDéfinit la règle de synthèse (MIN, MAX, MEAN, MEDIAN) à appliquer sur les résultats des différents critères actifs pour recommander un nombre final.
priorsSpécifie la méthode d'estimation des communalisés a priori (par défaut 'SMC' - Squared Multiple Correlations).
corrOutSpécifie les paramètres de la table de sortie pour la matrice de corrélation.
displayContrôle les tables de résultats qui sont renvoyées au client pour affichage.
Préparation des Données Voir la fiche de ce code dataprep
Création de données simulées structurées

Génération d'un jeu de données 'factordata' avec 10 variables corrélées basées sur 2 facteurs latents, pour démontrer l'extraction.

Copié !
1 
2DATA casuser.factordata;
3array x{10} x1-x10;
4DO i=1 to 1000;
5f1 = rannor(1);
6f2 = rannor(1);
7DO j=1 to 5;
8x{j} = f1 + 0.5*rannor(1);
9END;
10DO j=6 to 10;
11x{j} = f2 + 0.5*rannor(1);
12END;
13OUTPUT;
14END;
15drop i f1 f2 j;
16 
17RUN;
18 

Exemples

Détermination du nombre de facteurs en utilisant uniquement le critère des valeurs propres supérieures à 1 (seuil par défaut).

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3factorAnalysis.faNFactors TABLE={name="factordata", caslib="casuser"} inputs={"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"} criteria={{type="EIGENVALUE"}};
4 
5RUN;
6 
Résultat :
Affiche le nombre de facteurs suggéré (probablement 2 pour ces données) basé sur le nombre de valeurs propres de la matrice de corrélation > 1.

Utilisation combinée de l'analyse parallèle (avec simulations), du critère MAP et des valeurs propres > 0.8. La décision finale est la médiane des suggestions. Les priors sont fixés à SMC.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3factorAnalysis.faNFactors TABLE={name="factordata", caslib="casuser"} inputs={"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10"} criteria={{type="EIGENVALUE", threshold=0.8}, {type="PARALLEL", alpha=0.01, nSimulations=500, seed=123}, {type="MAP2"}} nFactors="MEDIAN" priors={type="SMC"} outputTables={names={"Eigenvalues", "ParallelAnalysis", "Map"}};
4 
5RUN;
6 
Résultat :
Produit plusieurs tables de résultats (Valeurs propres, Analyse Parallèle, MAP). L'action synthétise ces résultats et utilise la médiane pour suggérer un nombre robuste de facteurs.

FAQ

Quelle est la fonction principale de l'action faNFactors ?
Quels critères peuvent être utilisés pour décider du nombre de facteurs ?
Comment définir les estimations de communalité a priori ?
Quelles options sont disponibles pour le calcul des variances et covariances ?
Est-il possible d'effectuer une analyse pondérée ?
À quoi sert le paramètre 'corrOut' ?