Veröffentlicht am :
Statistik CREATION_INTERNE

Nichtlineares Poisson-Modell mit zufälligen Effekten (MCMCEX8)

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript verwendet die MCMC-Prozedur, um eine bayesianische Analyse von Pumpenversagensdaten durchzuführen. Es vergleicht zwei Modellparametrisierungen (zentriert und nicht-zentriert), um Hyperparameter und zufällige Effekte zu schätzen. Der Code generiert die Daten intern und verwendet ODS Graphics für die Trace-Diagnose.
Datenanalyse

Type : CREATION_INTERNE


Die 'pump'-Daten werden direkt im Skript über einen Data Step mit DATALINES generiert.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellung des 'pump'-Datensatzes mit den Variablen y, t und group. Hinweis: Der Code enthält ein seltsames Artefakt (@code_sas_json...) in der INPUT-Anweisung, das ein Einfügefehler zu sein scheint, aber die Daten sind als Datalines vorhanden.
Kopiert!
1title 'Nonlinear Poisson Regression Random-Effects Model';
2DATA pump;
3 INPUT y t group @code_sas_json/hsdua2304@gmail.com_SAS_Assignment_2.json;
4 pump = _n_;
5 logtstd = log(t) - 2.4564900;
6 DATALINES;
7 5 94.320 1 1 15.720 2 5 62.880 1
814 125.760 1 3 5.240 2 19 31.440 1
9 1 1.048 2 1 1.048 2 4 2.096 2
1022 10.480 2
11;
2 Codeblock
PROC MCMC
Erklärung :
Erste Ausführung von PROC MCMC zur Anpassung des bayesianischen Modells. Verwendet eine Inverse-Gamma-Prior-Verteilung für die Varianz und definiert multivariate (u) und univariate (e) normale zufällige Effekte.
Kopiert!
1ods graphics on;
2PROC MCMC DATA=pump outpost=postout seed=248601 nmc=10000
3 plots=trace stats=none diag=none;
4 ods select tracepanel;
5 array u[2] alpha beta;
6 array mu[2] (0 0);
7 parms s2;
8 prior s2 ~ igamma(0.01, scale=0.01);
9 random u ~ MVNAR(mu, sd=1e6, rho=0) subject=group monitor=(u);
10 random e ~ normal(0, var=s2) subject=pump monitor=(random(1));
11 w = alpha + beta * logtstd;
12 lambda = exp(w+e);
13 model y ~ poisson(lambda);
14RUN;
3 Codeblock
PROC MCMC
Erklärung :
Zweite Ausführung von PROC MCMC mit einer anderen Parametrisierung (hierarchisches Modell, zentriert auf die latente Variable 'llambda') zur Verbesserung der Konvergenz oder der Sampling-Effizienz.
Kopiert!
1PROC MCMC DATA=pump outpost=postout_c seed=248601 nmc=10000
2 plots=trace diag=none;
3 ods select tracepanel postsumint;
4 array u[2] alpha beta;
5 array mu[2] (0 0);
6 parms s2 1;
7 prior s2 ~ igamma(0.01, scale=0.01);
8 random u ~ MVNAR(mu, sd=1e6, rho=0) subject=group monitor=(u);
9 w = alpha + beta * logtstd;
10 random llambda ~ normal(w, var = s2) subject=pump monitor=(random(1));
11 lambda = exp(llambda);
12 model y ~ poisson(lambda);
13RUN;
4 Codeblock
MACRO CALL
Erklärung :
Aufruf eines Dienstprogrammakros '%CATER' (wahrscheinlich zur Visualisierung von Raupenplots der Zufallseffekte) und Beenden der ODS-Grafiken.
Kopiert!
1%CATER(
2DATA=postout_c, var=llambda_:);
3ods graphics off;
4 
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, PRODUCT: STAT