Calcolare le previsioni posteriori
Hai appena esplorato l’andamento posteriore del peso \(Y\) tra gli adulti con altezza \(X = 180\): \(m\)180 \(= a + b * 180\). Il data frame weight_chains contiene 100.000 valori plausibili posteriori di \(m\)180 che hai calcolato dai corrispondenti valori di \(a\) e \(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
Lascia perdere l’andamento: e se volessi prevedere il peso di uno specifico adulto alto 180 cm? Si può fare! Per farlo, devi tenere conto della variabilità individuale rispetto all’andamento, modellata da
\(Y\)180 \(\sim N(m\)180\(, s^2)\)
Usando questo modello, simulerai previsioni del peso per ciascun insieme di parametri plausibili posteriori in weight_chains.
Questo esercizio fa parte del corso
Modeling bayesiano con RJAGS
Istruzioni dell'esercizio
- Usa
rnorm()per simulare una singola previsione del peso con le impostazioni dei parametri nella prima riga diweight_chains. - Ripeti quanto sopra usando le impostazioni dei parametri nella seconda riga di
weight_chains. - Simula una singola previsione del peso per ognuna delle 100.000 impostazioni di parametri in
weight_chains. Salvale in una nuova variabileY_180dentroweight_chains. - Stampa le prime 6 righe dei valori dei parametri e delle previsioni in
weight_chains.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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