Nicht-parametrische Tweedie-Regression mit PROC GAMPL

Dieser Code ist auch verfügbar auf: English Español Français
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Dieses Skript veranschaulicht die Fähigkeit der PROC GAMPL, nicht-parametrische Tweedie-Regressionsmodelle anzupassen. Es beginnt mit der Simulation eines Datensatzes (zusammengesetzte Poisson-Verteilung) mit nicht-linearen Beziehungen zwischen den Prädiktoren und der Antwortvariablen. Anschließend werden die Ergebnisse eines Standard-Generalisierten Linearen Modells (PROC GENMOD) mit zwei GAMPL-Modellen verglichen: eines verwendet parametrische lineare Terme und das andere Glättungssplines.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden künstlich im DATA Step 'one' generiert. Zufallsvariablen (x1-x4) werden über nicht-lineare Funktionen (Sinus, Exponential, Polynome) transformiert, um einen Mittelwert 'mu' zu erzeugen, der dann zur Simulation einer Antwort 'y' verwendet wird, die einer Tweedie-Verteilung folgt.

1 Codeblock
DATA STEP Data
Erklärung :
Generierung synthetischer Daten. Die Makrovariablen 'phi' und 'power' steuern die Tweedie-Verteilung. Der Code simuliert 1000 Beobachtungen mit zufälligen Prädiktoren und einer Antwortvariablen 'y', die aus komplexen nicht-linearen Transformationen und einem zusammengesetzten Poisson-Prozess konstruiert wird.
Kopiert!
1title 'Nonparametric Tweedie Model';
2%let phi=0.4;
3%let power=1.5;
4 
5DATA one;
6 DO i=1 to 1000;
7 
8 /* Sample the predictors */
9 x1=ranuni(1);
10 x2=ranuni(1);
11 x3=ranuni(1);
12 x4=ranuni(1);
13 
14 /* Apply nonlinear transformations to predictors */
15 f1=2*sin(3.14159265*x1);
16 f2=exp(2*x2)*0.8;
17 f3=0.2*x3**11*(10*(1-x3))**6+10*(10*x3)**3*(1-x3)**10;
18 xb=f1+f2+f3;
19 xb=xb/20;
20 mu=exp(xb);
21 
22 /* Compute parameters of compound Poisson distribution */
23 lambda=mu**(2-&power)/(&phi*(2-&power));
24 alpha=(2-&power)/(&power-1);
25 gamma=&phi*(&power-1)*(mu**(&power-1));
26 
27 /* Simulate the response */
28 rpoi=ranpoi(1,lambda);
29 IF rpoi=0 THEN y=0;
30 ELSE DO;
31 y=0;
32 DO j=1 to rpoi;
33 y=y+rangam(1,alpha);
34 END;
35 y=y*gamma;
36 END;
37 OUTPUT;
38 END;
39RUN;
2 Codeblock
PROC GENMOD
Erklärung :
Anpassung eines Referenz-Generalisierten Linearen Modells (GLM) unter Verwendung der Tweedie-Verteilung. Dieses Modell nimmt eine lineare Beziehung zwischen den Prädiktoren und der Link-Funktion der Antwort an, was angesichts der nicht-linearen Natur der generierten Daten möglicherweise unzureichend ist.
Kopiert!
1 
2PROC GENMOD
3DATA=one;
4model y=x1 x2 x3 x4/dist=tweedie;
5RUN;
6 
3 Codeblock
PROC GAMPL
Erklärung :
Verwendung von PROC GAMPL zur Anpassung eines GLM-ähnlichen Modells (nur parametrische lineare Terme) mit der Tweedie-Verteilung. Dies ermöglicht den Vergleich der grundlegenden Leistung von GAMPL mit GENMOD.
Kopiert!
1 
2PROC GAMPL
3DATA=one seed=1234;
4model y=param(x1 x2 x3 x4)/dist=tweedie;
5RUN;
6 
4 Codeblock
PROC GAMPL
Erklärung :
Anpassung eines vollständigen Generalisierten Additiven Modells (GAM). Die 'spline()'-Terme ermöglichen die Modellierung nicht-linearer Beziehungen für jeden Prädiktor. Die Option 'plots' generiert Grafiken zur Visualisierung der angepassten Splines im Verhältnis zu den Daten.
Kopiert!
1 
2PROC GAMPL
3DATA=one seed=1234 plots;
4model y=spline(x1) spline(x2) spline(x3) spline(x4)/dist=tweedie;
5RUN;
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.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.