Veröffentlicht am :
Statistik CREATION_INTERNE

Nichtlineare Regression für die Patientenprognose

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript analysiert Daten von 15 Patienten, um einen Erholungsprognose-Index (prog) basierend auf der Anzahl der Hospitalisierungstage (days) vorherzusagen. Zunächst wird ein DATA-Schritt verwendet, um die Tabelle 'patient' aus eingebetteten Daten ('cards') zu erstellen. Anschließend wird ein nichtlineares exponentielles Regressionsmodell `prog = a0*exp(a1*days)` mit PROC NLIN angepasst. Es werden Vorhersagen, Residuen und Konfidenzintervalle generiert. Grafiken (PROC GPLOT) werden erstellt, um die Rohdaten und die Modellanpassung zu visualisieren. Parallel dazu wird ein zweites lineares Regressionsmodell für den Logarithmus der Antwortvariablen (`ln(prog)`) mit PROC REG getestet, um die Ansätze zu vergleichen.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden direkt im Skript über einen DATA-Schritt und die Anweisung 'cards' erstellt, wodurch die Tabelle 'patient' mit 15 Beobachtungen und 3 Variablen (prog, days, lnprog) gebildet wird.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser Block erstellt die Tabelle 'patient' im Speicher. Er liest zwei Variablen, 'prog' (Prognose-Index) und 'days' (Hospitalisierungstage), aus den über die Anweisung 'cards' bereitgestellten Daten. Er berechnet auch 'lnprog', den natürlichen Logarithmus von 'prog'.
Kopiert!
1DATA patient;
2INPUT prog days;
3lnprog=log(prog);
4CARDS;
5 54 2
6 50 5
7 45 7
8 37 10
9 35 14
10 25 19
11 20 26
12 16 31
13 18 34
14 13 38
15 8 45
16 11 52
17 8 53
18 4 60
19 6 65
20 ;
21RUN;
2 Codeblock
PROC NLIN
Erklärung :
Diese Prozedur passt ein nichtlineares Regressionsmodell an. Das Modell hat die exponentielle Form: `prog = a0*exp(a1*days)`. Startwerte für die Parameter `a0` und `a1` werden bereitgestellt. Die Prozedur berechnet die Parameterschätzungen und erzeugt eine Ausgabetabelle 'a', die die vorhergesagten Werte, Residuen sowie die 90%-Konfidenz- und Prognoseintervalle (alpha=0.1) enthält.
Kopiert!
1PROC NLIN alpha=0.1;
2parameters a0=10
3 a1=-1;
4 model prog = a0*exp(a1*days);
5 OUTPUT out=a p=p r=resid lcl=lci ucl=uci lclm=l90 uclm=u90;
6RUN;
3 Codeblock
PROC PRINT
Erklärung :
Druckt den Inhalt der von PROC NLIN generierten Tabelle 'a', die die Modellergebnisse (beobachtete, vorhergesagte Werte, Residuen usw.) enthält.
Kopiert!
1PROC PRINT DATA=a;
2RUN;
4 Codeblock
PROC PLOT
Erklärung :
Die Prozedur PROC PLOT wird verwendet, um eine Grafik der Residuen versus der vorhergesagten Werte zu erstellen, um die Eignung des nichtlinearen Modells grafisch zu bewerten.
Kopiert!
1PROC PLOT;
2plot resid*p;
3RUN;
5 Codeblock
PROC GPLOT
Erklärung :
Dieser Block konfiguriert die grafischen Optionen (goptions, title, symbol, axis) zum Erzeugen von Grafiken. Das erste PROC GPLOT erstellt ein Streudiagramm der Originaldaten. Das zweite überlagert die Kurve des angepassten Modells mit dem Streudiagramm, um die Anpassung zu visualisieren.
Kopiert!
1goptions reset=global gunit=pct border cback=white
2 colors=(black blue green red)
3 ftitle=swissb ftext=swiss htitle=4 htext=4;
4title1 'Prognostic index versus Days';
5symbol1 color=red
6 interpol=none
7 value=dot
8 height=3;
9symbol2 color=red
10 interpol=join;
11 axis1 label=('Days')
12 order=(0 to 70 BY 10)
13 width=3;
14 axis2 label=('Pyrene')
15 order=(0 to 60 BY 10)
16 width=3;
17 
18PROC GPLOT DATA=a;
19 plot prog*days/ haxis=axis1 vaxis=axis2;
20 RUN;
21 
22PROC GPLOT DATA=a;
23 plot prog*days p*days/ overlay haxis=axis1 vaxis=axis2;
24 RUN;
25QUIT;
6 Codeblock
PROC REG
Erklärung :
Zu Vergleichszwecken führt diese Prozedur eine einfache lineare Regression der Variablen 'lnprog' (Logarithmus des Prognose-Index) in Abhängigkeit von 'days' durch. Die Ergebnisse, einschließlich der vorhergesagten Werte und Residuen, werden in der Tabelle 'b' gespeichert.
Kopiert!
1PROC REG;
2model lnprog=days;
3 OUTPUT out=b p=pln r=residln;
4RUN;
7 Codeblock
PROC PLOT
Erklärung :
Dieser Block verwendet PROC PLOT, um die Grafik der Residuen des linearen Modells versus der vorhergesagten Werte anzuzeigen. Dies ermöglicht die Überprüfung der Homoskedastizitätsannahme (konstante Varianz der Residuen) für das log-lineare Modell.
Kopiert!
1PROC PLOT;
2plot residln*pln;
3RUN;
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 : Datenquelle: Lehrbuch 'Applied Linear Statistical Model', Kutner et al. (5. Auflage), S.515. Name der Originaldatei: ch13-patient-nonlinear.sas