Publicado el :
Estadística CREATION_INTERNE

Regresión de Poisson Zero-Inflated con PROC HPFMM

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script demuestra varias facetas de PROC HPFMM. Comienza creando una tabla de datos 'catch' que contiene variables demográficas y una variable de conteo 'count'. Luego, aplica progresivamente modelos más complejos: un modelo de Poisson base, un modelo de mezcla de Poisson 'zero-inflated' para tener en cuenta un exceso de ceros, y finalmente un análisis bayesiano de este último modelo. El script también muestra cómo optimizar la ejecución (nthreads) y generar gráficos específicos (ODS Graphics).
Análisis de datos

Type : CREATION_INTERNE


Los datos son generados completamente y contenidos en el script a través de un paso DATA con una instrucción DATALINES.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque crea la tabla 'catch' a partir de datos internos. La instrucción 'input' lee las variables 'gender', 'age' y 'count'. El doble 'at' ( @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json) indica a SAS que lea múltiples observaciones de la misma línea de datos.
¡Copiado!
1DATA catch;
2 INPUT gender $ age count @code_sas_json/8_SAS_Intro_ReadFile_MultiCol_@@.json;
3 DATALINES;
4 F 54 18 M 37 0 F 48 12 M 27 0
5 M 55 0 M 32 0 F 49 12 F 45 11
6 M 39 0 F 34 1 F 50 0 M 52 4
7 M 33 0 M 32 0 F 23 1 F 17 0
8 F 44 5 M 44 0 F 26 0 F 30 0
9 F 38 0 F 38 0 F 52 18 M 23 1
10 F 23 0 M 32 0 F 33 3 M 26 0
11 F 46 8 M 45 5 M 51 10 F 48 5
12 F 31 2 F 25 1 M 22 0 M 41 0
13 M 19 0 M 23 0 M 31 1 M 17 0
14 F 21 0 F 44 7 M 28 0 M 47 3
15 M 23 0 F 29 3 F 24 0 M 34 1
16 F 19 0 F 35 2 M 39 0 M 43 6
17;
2 Bloque de código
PROC HPFMM
Explicación :
Este bloque ejecuta un primer modelo de regresión de Poisson simple. La variable 'count' se modela en función de la interacción entre 'gender' y 'age'.
¡Copiado!
1PROC HPFMM DATA=catch;
2 class gender;
3 model count = gender*age / dist=Poisson;
4RUN;
3 Bloque de código
PROC HPFMM
Explicación :
Este bloque ajusta un modelo de mezcla de dos componentes, conocido como modelo de Poisson 'zero-inflated' (ZI). La primera instrucción MODEL especifica el componente de Poisson, y la segunda MODEL con 'dist=Constant' añade un componente que modela el exceso de ceros.
¡Copiado!
1PROC HPFMM DATA=catch;
2 class gender;
3 model count = gender*age / dist=Poisson ;
4 model + / dist=Constant;
5RUN;
4 Bloque de código
PROC HPFMM
Explicación :
Este bloque realiza un análisis bayesiano del modelo de Poisson 'zero-inflated'. La instrucción 'BAYES' solicita la inferencia bayesiana para los parámetros del modelo. 'PERFORMANCE NTHREADS=2' se utiliza para acelerar el cálculo usando dos hilos.
¡Copiado!
1PROC HPFMM DATA=catch seed=12345;
2 class gender;
3 model count = gender*age / dist=Poisson;
4 model + / dist=constant;
5 performance nthreads=2;
6 bayes;
7RUN;
5 Bloque de código
PROC HPFMM
Explicación :
Este último bloque vuelve a ejecutar el análisis bayesiano, pero activando la generación de gráficos a través de 'ODS GRAPHICS ON'. 'ODS SELECT TADPanel' filtra la salida para mostrar solo el panel de gráficos de diagnóstico bayesiano (Trace, Autocorrelation, Density).
¡Copiado!
1ods graphics on;
2ods select TADPanel;
3PROC HPFMM DATA=catch seed=12345;
4 class gender;
5 model count = gender*age / dist=Poisson;
6 model + / dist=constant;
7 performance nthreads=2;
8 bayes;
9RUN;
10ods graphics off;
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 : S A S S A M P L E L I B R A R Y