CommencezCommencez gratuitement

Simuler des tirages a posteriori

Vous venez de décider d'utiliser une loi bêta Beta(5, 2) comme a priori pour le taux d'efficacité. Vous utilisez aussi la loi binomiale pour modéliser les données (guérir un patient malade est un « succès », souvenez-vous). Comme la loi bêta est un a priori conjugué de la vraisemblance binomiale, vous pouvez simplement simuler l'a posteriori!

Vous savez que si l'a priori est \(Beta(a, b)\), alors l'a posteriori est \(Beta(x, y)\), avec :

\(x = NumberOfSuccesses + a\),

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

Pouvez-vous simuler la distribution a posteriori? Rappelez‑vous qu'au total, vous avez des données sur 22 patientes et patients, dont 19 ont été guéris. numpy et seaborn ont été importés pour vous sous les noms np et sns, respectivement.

Cette activité fait partie du cours

Analyse bayésienne des données en Python

Voir le cours

Instructions de l’exercice

  • Assignez le nombre de patientes et patients traités et guéris à num_patients_treated et num_patients_cured, respectivement.
  • Utilisez la fonction numpy appropriée pour échantillonner la distribution a posteriori et assignez le résultat à posterior_draws.
  • Tracez la distribution a posteriori à l'aide de la fonction seaborn appropriée.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code