Publié le :
Statistique CREATION_INTERNE

Analyse Factorielle avec Modèle COSAN et Contraintes (PROC CALIS)

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script utilise la procédure CALIS pour analyser une matrice de corrélation (données Kinzer & Kinzer, Guttman 1957). Il définit un modèle de type COSAN en spécifiant explicitement les matrices de paramètres (D, B, Psi) et applique des contraintes algébriques complexes sur les charges factorielles et les structures de corrélation à l'aide d'instructions de programmation SAS© intégrées.
Analyse des données

Type : CREATION_INTERNE


Les données sont une matrice de corrélation (TYPE=CORR) créée directement dans le script via un DATA STEP et des datalines.

1 Bloc de code
DATA STEP Data
Explication :
Création du jeu de données 'kinzer' contenant la matrice de corrélation triangulaire inférieure pour 6 variables.
Copié !
1DATA kinzer(type=corr);
2title "Data Matrix of Kinzer & Kinzer, see GUTTMAN (1957)";
3 _type_ = 'corr';
4 INPUT _name_ $ var1-var6;
5 DATALINES;
6var1 1.00 . . . . .
7var2 .51 1.00 . . . .
8var3 .46 .51 1.00 . . .
9var4 .46 .47 .54 1.00 . .
10var5 .40 .39 .49 .57 1.00 .
11var6 .33 .39 .47 .45 .56 1.00
12;
2 Bloc de code
PROC CALIS
Explication :
Exécution de la procédure CALIS avec l'instruction COSAN. Définition de la structure du modèle, des matrices de paramètres (B, Psi, D) et application de contraintes mathématiques spécifiques sur les coefficients via du code SAS standard à l'intérieur de la procédure.
Copié !
1PROC CALIS DATA=Kinzer nobs=326 nose;
2 cosan
3 var= var1-var6,
4 D(6,DIA) * B(2,GEN) + D(6,DIA) * Psi(6,DIA);
5 matrix B
6 [ ,1] = b11 b21 b31 b41 b51 b61,
7 [ ,2] = b12 b22 b32 b42 b52 b62;
8 matrix Psi
9 [1,1] = psi1-psi6;
10 matrix D
11 [1,1] = d1-d6;
12 parameters alpha (1.);
13 
14 /* SAS Programming Statements to Define Dependent Parameters*/
15 /* 6 constraints on the factor loadings */
16 b12 = alpha - b11;
17 b22 = alpha - b21;
18 b32 = alpha - b31;
19 b42 = alpha - b41;
20 b52 = alpha - b51;
21 b62 = alpha - b61;
22 
23 /* 6 Constraints on Correlation structures */
24 psi1 = 1. - b11 * b11 - b12 * b12;
25 psi2 = 1. - b21 * b21 - b22 * b22;
26 psi3 = 1. - b31 * b31 - b32 * b32;
27 psi4 = 1. - b41 * b41 - b42 * b42;
28 psi5 = 1. - b51 * b51 - b52 * b52;
29 psi6 = 1. - b61 * b61 - b62 * b62;
30 vnames
31 D = [var1-var6],
32 B = [factor1 factor2],
33 Psi = D;
34RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : SAS SAMPLE LIBRARY


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« L'utilisation du modèle COSAN au sein de la PROC CALIS représente l'approche la plus flexible et la plus rigoureuse pour tester des structures de covariance non conventionnelles. Contrairement aux modèles par défaut, COSAN vous permet de décomposer la matrice de corrélation selon votre propre logique mathématique, ici $D \cdot B + D \cdot \Psi$. Ce script est remarquable car il utilise des instructions de programmation SAS intégrées pour lier les paramètres entre eux. En définissant des dépendances strictes (comme b12 = alpha - b11), vous n'estimez pas simplement des poids factoriels : vous testez une hypothèse théorique précise sur la répartition de la variance entre deux facteurs, tout en forçant le respect de la structure unitaire de la diagonale via le calcul dynamique de la matrice Psi. »