Začněte nyníZačněte zdarma

Vizualizace apriorních rozdělení regrese

V předchozím cvičení jsi nasimuloval/a 10 000 samples pro každý parametr (\(a\), \(b\), \(s\)) bayesovského regresního modelu váhy \(Y\) v závislosti na výšce \(X\): \(Y \sim N(m, s^2)\) s průměrem \(m = a + bX\). Hodnoty \(a\), \(b\) a \(s\) v každém řádku tabulky samples představují jeden apriorně přijatelný regresní scénář. Abys prozkoumala rozsah těchto apriorních scénářů, nasimuluj 50 dvojic hodnot výšky a váhy pro každou z prvních 12 sad apriorních parametrů \(a\), \(b\) a \(s\).

Toto cvičení je součástí kurzu

Bayesovské modelování s RJAGS

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř datový rámec prior_simulation, který bude obsahovat n = 50 replikací prvních 12 sad apriorních parametrů z tabulky samples (celkem 600 řádků!).
  • Pro každý z 600 řádků prior_simulation:
    • Simuluj hodnotu height z modelu \(N(170, 10^2)\).
    • Simuluj hodnotu weight z modelu \(N(a + b X, s^2)\), kde \(X\) je výška a \((a,b,s)\) jsou apriorní parametry.
  • Nyní máš 50 nasimulovaných dvojic height a weight pro každou z 12 sad parametrů. Pomocí ggplot() sestav bodový graf těchto 50 dvojic pro každou set hodnot parametrů. Nezapomeň vynést weight na osu y!

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód