Wizualizacja priorytetów regresji
W poprzednim ćwiczeniu zasymulowano 10 000 samples dla każdego parametru (\(a\), \(b\), \(s\)) w bayesowskim modelu regresji wagi \(Y\) względem wzrostu \(X\): \(Y \sim N(m, s^2)\) ze średnią \(m = a + bX\). Zestaw wartości \(a\), \(b\) i \(s\) w każdym wierszu samples reprezentuje jeden a priori wiarygodny scenariusz regresji. Aby zbadać zakres tych scenariuszy a priori, zasymuluj 50 par wartości wzrostu i wagi dla każdego z pierwszych 12 zestawów parametrów a priori \(a\), \(b\) i \(s\).
To ćwiczenie jest częścią kursu
Modelowanie bayesowskie z RJAGS
Instrukcje do ćwiczenia
- Utwórz ramkę danych
prior_simulationzawierającąn = 50replikacji pierwszych 12 zestawów parametrów a priori zsamples(łącznie 600 wierszy!). - Dla każdego z 600 wierszy
prior_simulation:- Zasymuluj wartość
heightz modelu \(N(170, 10^2)\). - Zasymuluj wartość
weightz modelu \(N(a + b X, s^2)\), gdzie \(X\) to wzrost, a \((a,b,s)\) to zestaw parametrów a priori.
- Zasymuluj wartość
- Masz teraz 50 zasymulowanych par
heightiweightdla każdego z 12 zestawów parametrów. Użyjggplot(), aby stworzyć wykres punktowy tych 50 par dla każdegosetwartości parametrów. Pamiętaj, żeby umieścićweightna osi y!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)