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
Istruzioni dell'esercizio
- Assegna il numero di pazienti trattati e curati rispettivamente a
num_patients_treatedenum_patients_cured. - Usa l'apposita funzione di
numpyper campionare dalla distribuzione a posteriori e assegna il risultato aposterior_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()