Visualizando as distribuições a priori da regressão
No exercício anterior, você simulou 10.000 samples para cada parâmetro (\(a\), \(b\), \(s\)) no modelo Bayesiano de regressão de peso \(Y\) por altura \(X\): \(Y \sim N(m, s^2)\) com média \(m = a + bX\). O conjunto de valores de \(a\), \(b\) e \(s\) em cada linha de samples representa um cenário de regressão plausível a priori. Para explorar o escopo desses cenários a priori, você vai simular 50 pares de valores de altura e peso para cada um dos primeiros 12 conjuntos de parâmetros a priori \(a\), \(b\) e \(s\).
Este exercicio faz parte do curso
Modelagem Bayesiana com RJAGS
Instruções do exercicio
- Crie um data frame
prior_simulationque incluan = 50réplicas dos primeiros 12 conjuntos de parâmetros a priori emsamples(600 linhas no total!). - Para cada uma das 600 linhas de
prior_simulation:- Simule um valor de
heightde um modelo \(N(170, 10^2)\). - Simule um valor de
weightde \(N(a + b X, s^2)\), onde \(X\) é height e \((a,b,s)\) é o conjunto de parâmetros a priori.
- Simule um valor de
- Agora você tem 50 pares simulados de
heighteweightpara cada um dos 12 conjuntos de parâmetros. Useggplot()para construir um diagrama de dispersão desses 50 pares para cadasetde valores de parâmetros. Lembre-se de colocarweightno eixo y!
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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)