Le script commence par la création d'un jeu de données nommé 'seeds' via une étape DATA avec des données intégrées (datalines). Ce jeu de données contient des informations sur le nombre de succès 'r' sur 'n' essais, ainsi que des facteurs explicatifs 'seed' et 'extract'. Ensuite, la procédure MCMC est invoquée pour effectuer une analyse bayésienne. Le modèle spécifie une régression logistique où la probabilité de succès est influencée par les facteurs 'seed', 'extract', et leur interaction. Un effet aléatoire 'delta' est introduit au niveau de chaque observation pour capturer la variabilité non observée. Des lois a priori sont définies pour tous les paramètres du modèle (coefficients de régression 'beta' et variance de l'effet aléatoire 's2'). La simulation MCMC est exécutée pour 20000 itérations, et les résultats de la distribution a posteriori sont stockés dans la table 'postout'.
Analyse des données
Type : CREATION_INTERNE
Les données sont entièrement générées à l'intérieur du script via une étape 'DATA' et une instruction 'datalines', créant la table 'seeds'.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc de code crée un jeu de données SAS nommé 'seeds'. Les données sont lues directement depuis le flux d'entrée (datalines). Une variable 'ind' est ajoutée, servant d'identifiant unique pour chaque ligne (observation).
Explication : Ce bloc exécute une analyse bayésienne via la procédure MCMC. Il définit les paramètres du modèle (beta0, beta1, beta2, beta3, s2) et leurs lois a priori. Un modèle hiérarchique est construit avec un effet aléatoire 'delta' suivant une loi normale. La probabilité 'pi' est modélisée par une fonction logistique de cet effet aléatoire, et la variable réponse 'r' est supposée suivre une loi binomiale. La simulation génère 20000 échantillons de la distribution a posteriori, qui sont sauvegardés dans la table 'postout'.
Copié !
proc mcmc data=seeds outpost=postout seed=332786 nmc=20000;
ods select PostSumInt;
parms beta0 0 beta1 0 beta2 0 beta3 0 s2 1;
prior s2 ~ igamma(0.01, s=0.01);
prior beta: ~ general(0);
w = beta0 + beta1*seed + beta2*extract + beta3*seed*extract;
random delta ~ normal(w, var=s2) subject=ind;
pi = logistic(delta);
model r ~ binomial(n = n, p = pi);
run;
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);
10
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.
Informations de Copyright : S A S S A M P L E L I B R A R Y
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.