Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik rnorm() om één voorspelling van het gewicht te simuleren onder de parameterinstellingen in de eerste rij van weight_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 variabele Y_180 in weight_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
Code bewerken en uitvoeren