IniziaInizia gratis

Rappresentare il modello di regressione di Poisson

Ricorda la struttura di verosimiglianza per il tuo modello bayesiano di regressione di Poisson del volume \(Y\)i in funzione dello stato di giorno feriale \(X\)i e della temperatura \(Z\)i: \(Y\)i \(\sim Pois(l\)i) dove

  • \(log(l\)i\() \; = a + b \; X\)i \(+ c \; Z\)i; quindi
  • \(l\)i\( \; = exp(a + b \; X\)i \(+ c \; Z\)i\()\)

La tua simulazione RJAGS di 10.000 iterazioni della posteriore del modello, poisson_sim, è nel tuo workspace insieme a un data frame dell’output della catena di Markov:

> head(poisson_chains, 2)
         a b.1.       b.2.          c
1 5.019807    0 -0.1222143 0.01405269
2 5.018642    0 -0.1217608 0.01407691

Userai questi risultati per tracciare i trend posteriori della regressione di Poisson. Questi trend non lineari possono essere aggiunti a ggplot() usando stat_function(). Per esempio, specificare fun = function(x){x^2} restituirebbe una linea di tendenza quadratica.

Questo esercizio fa parte del corso

Modeling bayesiano con RJAGS

Visualizza il corso

Istruzioni dell'esercizio

Costruisci uno scatter plot di volume rispetto a hightemp con le seguenti caratteristiche:

  • Usa color per distinguere tra giorni feriali e weekend.
  • Sovrapponi una curva red che rappresenti il trend della regressione di Poisson della media posteriore \(l\)i della relazione lineare tra volume e hightemp per i weekend: l = exp(a + c Z)
  • Sovrapponi una curva turquoise3 che rappresenti il trend della regressione di Poisson della media posteriore \(l\)i della relazione lineare tra volume e hightemp per i giorni feriali: l = exp((a + b.2.) + c Z)

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Plot the posterior mean regression models
ggplot(___, aes(x = ___, y = ___, color = ___)) + 
    geom_point() + 
    stat_function(fun = function(x){___(mean(___) + mean(___) * x)}, color = "red") + 
    stat_function(fun = function(x){___(mean(___) + mean(___) + mean(___) * x)}, color = "turquoise3")
Modifica ed esegui il codice