ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea un data frame prior_simulation que incluya n = 50 réplicas de los primeros 12 conjuntos de parámetros previos en samples (¡600 filas en total!).
  • Para cada una de las 600 filas de prior_simulation:
    • Simula un valor de height a partir de un modelo \(N(170, 10^2)\).
    • Simula un valor de weight desde \(N(a + b X, s^2)\) donde \(X\) es la altura y \((a,b,s)\) es el conjunto de parámetros previos.
  • Ahora tienes 50 pares simulados de height y weight para cada uno de los 12 conjuntos de parámetros. Usa ggplot() para construir un diagrama de dispersión de estos 50 pares para cada set de valores de parámetros. ¡Asegúrate de poner weight en 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)
Editar y ejecutar código