Veröffentlicht am :
Statistik CREATION_INTERNE

Dokumentationsbeispiel 6 für PROC NLMIXED

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript initialisiert Makrovariablen, um die Größe der simulierten Daten zu steuern. Anschließend wird ein Datensatz namens 'nested' mit verschachtelten Zufallseffekten (A, B(A)) und einer Antwortvariablen 'resp' erzeugt, die auf einem linearen Modell mit normalverteilten Fehlern basiert. Schließlich wird PROC NLMIXED verwendet, um ein lineares gemischtes Modell an diese Daten anzupassen, wobei Grenzen für die Varianzen der Zufallseffekte und die Verschachtelungsstruktur festgelegt werden.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz 'nested' wird vollständig innerhalb des SAS-Skripts unter Verwendung von Zufallszahlengenerierungsfunktionen erstellt und simuliert.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen Datensatz namens 'nested', indem er Beobachtungen simuliert. Drei verschachtelte Schleifen generieren Ebenen für die Variablen 'A', 'B' (verschachtelt in 'A') und 'rep'. Normalverteilte Zufallsfehler (err1, err2, err3) werden mithilfe der Funktion RANNOR() generiert, um eine Zufallseffektstruktur zu simulieren. Die Variable 'resp' wird als Summe einer Konstante und dieser Zufallsfehler berechnet.
Kopiert!
1%let na = 100;
2%let nb = 5;
3%let nr = 2;
4DATA nested;
5 DO A = 1 to &na;
6 err1 = 3*rannor(339205);
7 DO B = 1 to &nb;
8 err2 = 2*rannor(0);
9 DO rep = 1 to &nr;
10 err3 = 1*rannor(0);
11 resp = 10 + err1 + err2 + err3;
12 OUTPUT;
13 END;
14 END;
15 END;
16RUN;
2 Codeblock
PROC NLMIXED
Erklärung :
Dieser Block verwendet PROC NLMIXED, um ein lineares gemischtes Modell an den Datensatz 'nested' anzupassen. Für die Varianzen der Zufallseffekte (vara, varb_a) werden Grenzen festgelegt, sodass sie nicht negativ sind. Der feste Teil des Modells wird durch 'mean' definiert, und die Antwortvariable 'resp' wird gemäß einer Normalverteilung modelliert. Es werden zwei Zufallseffekte spezifiziert: 'aeffect' für das Subjekt 'A' und 'beffect' für das in 'A' verschachtelte Subjekt 'B' (B(A)), jeweils mit einer Normalverteilung mit Mittelwert 0 und den Varianzen vara bzw. varb_a.
Kopiert!
1PROC NLMIXED DATA = nested;
2 bounds vara >=0, varb_a >=0;
3 mean = intercept + aeffect + beffect;
4 model resp ~ normal (mean, s2);
5 random aeffect ~ normal(0,vara) subject = A;
6 random beffect ~ normal(0,varb_a) subject = B(A);
7RUN;
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