Publicado el :
Estadística CREATION_INTERNE

Generación y Estimación de Datos Binomiales Negativos

Este código también está disponible en: Deutsch English Français
En espera de validación
El script comienza con un DATA STEP para simular una variable Y siguiendo una distribución binomial negativa con parámetros Mu y Kappa definidos. La simulación utiliza las funciones RANGAM y RANPOI. Luego, se emplea PROC GLIMMIX para estimar los parámetros de la distribución binomial negativa a partir de los datos generados. Se utilizan los pasos PROC PRINT y PROC MEANS para mostrar los valores reales y estimados de Mu, Kappa, la media y la varianza, lo que permite una comparación.
Análisis de datos

Type : CREATION_INTERNE


Los datos se generan internamente a través de un DATA STEP que simula una distribución binomial negativa. No se requiere ningún conjunto de datos externo.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP genera 2000 observaciones de una variable 'Y' siguiendo una distribución binomial negativa. Los parámetros Mu (media=30) y Kappa (dispersión=0.1) se definen, así como una semilla para la reproducibilidad. Las funciones RANGAM (para la distribución Gamma) y RANPOI (para la distribución de Poisson) se utilizan para la simulación. También se calcula la varianza teórica.
¡Copiado!
1DATA one;
2 Mu = 30;
3 Kappa = 0.1;
4 alpha = 1 / kappa;
5 beta = kappa * mu;
6 n = 2000;
7 seed = 1917;
8 Variance = mu * ( 1 + mu*kappa);
9 DO id=1 to n;
10 u = beta * rangam( seed, alpha );
11 Y = ranpoi( seed, u );
12 END;
13 keep Mu Kappa Variance id y;
14 RUN;
2 Bloque de código
PROC GLIMMIX
Explicación :
Este bloque utiliza PROC GLIMMIX para estimar los parámetros Mu y Kappa de la distribución binomial negativa a partir de los datos generados 'one'. La opción `dist=negbin` especifica la distribución, y `link=identity` el enlace. La instrucción ODS se utiliza para capturar las estimaciones de los parámetros en el conjunto de datos 'parms' y suprimir la salida estándar durante la ejecución del procedimiento.
¡Copiado!
1*--- Get estimates of Mu and Kappa using PROC GLIMMIX;
2 ods select none;
3 ods OUTPUT ParameterEstimates=parms;
4 PROC GLIMMIX DATA=one;
5 model y = / dist=negbin link=identity s;
6 RUN;
7 ods select all;
3 Bloque de código
PROC PRINT
Explicación :
Este bloque configura la salida HTML y muestra los valores iniciales (verdaderos) de Mu y Kappa utilizados para la generación de datos, extraídos del primer registro del conjunto de datos 'one'.
¡Copiado!
1ods html;
2 title "True Mu and Kappa of Y's iid Negative-binomial(Mu, Kappa)";
3 PROC PRINT DATA=one noobs;
4 where id = 1;
5 var Mu Kappa;
6 RUN;
4 Bloque de código
PROC PRINT
Explicación :
Este bloque muestra las estimaciones de Mu y Kappa obtenidas por PROC GLIMMIX, almacenadas en el conjunto de datos 'parms'.
¡Copiado!
1title "Estimated Mu and Kappa using PROC GLIMMIX";
2 PROC PRINT DATA=parms noobs;
3 var Effect Estimate;
4 RUN;
5 Bloque de código
DATA STEP
Explicación :
Este simple DATA STEP renombra la variable 'Mu' a 'Mean' en el conjunto de datos 'one' para una mayor claridad en las visualizaciones subsiguientes.
¡Copiado!
1DATA one;
2 SET one;
3 rename Mu = Mean;
4 RUN;
6 Bloque de código
PROC PRINT
Explicación :
Este bloque muestra la media (Mean) y la varianza (Variance) teóricas de la distribución binomial negativa, calculadas y almacenadas durante la generación de datos.
¡Copiado!
1title "True Mean and Variance of Y's iid Negative-binomial(Mu, Kappa)";
2 PROC PRINT DATA=one noobs;
3 where id = 1;
4 var Mean Variance;
5 RUN;
7 Bloque de código
PROC MEANS
Explicación :
Este bloque utiliza PROC MEANS para calcular y mostrar la media y la varianza observadas de la variable 'Y' a partir de los datos generados. Esto permite comparar las estadísticas reales de la muestra con los valores teóricos y estimados. La instrucción `ods html close` cierra el archivo de salida HTML.
¡Copiado!
1title "Estimated Mean and Variance";
2 PROC MEANS DATA=one n mean var maxdec=2;
3 var y;
4 RUN;
5 ods html close;
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.