LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Weise die Anzahl der behandelten bzw. geheilten Patient:innen den Variablen num_patients_treated und num_patients_cured zu.
  • Verwende die passende numpy-Funktion, um aus der Posteriorverteilung zu ziehen, und speichere das Ergebnis in posterior_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()
Code bearbeiten und ausführen