Publié le :
Statistique CREATION_INTERNE

Analyse de données 'Galaxies' avec PROC FMM

Ce code est également disponible en : Deutsch English
En attente de validation
Le script commence par créer une table SAS© 'galaxies' à partir de données internes (datalines), contenant la vitesse de 82 galaxies. La vitesse est ensuite normalisée. Il explore ensuite plusieurs modèles de mélange de lois normales via PROC FMM : 1) un modèle où le nombre de composantes varie de 3 à 7 avec des variances inégales, 2) un modèle similaire mais avec des variances égales, et 3) un modèle final fixant le nombre de composantes à 5 avec une valeur de variance contrainte. L'objectif est de modéliser la distribution des vitesses, qui est connue pour être multimodale.
Analyse des données

Type : CREATION_INTERNE


Les données sont entièrement contenues dans le script via une instruction DATALINES. Une table 'galaxies' est créée avec une variable 'velocity' qui est ensuite transformée en 'v'.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée la table 'galaxies'. Il lit les valeurs de vitesse depuis les lignes de données intégrées (datalines). L'opérateur '@@' permet de lire plusieurs observations par ligne de données. Une nouvelle variable 'v' est calculée en divisant la vitesse par 1000 pour la normaliser.
Copié !
1title "FMM Analysis of Galaxies Data";
2DATA galaxies;
3 INPUT velocity @@;
4 v = velocity / 1000;
5 DATALINES;
69172 9350 9483 9558 9775 10227 10406 16084 16170 18419
718552 18600 18927 19052 19070 19330 19343 19349 19440 19473
819529 19541 19547 19663 19846 19856 19863 19914 19918 19973
919989 20166 20175 20179 20196 20215 20221 20415 20629 20795
1020821 20846 20875 20986 21137 21492 21701 21814 21921 21960
1122185 22209 22242 22249 22314 22374 22495 22746 22747 22888
1222914 23206 23241 23263 23484 23538 23542 23666 23706 23711
1324129 24285 24289 24366 24717 24990 25633 26960 26995 32065
1432789 34279
15;
16RUN;
2 Bloc de code
PROC FMM
Explication :
Cette procédure FMM analyse la variable 'v' pour trouver le meilleur modèle de mélange de lois normales, en testant un nombre de composantes de 3 à 7 (kmin=3, kmax=7). Le critère d'information d'Akaike (AIC) est utilisé pour sélectionner le meilleur 'k'. Les variances des composantes sont autorisées à être différentes.
Copié !
1title2 "Three to Seven Components, Unequal Variances";
2ods graphics on;
3PROC FMM DATA=galaxies criterion=AIC;
4 model v = / kmin=3 kmax=7;
5RUN;
3 Bloc de code
PROC FMM
Explication :
Une seconde analyse FMM est effectuée, similaire à la précédente, mais en ajoutant l'option 'equate=scale'. Cette option contraint les composantes du mélange à avoir des variances égales, ce qui simplifie le modèle.
Copié !
1title2 "Three to Seven Components, Equal Variances";
2PROC FMM DATA=galaxies criterion=AIC gconv=0;
3 model v = / kmin=3 kmax=7 equate=scale;
4RUN;
4 Bloc de code
PROC FMM
Explication :
Ce bloc ajuste un modèle de mélange fini avec un nombre fixe de 5 composantes (K=5) et des variances égales ('equate=scale'). De plus, une instruction RESTRICT est utilisée pour fixer la valeur de la variance ('scale') à 0.9025.
Copié !
1title2 "Five Components, Equal Variances = 0.9025";
2PROC FMM DATA=galaxies;
3 model v = / K=5 equate=scale;
4 restrict int 0 (scale 1) = 0.9025;
5RUN;
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