Dieses Programm veranschaulicht die Verwendung der GENMOD-Prozedur zur Analyse von Daten, die einer Tweedie-Verteilung folgen. Zunächst simuliert es einen Datensatz von 250 Beobachtungen über einen DATA-Schritt, wobei die Antwortvariable als Poisson-Summe von Gamma-Variablen (mathematische Darstellung der Tweedie-Verteilung) konstruiert wird. Anschließend werden zwei Modelle angepasst: Das erste schätzt die Parameter mit der Standard-Tweedie-Verteilung, und das zweite legt den Leistungsparameter p auf 1.5 fest.
Datenanalyse
Type : CREATION_INTERNE
Die Daten werden vollständig im DATA-Schritt 'tmp1' unter Verwendung von Zufallsfunktionen (ranuni, ranpoi, rangam) generiert, basierend auf durch Makrovariablen definierten Parametern.
1 Codeblock
DATA STEP Data
Erklärung : Initialisierung der Konfigurations-Makrovariablen. Erstellung der Tabelle 'tmp1' mit kategorialen (c1-c5) und kontinuierlichen (d1, d2) erklärenden Variablen sowie einer Zielvariable 'yTweedie', die nach einem zusammengesetzten Poisson-Gamma-Prozess simuliert wird.
Kopiert!
%let nObs = 250;
%let nClass = 5;
%let nLevs = 4;
%let seed = 100;
data tmp1;
array c{&nClass};
keep c1-c&nClass yTweedie d1 d2;
/* Tweedie parms */
phi=0.5;
p=1.5;
do i=1 to &nObs;
do j=1 to &nClass;
c{j} = int(ranuni(1)*&nLevs);
end;
d1 = ranuni(&seed);
d2 = ranuni(&seed);
xBeta = 0.5*((c2<2) - 2*(c1=1) + 0.5*c&nClass + 0.05*d1);
mu = exp(xBeta);
/* Poisson distributions parms */
lambda = mu**(2-p)/(phi*(2-p));
/* Gamma distribution parms */
alpha = (2-p)/(p-1);
gamma = phi*(p-1)*(mu**(p-1));
rpoi = ranpoi(&seed,lambda);
if rpoi=0 then yTweedie=0;
else do;
yTweedie=0;
do j=1 to rpoi;
yTweedie = yTweedie + rangam(&seed,alpha);
end;
yTweedie = yTweedie * gamma;
end;
output;
end;
run;
Erklärung : Ausführung der GENMOD-Prozedur zur Anpassung eines generalisierten linearen Modells an die simulierten Daten unter Angabe einer Tweedie-Verteilung. Die Option type3 fordert die Typ-3-Statistiken an.
Kopiert!
proc genmod data=tmp1;
class C1-C5;
model yTweedie = C1-C5 D1 D2 / dist=Tweedie type3;
run;
1
PROC GENMODDATA=tmp1;
2
class C1-C5;
3
model yTweedie = C1-C5 D1 D2 / dist=Tweedie type3;
4
RUN;
3 Codeblock
PROC GENMOD
Erklärung : Zweite Ausführung von PROC GENMOD mit einem vereinfachten Modell (weniger erklärende Variablen) und expliziter Festlegung des Leistungsparameters der Tweedie-Verteilung auf 1.5.
Kopiert!
proc genmod data=tmp1;
class C1 C2;
model yTweedie = C1 C2 D1 / dist=Tweedie(p=1.5) type3;
run;
1
PROC GENMODDATA=tmp1;
2
class C1 C2;
3
model yTweedie = C1 C2 D1 / dist=Tweedie(p=1.5) type3;
4
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.
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.