faNFactors
Description
L'action faNFactors du set d'actions factorAnalysis est utilisée pour déterminer mathématiquement le nombre optimal de facteurs à extraire dans une analyse factorielle. Au lieu de deviner au hasard, elle utilise des critères statistiques robustes comme les valeurs propres (EigenvaluesValeurs propres mesurant la variance expliquée par chaque composante principale ou facteur. Une valeur supérieure à 1 indique que le facteur capture plus d'information qu'une seule variable.), l'analyse parallèle ou la méthode MAP de VelicerCritère statistique déterminant le nombre optimal de facteurs en minimisant la variance résiduelle des corrélations partielles. Plus précis que le critère de Kaiser pour l'analyse factorielle.. C'est l'étape indispensable avant d'appeler l'action faExtract pour s'assurer que votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). ne souffre ni de sous-extraction ni de sur-extraction. Un peu comme demander à un chef la juste dose d'épices : ni trop, ni trop peu !
Paramètres Clés
Préparation des données
Création de données de test pour analyse factorielle
Génération d'un jeu de données simulant des variables corrélées pour tester la détection de facteurs.
| 1 | DATA casuser.test_factor; |
| 2 | DO i = 1 to 500; |
| 3 | f1 = rannor(1); |
| 4 | f2 = rannor(1); |
| 5 | x1 = f1 + 0.2*rannor(1); |
| 6 | x2 = 0.8*f1 + 0.3*rannor(1); |
| 7 | x3 = 0.9*f1 + 0.1*rannor(1); |
| 8 | x4 = f2 + 0.2*rannor(1); |
| 9 | x5 = 0.7*f2 + 0.4*rannor(1); |
| 10 | x6 = 0.8*f2 + 0.2*rannor(1); |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | RUN; |
Exemples d'utilisation
Détermination par valeurs propres (Critère de Kaiser)
Utilise le critère classique où l'on garde les facteurs dont la valeur propre est supérieure à 1.
| 1 | PROC CAS; |
| 2 | factorAnalysis.faNFactors / |
| 3 | TABLE={name="test_factor"}, |
| 4 | inputs={"x1", "x2", "x3", "x4", "x5", "x6"}, |
| 5 | criteria={{type="EIGENVALUE", threshold={1.0}}}; |
| 6 | RUN; |
Résultat Attendu :
Analyse Multi-Critères avec Analyse Parallèle
Exemple complexe combinant l'Analyse Parallèle (plus précise) et la méthode MAP, en demandant le maximum des suggestions.
| 1 | PROC CAS; |
| 2 | factorAnalysis.faNFactors / |
| 3 | TABLE={name="test_factor"}, |
| 4 | inputs={"x1", "x2", "x3", "x4", "x5", "x6"}, |
| 5 | nFactors="MAX", |
| 6 | priors={type="SMC"}, |
| 7 | criteria={ |
| 8 | {type="PARALLEL", nSimulations={1000}, seed=12345, alpha={0.05}}, |
| 9 | {type="MAP2"}, |
| 10 | {type="EIGENVALUE", threshold={1.0}} |
| 11 | }, |
| 12 | outputTables={replace=true, names={NFactorSuggestions="suggested_factors"}}; |
| 13 | RUN; |