Veröffentlicht am :
Statistik CREATION_INTERNE

Beispiel 12 für PROC GENMOD - Tweedie-Verteilung

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
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!
1%let nObs = 250;
2%let nClass = 5;
3%let nLevs = 4;
4%let seed = 100;
5 
6DATA tmp1;
7 array c{&nClass};
8 
9 keep c1-c&nClass yTweedie d1 d2;
10 
11 /* Tweedie parms */
12 phi=0.5;
13 p=1.5;
14 
15 DO i=1 to &nObs;
16 
17 DO j=1 to &nClass;
18 c{j} = int(ranuni(1)*&nLevs);
19 END;
20 
21 d1 = ranuni(&seed);
22 d2 = ranuni(&seed);
23 
24 xBeta = 0.5*((c2<2) - 2*(c1=1) + 0.5*c&nClass + 0.05*d1);
25 mu = exp(xBeta);
26 
27 /* Poisson distributions parms */
28 lambda = mu**(2-p)/(phi*(2-p));
29 /* Gamma distribution parms */
30 alpha = (2-p)/(p-1);
31 gamma = phi*(p-1)*(mu**(p-1));
32 
33 rpoi = ranpoi(&seed,lambda);
34 IF rpoi=0 THEN yTweedie=0;
35 ELSE DO;
36 yTweedie=0;
37 DO j=1 to rpoi;
38 yTweedie = yTweedie + rangam(&seed,alpha);
39 END;
40 yTweedie = yTweedie * gamma;
41 END;
42 OUTPUT;
43 END;
44RUN;
2 Codeblock
PROC GENMOD
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!
1PROC GENMOD DATA=tmp1;
2 class C1-C5;
3 model yTweedie = C1-C5 D1 D2 / dist=Tweedie type3;
4RUN;
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!
1PROC GENMOD DATA=tmp1;
2 class C1 C2;
3 model yTweedie = C1 C2 D1 / dist=Tweedie(p=1.5) type3;
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 : SAS SAMPLE LIBRARY