Statistische Analyse und Korrelationsberechnung für SASHELP.CARS

Dieser Code ist auch verfügbar auf: Deutsch English Español Français
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Das Skript beginnt mit der Untersuchung der Struktur und Metadaten des `sashelp.cars`-Datensatzes mithilfe von `PROC CONTENTS`. Anschließend werden zusammenfassende Statistiken erstellt: Zuerst eine globale Zusammenfassung, die von `PROC PRINT` angezeigt wird, dann spezifische Mittelwerte von `MSRP`, gruppiert nach `origin` und `make`. Es werden auch die globalen Mittelwerte von `WheelBase` und `Weight` berechnet. Ein Abschnitt des Skripts versucht, den Pearson-Korrelationskoeffizienten zwischen `WheelBase` und `Weight` manuell zu berechnen, indem Abweichungen vom Mittelwert und deren Produkte abgeleitet werden. Es ist wichtig zu beachten, dass ein Syntaxfehler im `DATA STEP`, bei dem `xy_dev = x_dev = y_dev;` einen logischen Vergleich anstelle einer Multiplikation durchführt, die manuelle Pearson-Berechnung inkorrekt macht. Das Skript validiert anschließend die Korrelation durch eine direkte Berechnung mittels `PROC CORR`. Schließlich wird eine einfache lineare Regressionsanalyse mit `PROC REG` durchgeführt, um die Beziehung zwischen `weight` und `wheelbase` zu modellieren.
Datenanalyse

Type : MIXTE


Das Skript verwendet den integrierten Datensatz `sashelp.cars` als Hauptquelle. Mehrere temporäre Datensätze (`cars_summary`, `msrp`, `WW_means`, `cars`, `dev`) werden während der Ausführung dynamisch erstellt, um die Ergebnisse der Prozeduren und die transformierten Daten zu speichern, die dann in den nächsten Schritten verwendet werden.

1 Codeblock
PROC CONTENTS
Erklärung :
Diese Prozedur zeigt das Datenwörterbuch (Metadaten) für den Datensatz `sashelp.cars` an. Sie liefert Informationen über die Variablen, deren Typen, Formate und Längen, was für das Verständnis der Datenstruktur unerlässlich ist.
Kopiert!
1PROC CONTENTS DATA=sashelp.cars;
2RUN;
2 Codeblock
PROC SUMMARY Data
Erklärung :
Die erste `PROC SUMMARY` berechnet grundlegende deskriptive Statistiken für alle numerischen Variablen des Datensatzes `sashelp.cars` und speichert diese Statistiken in einem neuen Datensatz namens `cars_summary`. Die folgende `PROC PRINT` zeigt den Inhalt des Datensatzes `cars_summary` an.
Kopiert!
1PROC SUMMARY DATA=sashelp.cars;
2OUTPUT out=cars_summary;
3 
4RUN;
5PROC PRINT DATA=cars_summary;
6RUN;
3 Codeblock
PROC SUMMARY Data
Erklärung :
Diese `PROC SUMMARY` berechnet den durchschnittlichen Einzelhandelspreis (`MSRP`) der Autos. Die Statistiken werden nach `origin` und `make` (Klassifikationsvariablen) gruppiert. Die Option `NWAY` stellt sicher, dass die Ausgabe nur die detailliertesten Kombinationen der `CLASS`-Variablen enthält. Das Ergebnis, mit der Variable `average_msrp`, wird im Datensatz `msrp` gespeichert.
Kopiert!
1PROC SUMMARY DATA = sashelp.cars nway;
2class origin make;
3var msrp;
4OUTPUT out = msrp mean(msrp) = average_msrp;
5RUN;
4 Codeblock
PROC SUMMARY Data
Erklärung :
Diese `PROC SUMMARY` berechnet die Mittelwerte der Variablen `wheelbase` und `weight` aus dem Datensatz `sashelp.cars`. Die berechneten Mittelwerte werden im Datensatz `WW_means` unter den Namen `mean_wheelbase` und `mean_weight` gespeichert.
Kopiert!
1PROC SUMMARY DATA = sashelp.cars;
2 var wheelbase weight;
3 OUTPUT out = WW_means mean(WheelBase Weight) = mean_wheelbase mean_weight;
4RUN;
5 Codeblock
DATA STEP Data
Erklärung :
Dieser `DATA`-Schritt erstellt einen neuen Datensatz `cars`. Er führt die Mittelwerte (`mean_wheelbase`, `mean_weight`) aus dem Datensatz `WW_means` mit `sashelp.cars` zusammen, indem er eine 'persistente Set'-Technik verwendet, bei der die Mittelwerte nur einmal beim ersten Datensatz (`_n_ eq 1`) gelesen werden. Anschließend werden die Abweichungen von `wheelbase` (`x_dev`) und `weight` (`y_dev`) von ihren Mittelwerten berechnet. Die Zeile `xy_dev = x_dev = y_dev;` führt einen logischen Vergleich durch und weist `xy_dev` den Wert 1 zu, wenn `x_dev` gleich `y_dev` ist, andernfalls 0. Für eine Pearson-Korrelationsberechnung sollte diese Zeile `xy_dev = x_dev * y_dev;` lauten.
Kopiert!
1DATA cars;
2 SET sashelp.cars;
3 IF (_n_ eq 1) THEN SET ww_means;
4 x_dev = wheelbase - mean_wheelbase;
5 y_dev = weight - mean_weight;
6 xy_dev = x_dev = y_dev;
7 OUTPUT;
8RUN;
6 Codeblock
PROC SUMMARY Data
Erklärung :
Diese `PROC SUMMARY` nimmt den Datensatz `cars` als Eingabe. Sie berechnet die unkorrigierte Quadratsumme (`USS`) für `x_dev` und `y_dev` (gespeichert in `x_ss` und `y_ss`) und die Summe (`SUM`) von `xy_dev` (gespeichert in `xy_ss`). Diese Statistiken sind Zwischenwerte für die manuelle Berechnung des Pearson-Korrelationskoeffizienten.
Kopiert!
1PROC SUMMARY DATA = cars;
2 var x_dev y_dev xy_dev;
3 OUTPUT out = dev uss(x_dev y_dev) = x_ss y_ss sum(xy_dev) = xy_ss;
4RUN;
7 Codeblock
DATA STEP Data
Erklärung :
Dieser `DATA`-Schritt nimmt den Datensatz `dev` und fügt eine neue Variable `PearsonCorrelation` hinzu. Er verwendet die Standardformel zur Berechnung des Pearson-Korrelationskoeffizienten aus den Quadratsummen (`x_ss`, `y_ss`) und der Summe der Produkte der Abweichungen (`xy_ss`). Aufgrund des Fehlers bei der Berechnung von `xy_dev` in einem früheren `DATA`-Schritt wird die hier berechnete `PearsonCorrelation` jedoch nicht die wahre Korrelation darstellen.
Kopiert!
1DATA dev;
2 SET dev;
3 PearsonCorrelation = xy_ss/(sqrt(x_ss) *sqrt(y_ss));
4RUN;
8 Codeblock
PROC CORR
Erklärung :
Diese `PROC CORR` berechnet direkt den Pearson-Korrelationskoeffizienten zwischen den Variablen `WheelBase` und `Weight` des Datensatzes `sashelp.cars`. Dies ist die Standard- und empfohlene Methode zur Ermittlung von Korrelationen.
Kopiert!
1 
2PROC CORR
3DATA = sashelp.cars;
4var WheelBase Weight;
5RUN;
6 
9 Codeblock
PROC REG
Erklärung :
Diese `PROC REG` führt eine lineare Regressionsanalyse durch. Sie modelliert die Variable `weight` (abhängig) in Abhängigkeit von der Variable `wheelbase` (unabhängig) unter Verwendung des Datensatzes `sashelp.cars` und liefert Statistiken zur Modellanpassung, Regressionskoeffizienten und ANOVA.
Kopiert!
1 
2PROC REG
3DATA=sashelp.cars;
4model weight=wheelbase;
5RUN;
6 
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.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.