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.
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é !
title2 "Three to Seven Components, Unequal Variances";
ods graphics on;
proc fmm data=galaxies criterion=AIC;
model v = / kmin=3 kmax=7;
run;
1
title2 "Three to Seven Components, Unequal Variances";
2
ods graphics on;
3
PROC FMMDATA=galaxies criterion=AIC;
4
model v = / kmin=3 kmax=7;
5
RUN;
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é !
title2 "Three to Seven Components, Equal Variances";
proc fmm data=galaxies criterion=AIC gconv=0;
model v = / kmin=3 kmax=7 equate=scale;
run;
1
title2 "Three to Seven Components, Equal Variances";
2
PROC FMMDATA=galaxies criterion=AIC gconv=0;
3
model v = / kmin=3 kmax=7 equate=scale;
4
RUN;
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é !
title2 "Five Components, Equal Variances = 0.9025";
proc fmm data=galaxies;
model v = / K=5 equate=scale;
restrict int 0 (scale 1) = 0.9025;
run;
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.