Veröffentlicht am :
Statistik CREATION_INTERNE

Lineare Regressionsanalysen und Visualisierung

Dieser Code ist auch verfügbar auf: English Français
Wartet auf Validierung
Das Skript besteht aus zwei unabhängigen Analysen. Der erste Teil erstellt eine Tabelle 'drinking', um den Zusammenhang zwischen Alkoholkonsum und Leberzirrhose pro Land zu analysieren. Er erzeugt ein Streudiagramm, führt mehrere Regressionsmodelle mit PROC REG aus, einschließlich eines Modells, das ein bestimmtes Land (Frankreich) ausschließt, und identifiziert einflussreiche Beobachtungen. Der zweite Teil erstellt eine Tabelle 'universe', die Daten zur Entfernung und Geschwindigkeit von Galaxien enthält. Er visualisiert diese Daten und passt ein lineares Regressionsmodell ohne y-Achsenabschnitt an, um das Hubble-Gesetz zu veranschaulichen, wobei auch Punkte mit hoher Einflussnahme (Leverage) identifiziert werden.
Datenanalyse

Type : CREATION_INTERNE


Die beiden Datensätze, 'drinking' und 'universe', werden innerhalb des Skripts mit Hilfe eines DATA STEPs und der Anweisung 'cards' oder 'datalines' generiert, wodurch sie autonom sind.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellt die Arbeitstabelle 'drinking' aus manuell eingegebenen Daten mit der Anweisung 'cards'. Die Tabelle enthält drei Variablen: den Namen des Landes, den Alkoholkonsum und die Leberzirrhoserate.
Kopiert!
1DATA drinking;
2 INPUT country $ 1-12 alcohol cirrhosis;
3CARDS;
4France 24.7 46.1
5Italy 15.2 23.6
6W.Germany 12.3 23.7
7Austria 10.9 7.0
8Belgium 10.8 12.3
9USA 9.9 14.2
10Canada 8.3 7.4
11E&W 7.2 3.0
12Sweden 6.6 7.2
13Japan 5.8 10.6
14Netherlands 5.7 3.7
15Ireland 5.6 3.4
16Norway 4.2 4.3
17Finland 3.9 3.6
18Israel 3.1 5.4
19;
20RUN;
2 Codeblock
PROC SGPLOT
Erklärung :
Erzeugt ein Streudiagramm (scatter plot) zur Visualisierung der Beziehung zwischen Alkoholkonsum ('alcohol') und Leberzirrhose ('cirrhosis'). Jeder Punkt ist mit dem Namen des Landes beschriftet. Der auskommentierte Codeblock zeigt eine ältere Methode, um ein ähnliches Ergebnis mit PROC GPLOT zu erhalten.
Kopiert!
1PROC SGPLOT DATA=drinking;
2 scatter x=alcohol y=cirrhosis / datalabel=country;
3RUN;
4 
5/*
6symbol1 pointlabel=('#country');
7proc gplot data=drinking;
8 plot cirrhosis*alcohol ;
9run;
10*/
3 Codeblock
PROC REG
Erklärung :
Führt eine einfache lineare Regression durch, um die Leberzirrhoserate in Abhängigkeit vom Alkoholkonsum zu modellieren. `ODS GRAPHICS ON` ermöglicht die automatische Generierung von Diagnosegrafiken der Regression. Der auskommentierte Code zeigt eine Alternative zum Überlagern einer Regressionsgeraden auf ein Streudiagramm mit PROC SGPLOT.
Kopiert!
1ods graphics on;
2PROC REG DATA=drinking;
3 model cirrhosis=alcohol;
4RUN;
5ods graphics off;
6 
7/*
8proc sgplot data=drinking;
9 scatter x=alcohol y=cirrhosis ;
10 reg x=alcohol y=cirrhosis / clm;
11run;
12*/
4 Codeblock
PROC REG
Erklärung :
Führt ein neues lineares Regressionsmodell aus, das die Beobachtung für Frankreich ausschließt, die im vorherigen Diagramm als potenziell einflussreicher Punkt identifiziert wurde.
Kopiert!
1PROC REG DATA=drinking;
2 model cirrhosis=alcohol;
3 where country ne 'France';
4RUN; QUIT;
5 Codeblock
PROC REG Data
Erklärung :
Führt die Regression erneut auf allen Daten aus und speichert die Diagnosestatistiken in einer neuen Tabelle 'regout'. Die PROC PRINT Prozedur wird dann verwendet, um Beobachtungen anzuzeigen, die als Ausreißer (absolut studentisiertes Residuum > 2) oder einflussreiche Punkte (Hebel > 0.3) angesehen werden.
Kopiert!
1PROC REG DATA=drinking;
2 model cirrhosis=alcohol;
3 OUTPUT out=regout predicted=pred student=zres h=leverage;
4RUN; QUIT;
5 
6PROC PRINT DATA=regout;
7 where abs(zres)>2 or leverage>.3;
8RUN;
6 Codeblock
DATA STEP Data
Erklärung :
Erstellt die Arbeitstabelle 'universe' aus manuell eingegebenen Galaxiendaten (ID, Name, Geschwindigkeit, Entfernung) mit der Anweisung 'datalines'.
Kopiert!
1DATA universe;
2 INPUT id Galaxy $ Velocity Distance;
3DATALINES;
41 NGC0300 133 2.00
52 NGC0925 664 9.16
63 NGC1326A 1794 16.14
74 NGC1365 1594 17.95
85 NGC1425 1473 21.88
96 NGC2403 278 3.22
107 NGC2541 714 11.22
118 NGC2090 882 11.75
129 NGC3031 80 3.63
1310 NGC3198 772 13.80
1411 NGC3351 642 10.00
1512 NGC3368 768 10.52
1613 NGC3621 609 6.64
1714 NGC4321 1433 15.21
1815 NGC4414 619 17.70
1916 NGC4496A 1424 14.86
2017 NGC4548 1384 16.22
2118 NGC4535 1444 15.78
2219 NGC4536 1423 14.93
2320 NGC4639 1403 21.98
2421 NGC4725 1103 12.36
2522 IC4182 318 4.49
2623 NGC5253 232 3.15
2724 NGC7331 999 14.72
28;
29RUN;
7 Codeblock
PROC SGPLOT
Erklärung :
Erzeugt ein Streudiagramm zur Visualisierung der Beziehung zwischen der Entfernung einer Galaxie und ihrer Fluchtgeschwindigkeit, wobei Achsenbeschriftungen hinzugefügt werden. Der auskommentierte Code zeigt das Äquivalent mit der veralteten Prozedur PROC GPLOT.
Kopiert!
1PROC SGPLOT DATA=universe;
2 scatter y=velocity x=Distance;
3 yaxis label='velocity (kms)';
4 xaxis label='Distance (mega-parsec)';
5RUN;
6 
7/*
8proc gplot data=universe;
9 plot velocity*Distance;
10 label velocity='velocity (kms)' distance='Distance (mega-parsec)';
11run;
12*/
8 Codeblock
PROC REG
Erklärung :
Passt ein lineares Regressionsmodell für die Geschwindigkeit in Abhängigkeit von der Entfernung an. Die Option `NOINT` zwingt die Regressionsgerade dazu, durch den Ursprung zu gehen, was mit dem Hubble-Gesetz (Geschwindigkeit = H0 * Entfernung) übereinstimmt.
Kopiert!
1ods graphics on;
2PROC REG DATA=universe;
3 model velocity= distance / noint;
4RUN;
5ods graphics off;
6QUIT;
9 Codeblock
PROC REG Data
Erklärung :
Führt die Regression erneut ohne y-Achsenabschnitt aus und speichert die Diagnosestatistiken in der Tabelle 'regout' (überschreibt die vorherige). PROC PRINT zeigt dann die Beobachtungen mit einem Leverage-Wert über 0.08 an, wodurch die einflussreichsten Punkte auf die Modellschätzung identifiziert werden.
Kopiert!
1PROC REG DATA=universe;
2 model velocity= distance / noint;
3 OUTPUT out=regout predicted=pred student=zres h=leverage;
4RUN; QUIT;
5 
6PROC PRINT DATA=regout;
7 where leverage>.08;
8RUN;
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.