Este script ilustra la capacidad del procedimiento GAMPL para ajustar modelos de regresión Tweedie no paramétricos. Comienza simulando un conjunto de datos (distribución de Poisson compuesta) con relaciones no lineales entre los predictores y la respuesta. Luego compara los resultados de un modelo lineal generalizado estándar (PROC GENMOD) con dos modelos GAMPL: uno utilizando términos lineales paramétricos y el otro utilizando splines de suavizado.
Análisis de datos
Type : CREATION_INTERNE
Los datos se generan artificialmente en el paso DATA 'one'. Las variables aleatorias (x1-x4) se transforman mediante funciones no lineales (seno, exponencial, polinomios) para crear una media 'mu', que luego se utiliza para simular una respuesta 'y' siguiendo una distribución Tweedie.
1 Bloque de código
DATA STEP Data
Explicación : Generación de datos sintéticos. Las macro-variables 'phi' y 'power' controlan la distribución Tweedie. El código simula 1000 observaciones con predictores aleatorios y una variable de respuesta 'y' construida a partir de transformaciones no lineales complejas y un proceso de Poisson compuesto.
¡Copiado!
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 Bloque de código
PROC GENMOD
Explicación : Ajuste de un modelo lineal generalizado (GLM) de referencia utilizando la distribución Tweedie. Este modelo supone una relación lineal entre los predictores y la función de enlace de la respuesta, lo que puede ser insuficiente dada la naturaleza no lineal de los datos generados.
¡Copiado!
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 Bloque de código
PROC GAMPL
Explicación : Uso de PROC GAMPL para ajustar un modelo similar al GLM (solo términos paramétricos lineales) con la distribución Tweedie. Esto permite comparar el rendimiento básico de GAMPL con GENMOD.
¡Copiado!
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 Bloque de código
PROC GAMPL
Explicación : Ajuste de un modelo aditivo generalizado (GAM) completo. Los términos 'spline()' permiten modelar las relaciones no lineales para cada predictor. La opción 'plots' genera gráficos para visualizar las splines ajustadas en relación con los datos.
model y=spline(x1) spline(x2) spline(x3) spline(x4)/dist=tweedie;
5
RUN;
6
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Documentación relacionada
Aucune documentation spécifique pour cette catégorie.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.