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!
title 'Nonparametric Tweedie Model';
%let phi=0.4;
%let power=1.5;
data one;
do i=1 to 1000;
/* Sample the predictors */
x1=ranuni(1);
x2=ranuni(1);
x3=ranuni(1);
x4=ranuni(1);
/* Apply nonlinear transformations to predictors */
f1=2*sin(3.14159265*x1);
f2=exp(2*x2)*0.8;
f3=0.2*x3**11*(10*(1-x3))**6+10*(10*x3)**3*(1-x3)**10;
xb=f1+f2+f3;
xb=xb/20;
mu=exp(xb);
/* Compute parameters of compound Poisson distribution */
lambda=mu**(2-&power)/(&phi*(2-&power));
alpha=(2-&power)/(&power-1);
gamma=&phi*(&power-1)*(mu**(&power-1));
/* Simulate the response */
rpoi=ranpoi(1,lambda);
if rpoi=0 then y=0;
else do;
y=0;
do j=1 to rpoi;
y=y+rangam(1,alpha);
end;
y=y*gamma;
end;
output;
end;
run;
1
title 'Nonparametric Tweedie Model';
2
%let phi=0.4;
3
%let power=1.5;
4
5
DATA 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 */
/* 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
ELSEDO;
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;
39
RUN;
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!
proc genmod data=one;
model y=x1 x2 x3 x4/dist=tweedie;
run;
1
2
PROC GENMOD
3
DATA=one;
4
model y=x1 x2 x3 x4/dist=tweedie;
5
RUN;
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!
proc gampl data=one seed=1234;
model y=param(x1 x2 x3 x4)/dist=tweedie;
run;
1
2
PROC GAMPL
3
DATA=one seed=1234;
4
model y=param(x1 x2 x3 x4)/dist=tweedie;
5
RUN;
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.
model y=spline(x1) spline(x2) spline(x3) spline(x4)/dist=tweedie;
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.
Zugehörige Dokumentation
Aucune documentation spécifique pour cette catégorie.
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.