Posterior-trekkingen simuleren
Je hebt net besloten een Beta(5, 2)-prior te gebruiken voor het werkingspercentage. Je gebruikt ook de binomiale verdeling om de data te modelleren (een zieke patiënt genezen is een "succes", weet je nog?). Omdat de bètaverdeling een geconjugeerde prior is voor de binomiale likelihood, kun je de posterior simpelweg simuleren!
Je weet dat als de prior \(Beta(a, b)\) is, de posterior \(Beta(x, y)\) is, met:
\(x = NumberOfSuccesses + a\),
\(y = NumberOfObservations - NumberOfSuccesses + b\).
Kun je de posteriorverdeling simuleren? Onthoud dat je in totaal data hebt over 22 patiënten, van wie er 19 zijn genezen. numpy en seaborn zijn al voor je geïmporteerd als respectievelijk np en sns.
Deze oefening maakt deel uit van de cursus
Bayesian Data Analysis in Python
Oefeninstructies
- Ken het aantal behandelde en genezen patiënten toe aan respectievelijk
num_patients_treatedennum_patients_cured. - Gebruik de juiste
numpy-functie om te steken uit de posteriorverdeling en ken het resultaat toe aanposterior_draws. - Plot de posteriorverdeling met de juiste
seaborn-functie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()