Visualiser les a priori de la régression
Dans l’exercice précédent, vous avez simulé 10 000 samples pour chaque paramètre (\(a\), \(b\), \(s\)) du modèle bayésien de régression du poids \(Y\) par la taille \(X\) : \(Y \sim N(m, s^2)\) avec une moyenne \(m = a + bX\). L’ensemble des valeurs \(a\), \(b\) et \(s\) dans chaque ligne de samples représente un scénario de régression a priori plausible. Pour explorer l’étendue de ces scénarios a priori, vous allez simuler 50 paires de valeurs de taille et de poids à partir de chacun des 12 premiers ensembles de paramètres a priori \(a\), \(b\) et \(s\).
Cet exercice fait partie du cours
Modélisation bayésienne avec RJAGS
Instructions
- Créez un data frame
prior_simulationqui contientn = 50répétitions des 12 premiers ensembles de paramètres a priori danssamples(600 lignes au total !). - Pour chacune des 600 lignes de
prior_simulation:- Simulez une valeur de
heightselon un modèle \(N(170, 10^2)\). - Simulez une valeur de
weightselon \(N(a + b X, s^2)\) où \(X\) est la taille et \((a,b,s)\) est l’ensemble des paramètres a priori.
- Simulez une valeur de
- Vous avez maintenant 50 paires simulées de
heightetweightpour chacun des 12 ensembles de paramètres. Utilisezggplot()pour construire un nuage de points de ces 50 paires pour chaquesetde valeurs de paramètres. Assurez-vous de placerweightsur l’axe des ordonnées !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)