Veröffentlicht am :
Statistik CREATION_INTERNE

Caterpillar-Diagramm mit PROC MCMC

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript generiert zunächst einen Datensatz 'seeds' mit Keimergebnissen. Anschließend wird die Prozedur `PROC MCMC` verwendet, um ein Binomialmodell mit einer Logit-Linkfunktion und Zufallseffekten ('delta') anzupassen. Die Stichproben der posterioren Verteilung werden in der Tabelle 'postout' gespeichert. Ein Makro `%CATER` wird aufgerufen, um das Caterpillar-Diagramm der Zufallseffekte zu erstellen. Schließlich wird ein `PROC TEMPLATE`-Schritt verwendet, um die Quelle des zugehörigen Grafikmodells anzuzeigen.
Datenanalyse

Type : CREATION_INTERNE


Die verwendeten Daten ('seeds') werden direkt im Skript über einen DATA-Schritt mit der DATALINES-Anweisung erstellt.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellt den Datensatz 'seeds', der die Variablen r, n, seed, extract und einen Beobachtungsidentifikator 'ind' enthält. Die Daten sind direkt im Code enthalten.
Kopiert!
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 Codeblock
PROC MCMC Data
Erklärung :
Führt eine Bayes'sche Analyse (MCMC) an den 'seeds'-Daten durch. Definiert ein logistisches Binomialmodell mit Zufallseffekten 'delta'. Die posterioren Stichproben werden in 'postout' gespeichert. Die Anzeige der Ergebnisse ist zur Optimierung der Ausführung temporär deaktiviert.
Kopiert!
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 Codeblock
Macro Call
Erklärung :
Ruft das Makro `%CATER` (vermutlich in der Umgebung oder einer Autocall-Bibliothek definiert) auf, um das Caterpillar-Diagramm der mit 'delta' beginnenden Variablen aus dem Datensatz 'postout' zu erstellen.
Kopiert!
1%CATER(DATA=postout, var=delta:);
4 Codeblock
PROC TEMPLATE
Erklärung :
Zeigt den Quellcode des ODS-Grafikmodells 'Stat.MCMC.Graphics.Caterpillar', gespeichert in 'sashelp.tmplmst', an, um die Definition des verwendeten Diagramms zu überprüfen.
Kopiert!
1PROC TEMPLATE;
2 path sashelp.tmplmst;
3 SOURCE Stat.MCMC.Graphics.Caterpillar;
4RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : SAS SAMPLE LIBRARY - NAME: MCMCCAT - PRODUCT: STAT