Publicado el :
Mixto MIXTE

Informe de Ventas y Simulación Binomial Negativa

Este código también está disponible en: Deutsch English Français
En espera de validación
El código consta de dos partes distintas. La primera genera un informe financiero a partir de la tabla 'sashelp.orsales', calculando las ganancias por año y por línea de producto con porcentajes. La segunda parte simula un conjunto de datos de 2000 observaciones siguiendo una distribución binomial negativa, y luego utiliza PROC GLIMMIX para estimar los parámetros y validar la simulación en comparación con los valores teóricos.
Análisis de datos

Type : MIXTE


Utiliza SASHELP.ORSALES para la elaboración de informes. Genera datos internos (tabla 'one') a través de funciones aleatorias (rangam, ranpoi) para la parte estadística.

1 Bloque de código
PROC FORMAT
Explicación :
Definición de un formato de usuario para la visualización de etiquetas de líneas de productos.
¡Copiado!
1PROC FORMAT;
2 value $sequip
3 'Sports' = 'Sports Equipment';
4 RUN;
2 Bloque de código
PROC REPORT
Explicación :
Creación de un informe resumido con cálculos de porcentajes a través de un bloque COMPUTE. Nota: La línea 'line @code_sas/...' contiene una referencia de archivo que podría generar un error de sintaxis si no se comenta o corrige.
¡Copiado!
1title1 'Total profit per year';
2title2 'Separated by Product Line';
3PROC REPORT DATA=sashelp.orsales nowd split='*';
4 column year product_line profit percent;
5 define year / group;
6 define product_line
7 / group
8 f=$sequip.
9 'Product*Groups';
10 define profit / analysis
11 sum FORMAT=dollar15.2
12 'Annual*Profit';
13 define percent/ computed 'Product*Percentage'
14 FORMAT=percent10.2;
15 
16 break after year/ summarize suppress skip;
17 rbreak after / summarize;
18 
19 compute before year;
20 total = profit.sum;
21 endcomp;
22 compute percent;
23 percent = profit.sum/total;
24 endcomp;
25 compute after;
26 line ' ';
27 line @code_sas/25 Appendix_A Generating_Negative_Binomial_Data.sas Appendix_A Generating_Negative_Binomial_Data.sas 'Profits in US dollars';
28 endcomp;
29 RUN;
3 Bloque de código
DATA STEP Data
Explicación :
Simulación de datos: creación de una tabla 'one' que contiene variables aleatorias siguiendo una distribución binomial negativa.
¡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 OUTPUT;
13 END;
14 keep Mu Kappa Variance id y;
15RUN;
4 Bloque de código
PROC GLIMMIX
Explicación :
Modelado estadístico: estimación de los parámetros de la distribución sobre los datos simulados para verificar la coherencia con los parámetros de entrada.
¡Copiado!
1ods select none;
2ods OUTPUT ParameterEstimates=parms;
3PROC GLIMMIX DATA=one;
4 model y = / dist=negbin link=identity s;
5RUN;
6ods select all;
5 Bloque de código
PROC PRINT / PROC MEANS
Explicación :
Validación de resultados: visualización comparativa de los parámetros teóricos (Mu, Kappa) y las estadísticas observadas en los datos generados.
¡Copiado!
1ods html;
2title "True Mu and Kappa of Y's iid Negative-binomial(Mu, Kappa)";
3proc print data=one noobs;
4 where id = 1;
5 var Mu Kappa;
6run;
7 
8title "Estimated Mu and Kappa using PROC GLIMMIX";
9proc print data=parms noobs;
10 var Effect Estimate;
11run;
12 
13data one;
14 set one;
15 rename Mu = Mean;
16run;
17 
18title "True Mean and Variance of Y's iid Negative-binomial(Mu, Kappa)";
19PROC PRINT DATA=one noobs;
20 where id = 1;
21 var Mean Variance;
22RUN;
23 
24title "Estimated Mean and Variance";
25PROC MEANS DATA=one n mean var maxdec=2;
26 var y;
27RUN;
28ods 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.