Posterior-Ziehungen simulieren
Du hast dich gerade entschieden, eine Beta(5, 2)-Prior für die Wirksamkeitsrate zu verwenden. Außerdem modellierst du die Daten mit der Binomialverteilung (einen kranken Patienten zu heilen ist ein „Erfolg“, erinnerst du dich?). Da die Betaverteilung eine konjugierte Prior für die binomiale Likelihood ist, kannst du den Posterior einfach simulieren!
Du weißt: Wenn die Prior \(Beta(a, b)\) ist, dann ist der Posterior \(Beta(x, y)\) mit:
\(x = NumberOfSuccesses + a\),
\(y = NumberOfObservations - NumberOfSuccesses + b\).
Kannst du die Posteriorverteilung simulieren? Zur Erinnerung: Insgesamt hast du Daten zu 22 Patient:innen, von denen 19 geheilt wurden. numpy und seaborn wurden bereits als np bzw. sns importiert.
Diese Übung ist Teil des Kurses
Bayesianische Datenanalyse in Python
Anleitung zur Übung
- Weise die Anzahl der behandelten bzw. geheilten Patient:innen den Variablen
num_patients_treatedundnum_patients_curedzu. - Verwende die passende
numpy-Funktion, um aus der Posteriorverteilung zu ziehen, und speichere das Ergebnis inposterior_draws. - Stelle die Posteriorverteilung mit der passenden
seaborn-Funktion dar.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()