Posterior-voorspellingen berekenen
Je hebt zojuist de posteriore trend in gewicht \(Y\) bekeken voor volwassenen met lengte \(X = 180\): \(m\)180 \(= a + b * 180\). Het weight_chains-dataframe bevat 100.000 posterior plausibele waarden van \(m\)180 die je hebt berekend op basis van de bijbehorende waarden van \(a\) en \(b\):
> head(weight_chains, 2)
a b s iter m_180
1 -113.9029 1.072505 8.772007 1 79.14803
2 -115.0644 1.077914 8.986393 2 78.96014
Vergeet de trend — wat als je het gewicht van een specifieke volwassene van 180 cm wilt voorspellen? Dat kan! Daarvoor moet je rekening houden met individuele variatie rond de trend, gemodelleerd door
\(Y\)180 \(\sim N(m\)180\(, s^2)\)
Met dit model simuleer je voorspellingen van het gewicht onder elke set posterior plausibele parameters in weight_chains.
Deze oefening maakt deel uit van de cursus
Bayesiaans modelleren met RJAGS
Oefeninstructies
- Gebruik
rnorm()om één voorspelling van het gewicht te simuleren onder de parameterinstellingen in de eerste rij vanweight_chains. - Herhaal dit met de parameterinstellingen in de tweede rij van
weight_chains. - Simuleer één voorspelling van het gewicht onder elk van de 100.000 parameterinstellingen in
weight_chains. Sla deze op als een nieuwe variabeleY_180inweight_chains. - Print de eerste 6 rijen met parameterwaarden en voorspellingen in
weight_chains.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Simulate 1 prediction under the first parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate 1 prediction under the second parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate & store 1 prediction under each parameter set
weight_chains <- weight_chains %>%
mutate(Y_180 = rnorm(n = 100000, mean = ___, sd = ___))
# Print the first 6 parameter sets & predictions