Publicado el :
Estadística CREATION_INTERNE

Gráfico Caterpillar con PROC MCMC

Este código también está disponible en: Deutsch English Français
En espera de validación
El script genera primero un conjunto de datos 'seeds' que contiene resultados de germinación. Luego utiliza el procedimiento `PROC MCMC` para ajustar un modelo binomial con una función de enlace logit y efectos aleatorios ('delta'). Las muestras de la distribución a posteriori se guardan en la tabla 'postout'. Se llama a una macro `%CATER` para crear el gráfico Caterpillar de los efectos aleatorios. Finalmente, se utiliza un paso `PROC TEMPLATE` para consultar la fuente del modelo gráfico asociado.
Análisis de datos

Type : CREATION_INTERNE


Los datos utilizados ('seeds') se crean directamente en el script a través de un paso DATA utilizando la instrucción DATALINES.

1 Bloque de código
DATA STEP Data
Explicación :
Crea el conjunto de datos 'seeds' que contiene las variables r, n, seed, extract y un identificador de observación 'ind'. Los datos se incluyen directamente en el código.
¡Copiado!
1DATA seeds;
2 INPUT r n seed extract;
3 ind = _N_;
4 DATALINES;
510 39 0 0 23 62 0 0 23 81 0 0 26 51 0 0
617 39 0 0 5 6 0 1 53 74 0 1 55 72 0 1
732 51 0 1 46 79 0 1 10 13 0 1 8 16 1 0
810 30 1 0 8 28 1 0 23 45 1 0 0 4 1 0
9 3 12 1 1 22 41 1 1 15 30 1 1 32 51 1 1
10 3 7 1 1
11;
2 Bloque de código
PROC MCMC Data
Explicación :
Ejecuta un análisis bayesiano (MCMC) sobre los datos 'seeds'. Define un modelo logístico binomial con efectos aleatorios 'delta'. Las muestras a posteriori se almacenan en 'postout'. La visualización de los resultados se desactiva temporalmente para optimizar la ejecución.
¡Copiado!
1ods select none;
2PROC MCMC DATA=seeds outpost=postout seed=332786 nmc=20000;
3 parms beta0 0 beta1 0 beta2 0 beta3 0 s2 1;
4 prior s2 ~ igamma(0.01, s=0.01);
5 prior beta: ~ general(0);
6 w = beta0 + beta1*seed + beta2*extract + beta3*seed*extract;
7 random delta ~ normal(w, var=s2) subject=ind;
8 pi = logistic(delta);
9 model r ~ binomial(n = n, p = pi);
10RUN;
11ods select all;
3 Bloque de código
Macro Call
Explicación :
Llama a la macro `%CATER` (se supone definida en el entorno o en una biblioteca de autocall) para generar el gráfico Caterpillar de las variables que comienzan con 'delta' a partir del conjunto de datos 'postout'.
¡Copiado!
1%CATER(DATA=postout, var=delta:);
4 Bloque de código
PROC TEMPLATE
Explicación :
Muestra el código fuente del modelo de gráfico ODS 'Stat.MCMC.Graphics.Caterpillar' almacenado en 'sashelp.tmplmst', permitiendo inspeccionar la definición del gráfico utilizado.
¡Copiado!
1PROC TEMPLATE;
2 path sashelp.tmplmst;
3 SOURCE Stat.MCMC.Graphics.Caterpillar;
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 - NAME: MCMCCAT - PRODUCT: STAT