Publié le :
Statistique CREATION_INTERNE

Analyse factorielle avec contraintes ordinales via PROC CALIS

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script analyse la matrice de données de Kinzer & Kinzer (Guttman, 1957) en utilisant le langage de modélisation COSAN dans PROC CALIS. Le modèle spécifie une structure factorielle où les chargements sont soumis à des contraintes d'ordre (ordinales) via l'instruction LINCON. Des instructions de programmation SAS© intégrées sont utilisées pour définir les variances d'erreur (Psi) en fonction des chargements factoriels afin de maintenir la structure de corrélation.
Analyse des données

Type : CREATION_INTERNE


Les données sont définies directement dans le script (Datalines) sous forme d'une matrice de corrélation (TYPE=CORR) nommée 'Kinzer'.

1 Bloc de code
DATA STEP Data
Explication :
Création d'un jeu de données de type 'CORR' (matrice de corrélation) contenant les variables var1 à var6, avec 326 observations supposées (utilisé plus tard via NOBS).
Copié !
1DATA Kinzer(TYPE=CORR);
2Title "Data Matrix of Kinzer & Kinzer, see GUTTMAN (1957)";
3 _TYPE_ = 'CORR'; INPUT _NAME_ $ var1-var6;
4 DATALINES;
5var1 1.00 . . . . .
6var2 .51 1.00 . . . .
7var3 .46 .51 1.00 . . .
8var4 .46 .47 .54 1.00 . .
9var5 .40 .39 .49 .57 1.00 .
10var6 .33 .39 .47 .45 .56 1.00
11;
2 Bloc de code
PROC CALIS
Explication :
Exécution de PROC CALIS pour l'ajustement du modèle. L'instruction COSAN définit la structure covariance. Les matrices B, Psi et D sont définies explicitement. LINCON impose des contraintes d'ordre sur les coefficients de la matrice B. Les calculs de 'psi' assurent que la diagonale de la matrice de corrélation reste égale à 1.
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]= 0. b22 b32 b42 b52 b62;
8 matrix Psi
9 [1,1]= psi1-psi6;
10 matrix D
11 [1,1]= d1-d6 ;
12 lincon
13 b61 <= b51,
14 b51 <= b41,
15 b41 <= b31,
16 b31 <= b21,
17 b21 <= b11,
18 0. <= b22,
19 b22 <= b32,
20 b32 <= b42,
21 b42 <= b52,
22 b52 <= b62;
23 
24 /* SAS Programming Statements */
25 /* 6 Constraints on Correlation structures */
26 psi1 = 1. - b11 * b11;
27 psi2 = 1. - b21 * b21 - b22 * b22;
28 psi3 = 1. - b31 * b31 - b32 * b32;
29 psi4 = 1. - b41 * b41 - b42 * b42;
30 psi5 = 1. - b51 * b51 - b52 * b52;
31 psi6 = 1. - b61 * b61 - b62 * b62;
32 vnames
33 B = [factor1 factor2],
34 Psi = [var1-var6],
35 D = Psi;
36RUN;
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
Simon
Expert SAS et fondateur.
« L'utilisation du langage COSAN (Covariance Structure Analysis) au sein de la procédure PROC CALIS permet d'aller bien au-delà de l'analyse factorielle exploratoire standard en imposant une structure théorique stricte aux données. Ce script est exemplaire car il combine trois techniques de haut niveau : la décomposition matricielle personnalisée, l'application de contraintes d'inégalités via LINCON, et la programmation intégrée. L'objectif ici est de valider un modèle où les chargements factoriels suivent un ordre hiérarchique précis (contraintes ordinales), ce qui est crucial pour tester des théories de développement ou des structures de type "simplex" (modèles de Guttman). »