Publicado el :
Estadística CREATION_INTERNE

Modelo de Efectos Aleatorios con PROC MCMC

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script SAS© ilustra el uso del procedimiento MCMC para ajustar un modelo de efectos aleatorios. Primero, crea un conjunto de datos 'heights' utilizando `datalines` con información sobre la familia, el género y la altura. Luego, se crea un nuevo conjunto de datos 'input' a partir de 'heights' para codificar el género en una variable numérica binaria ('gf'). A continuación, se utiliza PROC MCMC para ajustar un modelo normal donde la altura se modela en función del género y un efecto aleatorio específico de cada familia. Se especifican distribuciones a priori para los parámetros del modelo (intercepto, coeficiente de género, varianzas). El script activa y desactiva los gráficos ODS para la visualización de las trazas MCMC.
Análisis de datos

Type : CREATION_INTERNE


Los datos brutos se integran directamente en el script a través de una instrucción `datalines`, formando el conjunto de datos 'heights'. Este último se transforma luego en 'input' para el análisis MCMC.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP inicializa y completa el conjunto de datos 'heights' directamente a partir de los datos proporcionados en el script mediante la instrucción `datalines`. Define tres variables: 'Family' (numérica), 'G' (género, carácter) y 'Height' (numérica).
¡Copiado!
1DATA heights;
2 INPUT Family G$ Height;
3 DATALINES;
41 F 67
51 F 66
61 F 64
71 M 71
81 M 72
92 F 63
102 F 63
112 F 67
122 M 69
132 M 68
142 M 70
153 F 63
163 M 64
174 F 67
184 F 66
194 M 67
204 M 67
214 M 69
22;
23 
2 Bloque de código
DATA STEP Data
Explicación :
Este bloque DATA STEP crea un nuevo conjunto de datos llamado 'input' leyendo 'heights'. Transforma la variable categórica 'G' (género) en una variable indicadora numérica 'gf' (1 para mujer, 0 para hombre) y elimina la variable 'G' original para el análisis subsiguiente.
¡Copiado!
1DATA INPUT;
2 SET heights;
3 IF g eq 'F' THEN gf = 1;
4 ELSE gf = 0;
5 drop g;
6RUN;
7 
3 Bloque de código
ODS Statement
Explicación :
Activa el sistema gráfico ODS (Output Delivery System) para permitir la generación de gráficos de alta resolución por los procedimientos SAS.
¡Copiado!
1ods graphics on;
2 
4 Bloque de código
PROC MCMC
Explicación :
Este procedimiento MCMC (Monte Carlo por Cadenas de Markov) ajusta un modelo de efectos aleatorios en el conjunto de datos 'input'. Genera un conjunto de datos de salida 'postout' que contiene las muestras post-MCMC. Los parámetros del modelo se inicializan y se especifican distribuciones a priori para el intercepto (b0), el coeficiente de género (b1), la varianza residual (s2) y la varianza de los efectos aleatorios (s2g). Se define un efecto aleatorio 'gamma' para cada 'family'. El modelo especifica que 'height' sigue una distribución normal con una media 'mu' (función de los efectos fijos y aleatorios) y una varianza 's2'. Se fijan el número de iteraciones (nmc) y la semilla aleatoria, y se solicitan gráficos de traza.
¡Copiado!
1PROC MCMC DATA=INPUT outpost=postout nmc=50000 seed=7893 plots=trace;
2 ods select Parameters REparameters PostSumInt tracepanel;
3 parms b0 0 b1 0 s2 1 s2g 1;
4 
5 prior b: ~ normal(0, var = 10000);
6 prior s: ~ igamma(0.01, scale = 0.01);
7 random gamma ~ normal(0, var = s2g) subject=family monitor=(gamma);
8 mu = b0 + b1 * gf + gamma;
9 model height ~ normal(mu, var = s2);
10RUN;
11 
5 Bloque de código
ODS Statement
Explicación :
Desactiva el sistema gráfico ODS, deteniendo así la generación de gráficos.
¡Copiado!
1ods graphics off;
2 
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, NAME: MCMCGS3, TITLE: Getting Started Example 3 for PROC MCMC, PRODUCT: STAT, SYSTEM: ALL, KEYS: random-effects model, PROCS: MCMC, DATA:, REF: PROC MCMC, GETTING STARTED EXAMPLE 3, MISC: