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
Instructions de l’exercice
- Assignez le nombre de patientes et patients traités et guéris à
num_patients_treatedetnum_patients_cured, respectivement. - Utilisez la fonction
numpyappropriée pour échantillonner la distribution a posteriori et assignez le résultat àposterior_draws. - Tracez la distribution a posteriori à l'aide de la fonction
seabornapproprié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()