El script comienza con la creación de un conjunto de datos llamado 'seeds' a través de un paso DATA con datos integrados (datalines). Este conjunto de datos contiene información sobre el número de éxitos 'r' en 'n' intentos, así como factores explicativos 'seed' y 'extract'. Luego, se invoca el procedimiento MCMC para realizar un análisis bayesiano. El modelo especifica una regresión logística donde la probabilidad de éxito está influenciada por los factores 'seed', 'extract' y su interacción. Se introduce un efecto aleatorio 'delta' a nivel de cada observación para capturar la variabilidad no observada. Se definen leyes a priori para todos los parámetros del modelo (coeficientes de regresión 'beta' y varianza del efecto aleatorio 's2'). La simulación MCMC se ejecuta durante 20000 iteraciones y los resultados de la distribución a posteriori se almacenan en la tabla 'postout'.
Análisis de datos
Type : CREATION_INTERNE
Los datos se generan completamente dentro del script a través de un paso 'DATA' y una instrucción 'datalines', creando la tabla 'seeds'.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque de código crea un conjunto de datos SAS llamado 'seeds'. Los datos se leen directamente del flujo de entrada (datalines). Se añade una variable 'ind' que sirve como identificador único para cada fila (observación).
Explicación : Este bloque ejecuta un análisis bayesiano a través del procedimiento MCMC. Define los parámetros del modelo (beta0, beta1, beta2, beta3, s2) y sus leyes a priori. Se construye un modelo jerárquico con un efecto aleatorio 'delta' siguiendo una ley normal. La probabilidad 'pi' se modela mediante una función logística de este efecto aleatorio, y se supone que la variable respuesta 'r' sigue una ley binomial. La simulación genera 20000 muestras de la distribución a posteriori, que se guardan en la tabla 'postout'.
¡Copiado!
proc mcmc data=seeds outpost=postout seed=332786 nmc=20000;
ods select PostSumInt;
parms beta0 0 beta1 0 beta2 0 beta3 0 s2 1;
prior s2 ~ igamma(0.01, s=0.01);
prior beta: ~ general(0);
w = beta0 + beta1*seed + beta2*extract + beta3*seed*extract;
random delta ~ normal(w, var=s2) subject=ind;
pi = logistic(delta);
model r ~ binomial(n = n, p = pi);
run;
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);
10
RUN;
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
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.