Veröffentlicht am :

Regressionsanalyse für Klassen- und Populationsdaten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Ausführung von zwei linearen Regressionsmodellen mittels `PROC REG` auf dem Dataset `sashelp.class`, wobei die Beziehung zwischen `Weight` und `Height` untersucht und anschließend `Age` einbezogen wird. Danach werden globale Titel für die Ausgabe definiert. Ein `DATA`-Schritt wird verwendet, um das Dataset `USPopulation` zu erstellen, indem die `Population`-Daten direkt aus einem `datalines`-Block gelesen werden. Dieser Schritt berechnet auch die abgeleiteten Variablen `Year` und `YearSq`. Eine zweite `PROC REG` wird auf `USPopulation` angewendet, um `Population` als Funktion von `Year` zu modellieren, mit einer `ODS OUTPUT`-Funktion, um die Kovarianzmatrix (`covb`) in einem Dataset `Bmatrix` zu speichern. Das Modell wird dann geändert, um `YearSq` hinzuzufügen. Schließlich zeigt eine `PROC PRINT` den Inhalt des Datasets `Bmatrix` an, wobei die Systemvariablen `_run_` zur Identifizierung der Beobachtungen verwendet werden.
Datenanalyse

Type : MIXTE


Das Skript verwendet das interne Beispiel-Dataset `sashelp.class`. Es generiert außerdem ein `USPopulation`-Dataset intern aus numerischen Daten, die über `datalines` bereitgestellt werden. Das Dataset `Bmatrix` wird dynamisch als ODS-Ausgabe der `PROC REG` erstellt.

1 Codeblock
PROC REG
Erklärung :
Dieser Block führt die lineare Regressionsprozedur (`PROC REG`) auf dem Dataset `sashelp.class` aus. Er passt zunächst ein einfaches Modell von `Weight` als Funktion von `Height` an, dann ein zweites Modell, das zusätzlich zu `Height` auch `Age` als Prädiktoren für `Weight` enthält.
Kopiert!
1PROC REG DATA=sashelp.class;
2 var Age;
3 model Weight = Height;
4RUN;
5 
6 model Weight = Height Age;
7RUN;
8QUIT;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser `DATA`-Schritt erstellt ein neues Dataset namens `USPopulation`. Die Variable `Population` wird aus den im `datalines`-Block bereitgestellten Daten gelesen. Die Variable `Year` wird auf 1780 initialisiert und für jede Beobachtung um 10 erhöht, und `YearSq` wird als Quadrat von `Year` berechnet. Die Variable `Population` wird ebenfalls skaliert, indem sie durch 1000 geteilt wird. Der Verweis `input Population @code_sas_json/...` im Originalskript ist ein SAS-Syntaxfehler und wurde zu `input Population;` korrigiert, um die Ausführung des Codes zu ermöglichen.
Kopiert!
1title1 'US Population Study';
2title2 'Concatenating Two Tables into One Data Set';
3 
4DATA USPopulation;
5 INPUT Population ;
6 retain Year 1780;
7 Year=Year+10;
8 YearSq=Year*Year;
9 Population=Population/1000;
10 DATALINES;
113929 5308 7239 9638 12866 17069 23191 31443 39818 50155
1262947 75994 91972 105710 122775 131669 151325 179323 203211
13;
3 Codeblock
PROC REG
Erklärung :
Diese `PROC REG` analysiert die Beziehung zwischen `Population` und `Year` unter Verwendung des Datasets `USPopulation`. Sie verwendet `ODS OUTPUT`, um ein Dataset namens `Bmatrix` zu erstellen, das die Kovarianzmatrix der Parameterschätzungen enthält. Nach der ersten Ausführung wird die Variable `YearSq` über die `add`-Anweisung zum Modell hinzugefügt, und die aktualisierten Ergebnisse werden gedruckt. Die Prozedur wird mit `quit;` beendet.
Kopiert!
1PROC REG DATA=USPopulation;
2 ods OUTPUT covb(persist=RUN)=Bmatrix;
3 var YearSq;
4 model Population = Year / covb;
5RUN;
6 
7 add YearSq;
8 PRINT;
9QUIT;
4 Codeblock
PROC PRINT
Erklärung :
Diese `PROC PRINT` zeigt den Inhalt des zuletzt erstellten oder aktiven Datasets an, welches höchstwahrscheinlich das von der vorherigen `PROC REG` generierte Dataset `Bmatrix` ist. Die Optionen `id _run_;` und `by _run_;` werden verwendet, um die Beobachtungen basierend auf der internen Variable `_run_` zu identifizieren und zu gruppieren, die oft von `ODS OUTPUT` mit der Option `PERSIST=RUN` generiert wird.
Kopiert!
1PROC PRINT;
2 id _run_;
3 BY _run_;
4RUN;
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, NAME: ODSEX6, TITLE: Documentation Example 6 for ODS, PRODUCT: STAT