Estimations ponctuelles a posteriori
Rappelez-vous la vraisemblance du modèle de régression bayésienne du poids \(Y\) selon la taille \(X\) : \(Y \sim N(m, s^2)\) où \(m = a + b X\). Une simulation RJAGS de 100 000 itérations de la postérieure, weight_sim_big, se trouve dans votre espace de travail, ainsi qu'une trame de données contenant la sortie de la chaîne de Markov :
> head(weight_chains, 2)
a b s iter
1 -113.9029 1.072505 8.772007 1
2 -115.0644 1.077914 8.986393 2
Les moyennes a posteriori des paramètres d'ordonnée à l'origine et de pente, \(a\) et \(b\), reflètent la tendance moyenne a posteriori de la relation entre le poids et la taille. À l'inverse, les postérieures complètes de \(a\) et \(b\) reflètent l'étendue des paramètres plausibles, donc l'incertitude a posteriori sur la tendance. Vous examinerez ci-dessous la tendance et l'incertitude associée. Les données bdims sont dans votre espace de travail.
Cette activité fait partie du cours
Modélisation bayésienne avec RJAGS
Instructions de l’exercice
- Obtenez les statistiques de
summary()pour les chaînes deweight_sim_big. - La moyenne a posteriori de \(b\) est indiquée dans la Table 1 du
summary(). Utilisez les données brutes deweight_chainspour vérifier ce calcul. - Créez un nuage de points des données
wgtpar rapport àhgtdansbdims. Utilisezgeom_abline()pour superposer la tendance moyenne a posteriori. - Créez un autre nuage de points de
wgtpar rapport àhgt. Superposez-y les 20 droites de régression définies par les 20 premiers ensembles de valeurs des paramètres \(a\) et \(b\) dansweight_chains.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Summarize the posterior Markov chains
# Calculate the estimated posterior mean of b
mean(___)
# Plot the posterior mean regression model
ggplot(bdims, aes(x = ___, y = ___)) +
geom_point() +
geom_abline(intercept = mean(___), slope = mean(___), color = "red")
# Visualize the range of 20 posterior regression models
ggplot(bdims, aes(x = ___, y = ___)) +
geom_point() +
geom_abline(intercept = ___[1:20], slope = ___[1:20], color = "gray", size = 0.25)