Kom igångKom igång gratis

Beräkna posteriora prediktioner

Du har just utforskat den posteriora trenden i vikt \(Y\) bland vuxna med höjden \(X = 180\): \(m\)180 \(= a + b * 180\). Dataramen weight_chains innehåller 100 000 posteriort rimliga värden på \(m\)180 som du beräknade från motsvarande värden på \(a\) och \(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

Glöm trenden ett ögonblick – vad om du vill prediktera vikten för en specifik vuxen person som är 180 cm lång? Det är möjligt! För att göra det måste du ta hänsyn till individuell variation kring trenden, vilket modelleras av

\(Y\)180 \(\sim N(m\)180\(, s^2)\)

Med den här modellen simulerar du viktprediktioner under varje uppsättning posteriort rimliga parametrar i weight_chains.

Den här övningen är en del av kursen

Bayesiansk modellering med RJAGS

Visa kurs

Övningsinstruktioner

  • Använd rnorm() för att simulera en enskild prediktion av vikt utifrån parametervärdena på den första raden i weight_chains.
  • Upprepa det ovanstående med parametervärdena på den andra raden i weight_chains.
  • Simulera en enskild viktprediktion under var och en av de 100 000 parameteruppsättningarna i weight_chains. Lagra dessa som en ny variabel Y_180 i weight_chains.
  • Skriv ut de första 6 raderna med parametervärden och prediktioner i weight_chains.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod