Publié le :
Statistique CREATION_INTERNE

Graphique Caterpillar avec PROC MCMC

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script génère d'abord un jeu de données 'seeds' contenant des résultats de germination. Il utilise ensuite la procédure `PROC MCMC` pour ajuster un modèle binomial avec une fonction de lien logit et des effets aléatoires ('delta'). Les échantillons de la distribution a posteriori sont sauvegardés dans la table 'postout'. Une macro `%CATER` est appelée pour créer le graphique Caterpillar des effets aléatoires. Enfin, une étape `PROC TEMPLATE` est utilisée pour consulter la source du modèle graphique associé.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées ('seeds') sont créées directement dans le script via une étape DATA utilisant l'instruction DATALINES.

1 Bloc de code
DATA STEP Data
Explication :
Crée le jeu de données 'seeds' contenant les variables r, n, seed, extract et un identifiant d'observation 'ind'. Les données sont incluses directement dans le code.
Copié !
1DATA seeds;
2 INPUT r n seed extract;
3 ind = _N_;
4 DATALINES;
510 39 0 0 23 62 0 0 23 81 0 0 26 51 0 0
617 39 0 0 5 6 0 1 53 74 0 1 55 72 0 1
732 51 0 1 46 79 0 1 10 13 0 1 8 16 1 0
810 30 1 0 8 28 1 0 23 45 1 0 0 4 1 0
9 3 12 1 1 22 41 1 1 15 30 1 1 32 51 1 1
10 3 7 1 1
11;
2 Bloc de code
PROC MCMC Data
Explication :
Exécute une analyse bayésienne (MCMC) sur les données 'seeds'. Définit un modèle logistique binomial avec des effets aléatoires 'delta'. Les échantillons a posteriori sont stockés dans 'postout'. L'affichage des résultats est temporairement désactivé pour optimiser l'exécution.
Copié !
1ods select none;
2PROC MCMC DATA=seeds outpost=postout seed=332786 nmc=20000;
3 parms beta0 0 beta1 0 beta2 0 beta3 0 s2 1;
4 prior s2 ~ igamma(0.01, s=0.01);
5 prior beta: ~ general(0);
6 w = beta0 + beta1*seed + beta2*extract + beta3*seed*extract;
7 random delta ~ normal(w, var=s2) subject=ind;
8 pi = logistic(delta);
9 model r ~ binomial(n = n, p = pi);
10RUN;
11ods select all;
3 Bloc de code
Macro Call
Explication :
Appelle la macro `%CATER` (supposée définie dans l'environnement ou une bibliothèque d'autocall) pour générer le graphique Caterpillar des variables commençant par 'delta' à partir du jeu de données 'postout'.
Copié !
1%CATER(DATA=postout, var=delta:);
4 Bloc de code
PROC TEMPLATE
Explication :
Affiche le code source du modèle de graphique ODS 'Stat.MCMC.Graphics.Caterpillar' stocké dans 'sashelp.tmplmst', permettant d'inspecter la définition du graphique utilisé.
Copié !
1PROC TEMPLATE;
2 path sashelp.tmplmst;
3 SOURCE Stat.MCMC.Graphics.Caterpillar;
4RUN;
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 - NAME: MCMCCAT - PRODUCT: STAT