Das Skript analysiert Daten über Barren (ingots), um die Wahrscheinlichkeit zu modellieren, dass ein Barren nicht zum Walzen bereit ist, basierend auf der Heizzeit (Heat) und der Einweichzeit (Soak). Es werden zwei Ansätze veranschaulicht: zuerst mit gruppierten Daten (r/n-Syntax) und dann durch Umwandlung der Daten in ein binäres Format (eine Zeile pro individueller Beobachtung), um ein äquivalentes binäres Modell anzupassen.
Datenanalyse
Type : CREATION_INTERNE
Die Daten werden direkt im Skript über eine DATALINES-Anweisung in einem DATA-Schritt erstellt. Es gibt keine Abhängigkeit von externen Dateien oder SASHELP-Tabellen.
1 Codeblock
DATA STEP Data
Erklärung : Dieser Block erstellt die Tabelle 'Ingots' durch Lesen der eingebetteten Daten über 'datalines'. Die Variablen repräsentieren die Heizzeit (Heat), die Einweichzeit (Soak), die Anzahl der Ereignisse (r, nicht walzbereite Barren) und die Gesamtzahl der Versuche (n). Der Operator ' @@' ermöglicht das Lesen mehrerer Beobachtungen in derselben Datenzeile. Eine Bezeichnervariable 'Obsnum' wird für die spätere Verwendung hinzugefügt.
INPUT Heat Soak r n @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;
3
Obsnum= _n_;
4
DATALINES;
5
71.0 0 10141.0 0 31271.0156511.0313
6
71.7 0 17141.7 0 43271.7444511.7 0 1
7
72.2 0 7142.2233272.2 0 21512.2 0 1
8
72.8 0 12142.8 0 31272.8122514.0 0 1
9
74.0 0 9144.0 0 19274.0116
10
;
11
2 Codeblock
PROC HPGENSELECT
Erklärung : Diese Prozedur passt ein logistisches Regressionsmodell an. Die Syntax 'model r/n' gibt an, dass die Antwortvariable binomial ist, wobei 'r' die Anzahl der Ereignisse und 'n' die Anzahl der Versuche ist. Das Modell umfasst die Haupteffekte von Heat und Soak sowie deren Interaktion. Die Verteilung ist explizit als 'Binomial' definiert. Die Vorhersagen und die Werte des linearen Scores (xbeta) werden in der Tabelle 'Out' gespeichert.
Kopiert!
proc hpgenselect data=Ingots;
model r/n = Heat Soak Heat*Soak / dist=Binomial;
id Obsnum;
output out=Out xbeta predicted=Pred;
run;
1
PROC HPGENSELECTDATA=Ingots;
2
model r/n = Heat Soak Heat*Soak / dist=Binomial;
3
id Obsnum;
4
OUTPUT out=Out xbeta predicted=Pred;
5
RUN;
3 Codeblock
DATA STEP Data
Erklärung : Dieser Block führt die Ausgabetabelle 'Out' (die die Vorhersagen enthält) mit der ursprünglichen Tabelle 'Ingots' zusammen, wobei die Kennung 'Obsnum' verwendet wird, um sicherzustellen, dass die Zeilen korrekt übereinstimmen.
Kopiert!
data Out;
merge Out Ingots;
by Obsnum;
1
DATA Out;
2
MERGE Out Ingots;
3
BY Obsnum;
4
4 Codeblock
PROC PRINT
Erklärung : Zeigt die Beobachtungen der zusammengeführten Tabelle 'Out' für eine spezifische Kombination von 'Heat' und 'Soak' an, um die Modellergebnisse für einen bestimmten Fall zu überprüfen.
Kopiert!
proc print data=Out;
where Heat=14 & Soak=1.7;
run;
1
2
PROC PRINT
3
DATA=Out;
4
where Heat=14 & Soak=1.7;
5
RUN;
6
5 Codeblock
DATA STEP Data
Erklärung : Dieser DATA-Schritt transformiert die gruppierten Daten (Ereignis-/Versuchsformat) in ein individuelles binäres Format. Für jede Zeile der Tabelle 'Ingots' werden 'n' neue Zeilen generiert. Die Variable 'Y' wird für die ersten 'r' Fälle (Ereignisse) auf 1 und für die anderen auf 0 gesetzt, wodurch eine Zeile pro getestetem Barren erstellt wird.
Kopiert!
data Ingots_binary;
set Ingots;
do i=1 to n;
if i <= r then Y=1; else Y = 0;
output;
end;
run;
1
DATA Ingots_binary;
2
SET Ingots;
3
DO i=1 to n;
4
IF i <= r THEN Y=1; ELSE Y = 0;
5
OUTPUT;
6
END;
7
RUN;
6 Codeblock
PROC HPGENSELECT
Erklärung : Diese Prozedur passt ein logistisches Modell an, das dem ersten entspricht, aber die Daten im binären Format verwendet. Die Antwortvariable ist 'Y', und die Option 'event='1'' gibt an, dass Y=1 das Ereignis von Interesse ist. Die Verteilung ist als 'Binary' definiert. Die Ergebnisse dieses Modells sollten mit denen des ersten Modells für gruppierte Daten übereinstimmen.
model Y(event='1') = Heat Soak Heat*Soak / dist=Binary;
5
RUN;
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.
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.