Este script ilustra cómo realizar una regresión de Poisson en un marco bayesiano. Comienza creando un conjunto de datos 'insure' que contiene cuentas de seguro. Luego, utiliza PROC TRANSREG para crear una matriz de diseño para las variables categóricas. El análisis principal se realiza con PROC MCMC para estimar los parámetros del modelo. Finalmente, se lleva a cabo una validación comparativa utilizando PROC GENMOD con la instrucción BAYES.
Análisis de datos
Type : CREATION_INTERNE
Los datos se generan directamente en el script a través de un paso DATA que utiliza 'datalines'.
1 Bloque de código
DATA STEP Data
Explicación : Creación del conjunto de datos 'insure' que contiene información sobre el número de pólizas (n), el número de siniestros (c), el tipo de coche (car) y la edad. Se calcula una variable de desplazamiento (offset) logarítmico 'ln'.
¡Copiado!
title 'Poisson Regression';
data insure;
input n c car $ age;
ln = log(n);
datalines;
500 42 small 0
1200 37 medium 0
100 1 large 0
400 101 small 1
500 73 medium 1
300 14 large 1
;
1
title 'Poisson Regression';
2
DATA insure;
3
INPUT n c car $ age;
4
ln = log(n);
5
DATALINES;
6
50042 small 0
7
120037 medium 0
8
1001 large 0
9
400101 small 1
10
50073 medium 1
11
30014 large 1
12
;
2 Bloque de código
PROC TRANSREG Data
Explicación : Uso de PROC TRANSREG para generar las variables indicadoras (dummy variables) para la variable categórica 'car', preparando así los datos para PROC MCMC.
¡Copiado!
proc transreg data=insure design;
model class(car / zero=last);
id n c age ln;
output out=input_insure(drop=_: Int:);
run;
1
PROC TRANSREGDATA=insure design;
2
model class(car / zero=last);
3
id n c age ln;
4
OUTPUT out=input_insure(drop=_: Int:);
5
RUN;
3 Bloque de código
PROC MCMC
Explicación : Ejecución del análisis bayesiano con PROC MCMC. El modelo especifica una distribución de Poisson para la variable respuesta 'c', con una función de enlace log y un offset 'ln'. Los priors se definen como normales.
Explicación : Uso de PROC GENMOD con la instrucción BAYES para ajustar el mismo modelo de regresión de Poisson. Esto sirve como punto de comparación para validar los resultados obtenidos con PROC MCMC.
¡Copiado!
proc genmod data=insure;
ods select PostSummaries PostIntervals;
class car age(descending);
model c = car age / dist=poisson link=log offset=ln;
bayes seed=17 nmc=5000 coeffprior=normal;
run;
1
PROC GENMODDATA=insure;
2
ods select PostSummaries PostIntervals;
3
class car age(descending);
4
model c = car age / dist=poisson link=log offset=ln;
5
bayes seed=17 nmc=5000 coeffprior=normal;
6
RUN;
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.
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.