Das Skript generiert zunächst einen Datensatz 'Polynomial', der auf einer polynomialen Funktion basiert. Anschließend wird PROC ORTHOREG verwendet, um ein polynomiales Modell neunten Grades anzupassen. Die Modellergebnisse werden gespeichert und von PROC PLM verwendet, um die Nullstellen der ursprünglichen Funktion zu bewerten. Parallel dazu wird PROC GLM verwendet, um ein ähnliches Modell anzupassen, und die Vorhersagen werden ebenfalls mit PROC PLM berechnet. Schließlich werden die Vorhersagen beider Modelle (ORTHOREG und GLM) zusammengeführt und zum Vergleich angezeigt.
Datenanalyse
Type : CREATION_INTERNE
Das Skript erstellt zwei Datensätze: 'Polynomial' und 'Zeros'. Die Daten werden vollständig durch 'do'-Schleifen in DATA-Schritten generiert, ohne auf externe Quellen angewiesen zu sein.
1 Codeblock
DATA STEP Data
Erklärung : Dieser Block erstellt die Tabelle 'Polynomial'. Er generiert 101 Beobachtungen durch Berechnung der 'x'- und 'y'-Werte gemäß einer polynomialen Funktion, ohne Eingabedaten zu verwenden.
Kopiert!
title 'Polynomial Data';
data Polynomial;
do i = 1 to 101;
x = (i-1)/(101-1);
y = 10**(9/2);
do j = 0 to 8;
y = y * (x - j/8);
end;
output;
end;
run;
1
title 'Polynomial Data';
2
DATA Polynomial;
3
DO i = 1 to 101;
4
x = (i-1)/(101-1);
5
y = 10**(9/2);
6
DO j = 0 to 8;
7
y = y * (x - j/8);
8
END;
9
OUTPUT;
10
END;
11
RUN;
2 Codeblock
PROC ORTHOREG
Erklärung : Dieser Block verwendet die ORTHOREG-Prozedur, um eine polynomiale Regression neunten Grades auf der Variablen 'y' in Abhängigkeit von 'x' durchzuführen. Das Modell wird im Objekt 'OStore' gespeichert und eine Grafik des angepassten Modells wird erstellt.
Kopiert!
ods graphics on;
proc orthoreg data=Polynomial;
effect xMod = polynomial(x / degree=9);
model y = xMod;
effectplot fit / obs;
store OStore;
run;
ods graphics off;
1
ods graphics on;
2
3
PROC ORTHOREGDATA=Polynomial;
4
effect xMod = polynomial(x / degree=9);
5
model y = xMod;
6
effectplot fit / obs;
7
store OStore;
8
RUN;
9
10
ods graphics off;
3 Codeblock
DATA STEP Data
Erklärung : Dieser Block erstellt die Tabelle 'Zeros', die die Wurzeln (Nullstellen) der polynomialen Funktion enthält, die zur Generierung der Initialdaten verwendet wurde. Diese 'x'-Werte werden für die Vorhersage verwendet.
Kopiert!
data Zeros(keep=x);
do j = 0 to 8;
x = j/8;
output;
end;
run;
1
DATA Zeros(keep=x);
2
DO j = 0 to 8;
3
x = j/8;
4
OUTPUT;
5
END;
6
RUN;
4 Codeblock
PROC PLM
Erklärung : Diese Prozedur verwendet das Modell 'OStore' (erstellt von PROC ORTHOREG), um die vorhergesagten Werte ('OPred') für jede Beobachtung der Tabelle 'Zeros' zu berechnen. Die Ergebnisse werden in der Tabelle 'OZeros' gespeichert.
Erklärung : Zeigt den Inhalt der zuletzt erstellten Tabelle, 'OZeros', an, welche die Vorhersagen des ORTHOREG-Modells darstellt.
Kopiert!
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
6 Codeblock
PROC GLM
Erklärung : Dieser Block verwendet die GLM-Prozedur (General Linear Model), um ein polynomiales Modell neunten Grades (spezifiziert durch die sukzessiven Interaktionen von 'x') anzupassen. Das Modell wird zur späteren Verwendung in 'GStore' gespeichert.
Kopiert!
proc glm data=Polynomial;
model y = x|x|x|x|x|x|x|x|x;
store GStore;
run;
1
PROC GLMDATA=Polynomial;
2
model y = x|x|x|x|x|x|x|x|x;
3
store GStore;
4
RUN;
7 Codeblock
PROC PLM
Erklärung : Ähnlich dem vorherigen Schritt verwendet diese Prozedur das Modell 'GStore' (erstellt von PROC GLM), um die Vorhersagen ('GPred') für die Tabelle 'Zeros' zu berechnen. Die Ergebnisse werden in der Tabelle 'GZeros' gespeichert.
Erklärung : Dieser Block führt die Tabellen 'OZeros' und 'GZeros' zusammen, um eine neue Tabelle 'Zeros' zu erstellen, die die Vorhersagen beider Modelle (ORTHOREG und GLM) nebeneinander enthält, um den Vergleich zu erleichtern.
Kopiert!
data Zeros;
merge OZeros GZeros;
run;
1
DATA Zeros;
2
MERGE OZeros GZeros;
3
RUN;
9 Codeblock
PROC PRINT
Erklärung : Zeigt den Inhalt der finalen Tabelle 'Zeros' an, welche die von den Modellen ORTHOREG ('OPred') und GLM ('GPred') vorhergesagten Werte vergleicht.
Kopiert!
proc print noobs;
run;
1
PROC PRINT noobs;
2
RUN;
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
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.