Visualizar las previas de la regresión
En el ejercicio anterior, simulaste 10.000 samples para cada parámetro (\(a\), \(b\), \(s\)) en el modelo bayesiano de regresión del peso \(Y\) por la altura \(X\): \(Y \sim N(m, s^2)\) con media \(m = a + bX\). El conjunto de valores de \(a\), \(b\) y \(s\) en cada fila de samples representa un escenario de regresión previo plausible. Para explorar el alcance de estos escenarios previos, vas a simular 50 pares de valores de altura y peso a partir de cada uno de los primeros 12 conjuntos de parámetros previos \(a\), \(b\) y \(s\).
Este ejercicio forma parte del curso
Modelado bayesiano con RJAGS
Instrucciones del ejercicio
- Crea un data frame
prior_simulationque incluyan = 50réplicas de los primeros 12 conjuntos de parámetros previos ensamples(¡600 filas en total!). - Para cada una de las 600 filas de
prior_simulation:- Simula un valor de
heighta partir de un modelo \(N(170, 10^2)\). - Simula un valor de
weightdesde \(N(a + b X, s^2)\) donde \(X\) es la altura y \((a,b,s)\) es el conjunto de parámetros previos.
- Simula un valor de
- Ahora tienes 50 pares simulados de
heightyweightpara cada uno de los 12 conjuntos de parámetros. Usaggplot()para construir un diagrama de dispersión de estos 50 pares para cadasetde valores de parámetros. ¡Asegúrate de ponerweighten el eje y!
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Replicate the first 12 parameter sets 50 times each
prior_scenarios_rep <- bind_rows(replicate(n = ___, expr = samples[1:12, ], simplify = FALSE))
# Simulate 50 height & weight data points for each parameter set
prior_simulation <- prior_scenarios_rep %>%
mutate(height = rnorm(n = 600, mean = ___, sd = ___)) %>%
mutate(weight = rnorm(n = 600, mean = ___, sd = ___))
# Plot the simulated data & regression model for each parameter set
ggplot(prior_simulation, aes(x = ___, y = ___)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE, size = 0.75) +
facet_wrap(~ set)