Das Skript beginnt mit der Erstellung eines Datensatzes 'pump', der Informationen zur Pumpenzuverlässigkeit (Anzahl der Ausfälle 'y', Betriebszeit 't' und Gruppe 'group') enthält. Anschließend werden zwei statistische Verfahren angewendet: 'PROC GLIMMIX' zur Anpassung eines generalisierten linearen gemischten Modells mit einer Poisson-Verteilung und einer logarithmischen Link-Funktion, einschließlich eines zufälligen Effekts pro Pumpe und zur Schätzung der Unterschiede in den Achsenabschnitten und Steigungen zwischen den Gruppen. Das zweite Verfahren, 'PROC NLMIXED', passt ein nicht-lineares gemischtes Modell für dieselben Daten an, definiert einen bedingten linearen Prädiktor 'eta' und einen Ratenparameter 'lambda' für eine Poisson-Verteilung, mit einem normalverteilten zufälligen Effekt und Schätzungen für die Unterschiede zwischen den Gruppenparametern und der Varianz des zufälligen Effekts. Die gesamte Analyse wird mittels ODS im HTML-Format generiert.
Datenanalyse
Type : CREATION_INTERNE
Die Daten des Datensatzes 'pump' werden direkt im Skript über eine DATALINES-Anweisung erstellt und integriert.
1 Codeblock
DATA STEP Data
Erklärung : Dieser DATA STEP-Block erstellt den Datensatz 'pump'. 'pump' ist eine eindeutige Kennung, basierend auf der Beobachtungsnummer. 'y' repräsentiert die Anzahl der Ausfälle, 't' die Betriebszeit und 'group' ist eine kategoriale Variable. 'logtstd' ist eine transformierte Variable (Logarithmus von 't' minus einer Konstante), potenziell standardisiert oder zentriert. Die Daten werden direkt im Skript über die DATALINES-Anweisung bereitgestellt.
Erklärung : Dieser Block verwendet 'PROC GLIMMIX', um ein generalisiertes lineares gemischtes Modell an die 'pump'-Daten anzupassen. Die Quadratur-Integrationsmethode ('method=quad') ist angegeben. Die Variable 'group' wird als Klassifikationsvariable deklariert. Das Modell spezifiziert 'y' als Antwortvariable, 'group' und die Interaktion 'logtstd*group' als Prädiktoren. Die Option 'noint' unterdrückt den automatischen Achsenabschnitt, 'dist=poisson' zeigt eine Poisson-Verteilung für die Antwort an, und 'link=log' verwendet eine logarithmische Link-Funktion. 'ddfm=residual' spezifiziert die Methode zur Berechnung der Freiheitsgrade. Ein zufälliger Effekt ('random int') ist für jede 'pump' enthalten. Schließlich werden Schätzungen für die Unterschiede zwischen den Achsenabschnitten und den Steigungen der beiden Gruppen vorgenommen. Die ODS-Befehle öffnen und schließen die HTML-Ausgabe.
Kopiert!
ods html;
title "Pump Reliability at a Pressurized Water Reactor Nuclear Power Plant";
proc glimmix data=pump method=quad;
class group;
model y = group logtstd*group / noint dist=poisson link=log
dfml=residual;
random int / subject=pump;
estimate "Difference Y-intercepts" group 1 -1;
estimate "Difference Slopes" logtstd*group 1 -1;
run;
ods html close;
1
ods html;
2
title "Pump Reliability at a Pressurized Water Reactor Nuclear Power Plant";
3
PROC GLIMMIXDATA=pump method=quad;
4
class group;
5
model y = group logtstd*group / noint dist=poisson link=log
6
dfml=residual;
7
random int / subject=pump;
8
estimate "Difference Y-intercepts" group 1 -1;
9
estimate "Difference Slopes" logtstd*group 1 -1;
10
RUN;
11
ods html close;
3 Codeblock
PROC NLMIXED
Erklärung : Dieser Block verwendet 'PROC NLMIXED', um ein nicht-lineares gemischtes Modell anzupassen. Die Anfangsparameter ('parms') werden für 'logsig', 'beta1', 'beta2', 'alpha1' und 'alpha2' definiert. Die Variable 'eta' wird bedingt nach dem Wert von 'group' definiert, wobei feste Parameter ('alpha1', 'alpha2', 'beta1', 'beta2') und ein zufälliger Effekt 'e' integriert werden. 'lambda' wird als Exponent von 'eta' berechnet. Das Modell spezifiziert, dass 'y' einer Poisson-Verteilung mit dem Parameter 'lambda' folgt. Der zufällige Effekt 'e' wird als normalverteilt angenommen mit einem Mittelwert von 0 und einer Varianz von 'exp(2*logsig)', wobei 'pump' das Subjekt für die zufälligen Effekte ist. Schätzungen werden für die Unterschiede zwischen den 'alpha'- und 'beta'-Parametern der Gruppen sowie für die Varianz ('Sigma**2') des zufälligen Effekts bereitgestellt.
Kopiert!
proc nlmixed data=pump;
parms logsig 0 beta1 1 beta2 1 alpha1 1 alpha2 1;
if (group = 1) then eta = alpha1 + beta1*logtstd + e;
else eta = alpha2 + beta2*logtstd + e;
lambda = exp(eta);
model y ~ poisson(lambda);
random e ~ normal(0,exp(2*logsig)) subject=pump;
estimate 'alpha1-alpha2' alpha1-alpha2;
estimate 'beta1-beta2' beta1-beta2;
estimate 'Sigma**2' exp(2*logsig);
run;
1
PROC NLMIXEDDATA=pump;
2
parms logsig 0 beta1 1 beta2 1 alpha1 1 alpha2 1;
3
IF (group = 1) THEN eta = alpha1 + beta1*logtstd + e;
4
ELSE eta = alpha2 + beta2*logtstd + e;
5
lambda = exp(eta);
6
model y ~ poisson(lambda);
7
random e ~ normal(0,exp(2*logsig)) subject=pump;
8
estimate 'alpha1-alpha2' alpha1-alpha2;
9
estimate 'beta1-beta2' beta1-beta2;
10
estimate 'Sigma**2' exp(2*logsig);
11
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 : Gaver and O’Muircheartaigh (1987), Draper (1996)
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.