IniziaInizia gratis

Visualizzare le prior della regressione

Nell’esercizio precedente, hai simulato 10.000 samples per ciascun parametro (\(a\), \(b\), \(s\)) nel modello di regressione bayesiana del peso \(Y\) sull’altezza \(X\): \(Y \sim N(m, s^2)\) con media \(m = a + bX\). L’insieme dei valori di \(a\), \(b\) e \(s\) in ogni riga di samples rappresenta uno scenario di regressione plausibile secondo la prior. Per esplorare l’ampiezza di questi scenari, simulerai 50 coppie di valori di altezza e peso da ciascuno dei primi 12 insiemi di parametri prior \(a\), \(b\) e \(s\).

Questo esercizio fa parte del corso

Modeling bayesiano con RJAGS

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un data frame prior_simulation che includa n = 50 repliche dei primi 12 insiemi di parametri prior in samples (in totale 600 righe!).
  • Per ciascuna delle 600 righe di prior_simulation:
    • Simula un valore di height da un modello \(N(170, 10^2)\).
    • Simula un valore di weight da \(N(a + b X, s^2)\) dove \(X\) è height e \((a,b,s)\) è l’insieme di parametri prior.
  • Ora hai 50 coppie simulate di height e weight per ciascuno dei 12 insiemi di parametri. Usa ggplot() per costruire uno scatter plot di queste 50 coppie per ogni set di valori dei parametri. Assicurati di mettere weight sull’asse y!

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Replicate the first 12 parameter sets 50 times each
prior_scenarios_rep <- bind_rows(replicate(n = ___, expr = samples[1:12, ], simplify = FALSE)) 

# Simulate 50 height & weight data points for each parameter set
prior_simulation <- prior_scenarios_rep %>% 
    mutate(height = rnorm(n = 600, mean = ___, sd = ___)) %>% 
    mutate(weight = rnorm(n = 600, mean = ___, sd = ___))

# Plot the simulated data & regression model for each parameter set
ggplot(prior_simulation, aes(x = ___, y = ___)) + 
    geom_point() + 
    geom_smooth(method = "lm", se = FALSE, size = 0.75) + 
    facet_wrap(~ set)
Modifica ed esegui il codice