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
Övningsinstruktioner
- Använd
rnorm()för att simulera en enskild prediktion av vikt utifrån parametervärdena på den första raden iweight_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 variabelY_180iweight_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