Publié le :
Statistique CREATION_INTERNE

Modèle à Effets Aléatoires avec PROC MCMC

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script SAS© illustre l'utilisation de la procédure MCMC pour ajuster un modèle à effets aléatoires. Il crée d'abord un jeu de données 'heights' en utilisant des `datalines` avec des informations sur la famille, le genre et la hauteur. Ensuite, un nouveau jeu de données 'input' est créé à partir de 'heights' pour encoder le genre en une variable numérique binaire ('gf'). La PROC MCMC est ensuite utilisée pour ajuster un modèle normal où la hauteur est modélisée en fonction du genre et d'un effet aléatoire spécifique à chaque famille. Des distributions a priori sont spécifiées pour les paramètres du modèle (intercept, coefficient du genre, variances). Le script active et désactive les graphiques ODS pour la visualisation des traces MCMC.
Analyse des données

Type : CREATION_INTERNE


Les données brutes sont directement intégrées dans le script via une instruction `datalines`, formant le jeu de données 'heights'. Ce dernier est ensuite transformé en 'input' pour l'analyse MCMC.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP initialise et peuple le jeu de données 'heights' directement à partir des données fournies dans le script via l'instruction `datalines`. Il définit trois variables : 'Family' (numérique), 'G' (genre, caractère) et 'Height' (numérique).
Copié !
1DATA heights;
2 INPUT Family G$ Height;
3 DATALINES;
41 F 67
51 F 66
61 F 64
71 M 71
81 M 72
92 F 63
102 F 63
112 F 67
122 M 69
132 M 68
142 M 70
153 F 63
163 M 64
174 F 67
184 F 66
194 M 67
204 M 67
214 M 69
22;
23 
2 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un nouveau jeu de données nommé 'input' en lisant 'heights'. Il transforme la variable catégorielle 'G' (genre) en une variable indicatrice numérique 'gf' (1 pour Femme, 0 pour Homme) et supprime la variable 'G' originale pour l'analyse subséquente.
Copié !
1DATA INPUT;
2 SET heights;
3 IF g eq 'F' THEN gf = 1;
4 ELSE gf = 0;
5 drop g;
6RUN;
7 
3 Bloc de code
ODS Statement
Explication :
Active le système graphique ODS (Output Delivery System) pour permettre la génération de graphiques haute résolution par les procédures SAS.
Copié !
1ods graphics on;
2 
4 Bloc de code
PROC MCMC
Explication :
Cette procédure MCMC (Monte Carlo par Chaînes de Markov) ajuste un modèle à effets aléatoires sur le jeu de données 'input'. Elle génère un jeu de données de sortie 'postout' contenant les échantillons post-MCMC. Les paramètres du modèle sont initialisés, et des distributions a priori sont spécifiées pour l'intercept (b0), le coefficient du genre (b1), la variance résiduelle (s2) et la variance des effets aléatoires (s2g). Un effet aléatoire 'gamma' est défini pour chaque 'family'. Le modèle spécifie que 'height' suit une distribution normale avec une moyenne 'mu' (fonction des effets fixes et aléatoires) et une variance 's2'. Le nombre d'itérations (nmc) et la graine aléatoire sont fixés, et des graphiques de trace sont demandés.
Copié !
1PROC MCMC DATA=INPUT outpost=postout nmc=50000 seed=7893 plots=trace;
2 ods select Parameters REparameters PostSumInt tracepanel;
3 parms b0 0 b1 0 s2 1 s2g 1;
4 
5 prior b: ~ normal(0, var = 10000);
6 prior s: ~ igamma(0.01, scale = 0.01);
7 random gamma ~ normal(0, var = s2g) subject=family monitor=(gamma);
8 mu = b0 + b1 * gf + gamma;
9 model height ~ normal(mu, var = s2);
10RUN;
11 
5 Bloc de code
ODS Statement
Explication :
Désactive le système graphique ODS, arrêtant ainsi la génération de graphiques.
Copié !
1ods graphics off;
2 
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 : S A S S A M P L E L I B R A R Y, NAME: MCMCGS3, TITLE: Getting Started Example 3 for PROC MCMC, PRODUCT: STAT, SYSTEM: ALL, KEYS: random-effects model, PROCS: MCMC, DATA:, REF: PROC MCMC, GETTING STARTED EXAMPLE 3, MISC: