IniziaInizia gratis

Simulare campioni a posteriori

Hai appena deciso di usare una prior Beta(5, 2) per il tasso di efficacia. Usi anche la distribuzione binomiale per modellare i dati (curare un paziente malato è un "successo", ricordi?). Poiché la distribuzione beta è una prior coniugata per la verosimiglianza binomiale, puoi semplicemente simulare la posterior!

Sai che se la prior è \(Beta(a, b)\), allora la posterior è \(Beta(x, y)\), con:

\(x = NumberOfSuccesses + a\),

\(y = NumberOfObservations - NumberOfSuccesses + b\).

Riesci a simulare la distribuzione a posteriori? Ricorda che in totale hai dati su 22 pazienti, di cui 19 sono stati curati. numpy e seaborn sono già stati importati come np e sns, rispettivamente.

Questo esercizio fa parte del corso

Analisi dei dati bayesiana in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Assegna il numero di pazienti trattati e curati rispettivamente a num_patients_treated e num_patients_cured.
  • Usa l'apposita funzione di numpy per campionare dalla distribuzione a posteriori e assegna il risultato a posterior_draws.
  • Traccia la distribuzione a posteriori usando l'apposita funzione di seaborn.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define the number of patients treated and cured
num_patients_treated = ____
num_patients_cured = ____

# Simulate 10000 draws from the posterior distribuition
posterior_draws = ____(____ + ____, ____ - ____ + ____, 10000)

# Plot the posterior distribution
____(____, shade=True)
plt.show()
Modifica ed esegui il codice