Veröffentlicht am :
Statistik SASHELP

Einführungsbeispiel zu PROC MCMC

Dieser Code ist auch verfügbar auf: English Español Français
Das Skript führt eine einfache lineare Regressionsanalyse unter Verwendung eines bayesianischen Ansatzes über PROC MCMC durch. Es definiert A-priori-Verteilungen für die Regressionskoeffizienten (beta0, beta1) und die Fehlervarianz (sigma2) und modelliert anschließend die Variable 'weight' in Abhängigkeit von 'height'. Die Markov-Kette-Monte-Carlo-Stichprobenziehung ist mit 10000 Iterationen und einer Schrittweite von 2 konfiguriert. Die Ergebnisse der MCMC-Kette werden in einem Datensatz namens 'classout' gespeichert. Die grafische Ausgabe wird während der Ausführung der Prozedur aktiviert.
Datenanalyse

Type : SASHELP


Die Quelldaten stammen aus dem integrierten Datensatz 'SASHELP.CLASS', einem Standard-SAS-Datensatz, der in der SAS-Umgebung verfügbar ist.

1 Codeblock
ODS
Erklärung :
Aktiviert das Output Delivery System (ODS) für die grafische Ausgabe, wodurch PROC MCMC Visualisierungen der Analyseergebnisse generieren kann.
Kopiert!
1ods graphics on;
2 Codeblock
PROC MCMC
Erklärung :
Dieser Block führt die PROC MCMC-Prozedur für eine bayesianische Regressionsanalyse aus. Er verwendet 'sashelp.class' als Eingabedaten und erstellt einen Ausgabedatensatz 'classout', der die MCMC-Stichproben enthält. Die Parameter 'beta0', 'beta1' und 'sigma2' werden mit initialen Werten deklariert. A-priori-Verteilungen (normal für Betas, inverse Gamma für sigma2) werden spezifiziert. Der lineare Mittelwert 'mu' wird als Funktion von 'height' definiert, und das Modell spezifiziert, dass 'weight' einer Normalverteilung mit diesem Mittelwert und der Varianz 'sigma2' folgt. Die Optionen 'nmc', 'thin' und 'seed' steuern die MCMC-Stichprobenziehung.
Kopiert!
1PROC MCMC DATA=sashelp.class outpost=classout nmc=10000 thin=2 seed=246810;
2 parms beta0 0 beta1 0;
3 parms sigma2 1;
4 prior beta0 beta1 ~ normal(mean = 0, var = 1e6);
5 prior sigma2 ~ igamma(shape = 3/10, scale = 10/3);
6 mu = beta0 + beta1*height;
7 model weight ~ n(mu, var = sigma2);
8RUN;
3 Codeblock
ODS
Erklärung :
Deaktiviert die grafische Ausgabe über das Output Delivery System (ODS) und beendet die Generierung von Grafiken nach der Ausführung von PROC MCMC.
Kopiert!
1ods graphics off;
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 : S A S S A M P L E L I B R A R Y