Publicado el :
Estadística CREACION_INTERNE

Ejemplo 12 para PROC GENMOD - Distribución Tweedie

Este código también está disponible en: Deutsch English Français
En espera de validación
Este programa ilustra el uso del procedimiento GENMOD para analizar datos que siguen una distribución de Tweedie. En primer lugar, simula un conjunto de datos de 250 observaciones a través de un paso DATA, construyendo la variable de respuesta como una suma de Poisson de variables Gamma (representación matemática de la distribución de Tweedie). Luego, ajusta dos modelos: el primero estima los parámetros con la distribución de Tweedie predeterminada, y el segundo fija el parámetro de potencia p en 1.5.
Análisis de datos

Type : CREACION_INTERNE


Los datos se generan completamente en el paso DATA 'tmp1' utilizando funciones aleatorias (ranuni, ranpoi, rangam) basadas en parámetros definidos por macro-variables.

1 Bloque de código
DATA STEP Data
Explicación :
Inicialización de macro-variables de configuración. Creación de la tabla 'tmp1' que contiene variables explicativas categóricas (c1-c5) y continuas (d1, d2), así como una variable objetivo 'yTweedie' simulada según un proceso compuesto de Poisson-Gamma.
¡Copiado!
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 Bloque de código
PROC GENMOD
Explicación :
Ejecución del procedimiento GENMOD para ajustar un modelo lineal generalizado sobre los datos simulados, especificando una distribución Tweedie. La opción type3 solicita las estadísticas de tipo 3.
¡Copiado!
1PROC GENMOD DATA=tmp1;
2 class C1-C5;
3 model yTweedie = C1-C5 D1 D2 / dist=Tweedie type3;
4RUN;
3 Bloque de código
PROC GENMOD
Explicación :
Segunda ejecución de PROC GENMOD con un modelo simplificado (menos variables explicativas) y fijando explícitamente el parámetro de potencia de la distribución Tweedie en 1.5.
¡Copiado!
1PROC GENMOD DATA=tmp1;
2 class C1 C2;
3 model yTweedie = C1 C2 D1 / dist=Tweedie(p=1.5) type3;
4RUN;
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.
Información de copyright : SAS SAMPLE LIBRARY