Visualisera regressionens apriorifördelningar
I föregående övning simulerade du 10 000 samples för varje parameter (\(a\), \(b\), \(s\)) i den bayesianska regressionsmodellen av vikt \(Y\) som funktion av längd \(X\): \(Y \sim N(m, s^2)\) med medelvärde \(m = a + bX\). Värdena på \(a\), \(b\) och \(s\) i varje rad i samples representerar ett apriori plausibelt regressionsscenario. För att utforska bredden hos dessa apriori-scenarier simulerar du nu 50 par av längd- och viktvärden från var och en av de första 12 uppsättningarna av apriori-parametrar \(a\), \(b\) och \(s\).
Den här övningen är en del av kursen
Bayesiansk modellering med RJAGS
Övningsinstruktioner
- Skapa en dataram
prior_simulationsom innehållern = 50replikat av de första 12 uppsättningarna av apriori-parametrar isamples(totalt 600 rader!). - För var och en av de 600 raderna i
prior_simulation:- Simulera ett
height-värde från en \(N(170, 10^2)\)-modell. - Simulera ett
weight-värde från \(N(a + b X, s^2)\) där \(X\) är längd och \((a,b,s)\) är apriori-parameteruppsättningen.
- Simulera ett
- Nu har du 50 simulerade par av
heightochweightför var och en av de 12 parameteruppsättningarna. Användggplot()för att skapa ett spridningsdiagram över dessa 50 par för varjesetav parametervärden. Kom ihåg att placeraweightpå y-axeln!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)