Veröffentlicht am :
Statistik CREATION_INTERNE

Dokumentationsbeispiel 19 für PROC GLIMMIX - Quadraturmethode für Mehrebenenmodelle

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript simuliert Daten zur Schulleistung ('grade') für Schüler ('student'), die nach Klasse ('class') innerhalb von Schulen ('school') gruppiert sind. Ein Programmeffekt ('program') wird ebenfalls simuliert. Die GLIMMIX-Prozedur wird anschließend verwendet, um ein verallgemeinertes gemischtes Modell mit einer Binomialverteilung und einer Logit-Verknüpfungsfunktion anzupassen, wobei zufällige Effekte für die Schule und die in der Schule verschachtelte Klasse integriert werden. Das Skript zeigt zwei ähnliche Ausführungen, wobei die zweite das Modell mit einer geringfügigen Variation in der Datengenerierung und der Hinzufügung der Option `fastquad` anpasst.
Datenanalyse

Type : CREATION_INTERNE


Die Daten 'test' werden vollständig im Skript mit DATA Steps erstellt, die eine hierarchische Struktur (Schüler in Klassen in Schulen) und zufällige Effekte simulieren.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA Step-Block generiert einen Datensatz namens 'test'. Er simuliert eine hierarchische Struktur mit 10 Schulen, 5 Klassen pro Schule und 10 Schülern pro Klasse. Zufällige Effekte 'schef' (Schule) und 'clsef' (Klasse) werden hinzugefügt. Eine binäre Variable 'program' wird generiert. Die Variable 'grade' wird gemäß einer Binomialverteilung simuliert, abhängig von einer Wahrscheinlichkeit 'p', die aus einer linearen Kombination von festen und zufälligen Effekten berechnet wird.
Kopiert!
1DATA test;
2 DO school = 1 to 10;
3 schef = rannor(1234)*4;
4 DO class = 1 to 5;
5 clsef = rannor(2345)*2;
6 program = ranbin(12345,1,.5);
7 DO student = 1 to 10;
8 eta = 3 + program + schef + clsef ;
9 p = 1/(1+exp(-eta));
10 grade = ranbin(23456,1,p);
11 OUTPUT;
12 END;
13 END;
14 END;
15RUN;
2 Codeblock
PROC GLIMMIX
Erklärung :
Diese GLIMMIX-Prozedur passt ein verallgemeinertes gemischtes Modell an die 'test'-Daten an. Die Quadraturmethode (quad(qpoints=3)) wird verwendet. Die Variablen 'school', 'class' und 'program' werden als Klassifikationsvariablen deklariert. Das Modell spezifiziert 'grade' als abhängige Variable, 'program' als festen Effekt, mit einer Binomialverteilung und einem Logit-Link. Zufällige Effekte ('random int') sind für 'school' und die in 'school' verschachtelte 'class' enthalten.
Kopiert!
1PROC GLIMMIX DATA=test method = quad(qpoints=3);
2 class school class program;
3 model grade = program/s dist=binomial link=logit solution;
4 random int /subject = school;
5 random int /subject = class(school);
6RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Dieser zweite DATA Step-Block ist dem ersten ähnlich, generiert jedoch Daten mit 10 Klassen pro Schule (anstelle von 5). Er simuliert erneut eine hierarchische Struktur mit zufälligen Effekten und die Variable 'grade' nach den gleichen Prinzipien wie der erste Block.
Kopiert!
1DATA test;
2 DO school = 1 to 10;
3 schef = rannor(1234)*4;
4 DO class = 1 to 10;
5 clsef = rannor(2345)*2;
6 program = ranbin(12345,1,.5);
7 DO student = 1 to 10;
8 eta = 3 + program + schef + clsef ;
9 p = 1/(1+exp(-eta));
10 grade = ranbin(23456,1,p);
11 OUTPUT;
12 END;
13 END;
14 END;
15RUN;
4 Codeblock
PROC GLIMMIX
Erklärung :
Diese zweite GLIMMIX-Prozedur passt ein identisches Modell wie die erste an, jedoch an die neu generierten 'test'-Daten. Die Option 'fastquad' wird der Quadraturmethode hinzugefügt, was potenziell die Berechnung beschleunigen kann, indem eine andere Approximation der Integrale verwendet wird.
Kopiert!
1PROC GLIMMIX DATA=test method = quad(qpoints=3 fastquad);
2 class school class program;
3 model grade = program/s dist=binomial link=logit solution;
4 random int /subject = school;
5 random int /subject = class(school);
6RUN;
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