Beispiel 12 für PROC MIANALYZE: MNAR-Sensitivitätsanalyse

Dieser Code ist auch verfügbar auf: English Español Français
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Das Skript generiert zunächst einen simulierten Datensatz (Mono1) mit willkürlichen fehlenden Werten. Anschließend werden zwei separate Analysen durchgeführt, um die Ergebnisse zu vergleichen: eine erste standardmäßige multiple Imputation (MAR - Missing At Random) gefolgt von einer linearen Regression und einer kombinierten Analyse, und dann ein zweiter Ansatz, der eine MNAR-Anpassung verwendet, um nicht zufällig fehlende Daten zu modellieren, ebenfalls gefolgt von einer Regression und einer Ergebnissynthese über PROC MIANALYZE.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz 'Mono1' wird vollständig im ersten DATA-Schritt mithilfe von Schleifen und Zufallsfunktionen (rannor, ranuni) generiert.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellung des Datensatzes 'Mono1', der klinische Studiendaten mit zwei Behandlungsgruppen (Trt) simuliert. Fehlende Werte werden künstlich in die Variable y1 eingefügt.
Kopiert!
1DATA Mono1;
2 DO Trt=0 to 1;
3 DO j=1 to 5;
4 y0=10 + rannor(999);
5 y1= y0 + Trt + rannor(999);
6 IF (ranuni(999) < 0.3) THEN y1=.;
7 OUTPUT;
8 END; END;
9 
10 DO Trt=0 to 1;
11 DO j=1 to 45;
12 y0=10 + rannor(999);
13 y1= y0 + Trt + rannor(999);
14 IF (ranuni(999) < 0.3) THEN y1=.;
15 OUTPUT;
16 END; END;
17 drop j;
18RUN;
2 Codeblock
PROC PRINT
Erklärung :
Anzeige der ersten 10 Beobachtungen zur Überprüfung der generierten Daten.
Kopiert!
1PROC PRINT DATA=Mono1(obs=10);
2 var Trt Y0 Y1;
3 title 'First 10 Obs in the Trial Data';
4RUN;
3 Codeblock
PROC MI Data
Erklärung :
Erste Durchführung der multiplen Imputation (20 Imputationen) unter Annahme eines monotonen Schemas und einer Standard-Regressionsmethode. Die imputierten Daten werden in 'outex12a' gespeichert.
Kopiert!
1PROC MI DATA=Mono1 seed=14823 nimpute=20 out=outex12a;
2 class Trt;
3 monotone reg;
4 var Trt y0 y1;
5RUN;
4 Codeblock
PROC REG Data
Erklärung :
Ausführung eines linearen Regressionsmodells für jeden imputierten Datensatz (über die BY-Gruppe _Imputation_). Die Parameterschätzungen werden in die Tabelle 'regparms' exportiert.
Kopiert!
1ods select none;
2PROC REG DATA=outex12a;
3 model y1= Trt y0;
4 BY _Imputation_;
5 ods OUTPUT parameterestimates=regparms;
6RUN;
7ods select all;
5 Codeblock
PROC MIANALYZE
Erklärung :
Kombination der Ergebnisse der 20 Regressionen zur Erzeugung gültiger statistischer Inferenzen (Rubin's Regeln) für den ersten Ansatz.
Kopiert!
1 
2PROC MIANALYZE parms=regparms;
3modeleffects Trt;
4RUN;
5 
6 Codeblock
PROC MI Data
Erklärung :
Zweite Durchführung der multiplen Imputation. Diesmal wird die MNAR-Anweisung verwendet, um ein Modell für nicht zufällig fehlende Daten in der Variablen y1 zu spezifizieren, speziell für die Gruppe Trt=0.
Kopiert!
1PROC MI DATA=Mono1 seed=14823 nimpute=20 out=outex12b;
2 class Trt;
3 monotone reg;
4 mnar model( y1 /modelobs=(Trt='0'));
5 var y0 y1;
6RUN;
7 Codeblock
PROC REG Data
Erklärung :
Lineare Regression auf den aus der MNAR-Imputation stammenden Daten, pro Imputation wiederholt.
Kopiert!
1ods select none;
2PROC REG DATA=outex12b;
3 model y1= Trt y0;
4 BY _Imputation_;
5 ods OUTPUT parameterestimates=regparms;
6RUN;
7ods select all;
8 Codeblock
PROC MIANALYZE
Erklärung :
Endgültige Kombination der Ergebnisse für den MNAR-Ansatz.
Kopiert!
1 
2PROC MIANALYZE parms=regparms;
3modeleffects Trt;
4RUN;
5 
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 : SAS SAMPLE LIBRARY


Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.