Le script commence par un DATA STEP pour simuler une variable Y suivant une distribution négative-binomiale avec des paramètres Mu et Kappa définis. La simulation utilise les fonctions RANGAM et RANPOI. Ensuite, PROC GLIMMIX est employée pour estimer les paramètres de la distribution négative-binomiale à partir des données générées. Des étapes PROC PRINT et PROC MEANS sont utilisées pour afficher les valeurs réelles et estimées de Mu, Kappa, la moyenne et la variance, permettant une comparaison.
Analyse des données
Type : CREATION_INTERNE
Les données sont générées en interne via un DATA STEP simulant une distribution négative-binomiale. Aucun jeu de données externe n'est requis.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP génère 2000 observations d'une variable 'Y' suivant une distribution négative-binomiale. Les paramètres Mu (moyenne=30) et Kappa (dispersion=0.1) sont définis, ainsi qu'une graine pour la reproductibilité. Les fonctions RANGAM (pour la distribution Gamma) et RANPOI (pour la distribution Poisson) sont utilisées pour la simulation. La variance théorique est également calculée.
Copié !
data one;
Mu = 30;
Kappa = 0.1;
alpha = 1 / kappa;
beta = kappa * mu;
n = 2000;
seed = 1917;
Variance = mu * ( 1 + mu*kappa);
do id=1 to n;
u = beta * rangam( seed, alpha );
Y = ranpoi( seed, u );
output;
end;
keep Mu Kappa Variance id y;
run;
1
DATA one;
2
Mu = 30;
3
Kappa = 0.1;
4
alpha = 1 / kappa;
5
beta = kappa * mu;
6
n = 2000;
7
seed = 1917;
8
Variance = mu * ( 1 + mu*kappa);
9
DO id=1 to n;
10
u = beta * rangam( seed, alpha );
11
Y = ranpoi( seed, u );
12
OUTPUT;
13
END;
14
keep Mu Kappa Variance id y;
15
RUN;
2 Bloc de code
PROC GLIMMIX
Explication : Ce bloc utilise PROC GLIMMIX pour estimer les paramètres Mu et Kappa de la distribution négative-binomiale à partir des données générées 'one'. L'option `dist=negbin` spécifie la distribution, et `link=identity` le lien. L'instruction ODS est utilisée pour capturer les estimations des paramètres dans le jeu de données 'parms' et supprimer la sortie standard pendant l'exécution de la procédure.
Copié !
*--- Get estimates of Mu and Kappa using PROC GLIMMIX;
ods select none;
ods output ParameterEstimates=parms;
proc glimmix data=one;
model y = / dist=negbin link=identity s;
run;
ods select all;
1
*--- Get estimates of Mu and Kappa using PROC GLIMMIX;
2
ods select none;
3
ods OUTPUT ParameterEstimates=parms;
4
PROC GLIMMIXDATA=one;
5
model y = / dist=negbin link=identity s;
6
RUN;
7
ods select all;
3 Bloc de code
PROC PRINT
Explication : Ce bloc configure la sortie HTML et affiche les valeurs initiales (vraies) de Mu et Kappa utilisées pour la génération des données, extraites du premier enregistrement du jeu de données 'one'.
Copié !
ods html;
title "True Mu and Kappa of Y's iid Negative-binomial(Mu, Kappa)";
proc print data=one noobs;
where id = 1;
var Mu Kappa;
run;
1
ods html;
2
title "True Mu and Kappa of Y's iid Negative-binomial(Mu, Kappa)";
3
PROC PRINTDATA=one noobs;
4
where id = 1;
5
var Mu Kappa;
6
RUN;
4 Bloc de code
PROC PRINT
Explication : Ce bloc affiche les estimations de Mu et Kappa obtenues par PROC GLIMMIX, stockées dans le jeu de données 'parms'.
Copié !
title "Estimated Mu and Kappa using PROC GLIMMIX";
proc print data=parms noobs;
var Effect Estimate;
run;
1
title "Estimated Mu and Kappa using PROC GLIMMIX";
2
PROC PRINTDATA=parms noobs;
3
var Effect Estimate;
4
RUN;
5 Bloc de code
DATA STEP
Explication : Ce DATA STEP simple renomme la variable 'Mu' en 'Mean' dans le jeu de données 'one' pour une meilleure clarté dans les affichages subséquents.
Copié !
data one;
set one;
rename Mu = Mean;
run;
1
DATA one;
2
SET one;
3
rename Mu = Mean;
4
RUN;
6 Bloc de code
PROC PRINT
Explication : Ce bloc affiche la moyenne (Mean) et la variance (Variance) théoriques de la distribution négative-binomiale, calculées et stockées lors de la génération des données.
Copié !
title "True Mean and Variance of Y's iid Negative-binomial(Mu, Kappa)";
proc print data=one noobs;
where id = 1;
var Mean Variance;
run;
1
title "True Mean and Variance of Y's iid Negative-binomial(Mu, Kappa)";
2
PROC PRINTDATA=one noobs;
3
where id = 1;
4
var Mean Variance;
5
RUN;
7 Bloc de code
PROC MEANS
Explication : Ce bloc utilise PROC MEANS pour calculer et afficher la moyenne et la variance observées de la variable 'Y' à partir des données générées. Ceci permet de comparer les statistiques réelles de l'échantillon avec les valeurs théoriques et estimées. L'instruction `ods html close` ferme le fichier de sortie HTML.
Copié !
title "Estimated Mean and Variance";
proc means data=one n mean var maxdec=2;
var y;
run;
ods html close;
1
title "Estimated Mean and Variance";
2
PROC MEANSDATA=one n mean var maxdec=2;
3
var y;
4
RUN;
5
ods html close;
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.