Veröffentlicht am :
Statistik CREATION_INTERNE

Multivariates Normales Zufallseffektmodell

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
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.
Kopiert!
1title 'Multivariate Normal Random-Effects Model';
2DATA rats;
3 array days[5] (8 15 22 29 36);
4 INPUT weight @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;
5 subject = ceil(_n_/5);
6 index = mod(_n_-1, 5) + 1;
7 age = days[index];
8 drop index days:;
9 DATALINES;
10151 199 246 283 320 145 199 249 293 354
11147 214 263 312 328 155 200 237 272 297
12135 188 230 280 323 159 210 252 298 331
13141 189 231 275 305 159 201 248 297 338
14177 236 285 350 376 134 182 220 260 296
15160 208 261 313 352 143 188 220 273 314
16154 200 244 289 325 171 221 270 326 358
17163 216 242 281 312 160 207 248 288 324
18142 187 234 280 316 156 203 243 283 317
19157 212 259 307 336 152 203 246 286 321
20154 205 253 298 334 139 190 225 267 302
21146 191 229 272 302 157 211 250 285 323
22132 185 237 286 331 160 207 257 303 345
23169 216 261 295 333 157 205 248 289 316
24137 180 219 258 291 153 200 244 286 324
25;
26RUN;
2 Codeblock
PROC MCMC
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.
Kopiert!
1PROC MCMC DATA=rats nmc=10000 outpost=postout
2 seed=17 init=random;
3 ods select Parameters REParameters PostSumInt;
4 array theta[2] alpha beta;
5 array theta_c[2];
6 array Sig_c[2,2];
7 array mu0[2] (0 0);
8 array Sig0[2,2] (1000 0 0 1000);
9 array S[2,2] (0.02 0 0 20);
10 
11 parms theta_c Sig_c {121 0 0 0.26} var_y;
12 prior theta_c ~ mvn(mu0, Sig0);
13 prior Sig_c ~ iwish(2, S);
14 prior var_y ~ igamma(0.01, scale=0.01);
15 
16 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);
20RUN;
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