Dieses Skript veranschaulicht die Verwendung der MCMC-Prozedur für die Analyse eines hierarchischen Modells. Die intern erzeugten Daten zeigen die Gewichtsentwicklung von 30 Ratten über fünf Zeiträume. Das Modell geht davon aus, dass das Gewichtswachstum jeder Ratte einer Geraden folgt (Steigung und Achsenabschnitt), aber dass diese Parameter (Zufallseffekte) rattenspezifisch sind und aus einer gemeinsamen multivariaten Normalverteilung stammen. Die Prozedur schätzt die Parameter dieser Gruppenverteilung sowie die Restvarianz des Modells.
Datenanalyse
Type : CREATION_INTERNE
Der Datensatz 'rats' wird über eine DATALINES-Anweisung generiert. Der Code transformiert die Daten von einem breiten Format (mehrere Messungen pro Zeile) in ein langes Format (eine Messung pro Zeile mit entsprechenden 'subject'- und 'age'-Variablen).
1 Codeblock
DATA STEP Data
Erklärung : Dieser Datenblock liest die Gewichte der Ratten aus den 'datalines'. Er verwendet ein Array, um die Messtage abzubilden, und Berechnungen mit der automatischen Variable `_n_`, um jeder Messung eine Subjekt-ID (`subject`) und das Alter (`age`) zuzuweisen. Die Anweisung 'input weight @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;' wird verwendet, um mehrere Gewichtsbeobachtungen aus einer einzigen Datenzeile zu lesen und so einen Datensatz im langen Format zu erstellen.
Erklärung : Dieser Block wendet die MCMC-Prozedur an, um eine bayesianische Analyse durchzuführen. Er definiert die Modellparameter, einschließlich der Hyperparameter (theta_c, Sig_c, var_y) und ihrer A-priori-Verteilungen (PRIOR). Die RANDOM-Anweisung gibt an, dass die Parameter Alpha und Beta (im Array 'theta' gruppiert) zufällige Effekte pro Subjekt sind, die einer multivariaten Normalverteilung folgen. Die MODEL-Anweisung definiert das Likelihood-Modell für das Gewicht ('weight'). Die Prozedur erzeugt 10000 Stichproben aus der A-posteriori-Verteilung der Parameter, die in der Tabelle 'postout' gespeichert werden.
random theta ~ mvn(theta_c, Sig_c) subject=subject
17
monitor=(alpha_9 beta_9 alpha_25 beta_25);
18
mu = alpha + beta * age;
19
model weight ~ normal(mu, var=var_y);
20
RUN;
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
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.