Test d’hypothèse par bootstrap sur les comptages de spermatozoïdes d’abeilles
Vous allez maintenant tester l’hypothèse suivante : en moyenne, les faux-bourdons traités avec un insecticide néonicotinoïde ont le même nombre de spermatozoïdes actifs par millilitre de sperme que les faux-bourdons non traités. Vous utiliserez la différence de moyennes comme statistique de test.
Pour rappel, la signature d’appel de la fonction draw_bs_reps() que vous avez écrite au chapitre 2 est draw_bs_reps(data, func, size=1).
Cet exercice fait partie du cours
Réflexion statistique en Python (Partie 2)
Instructions
- Calculez la moyenne du nombre de spermatozoïdes vivants de
controlmoins celle detreated. - Calculez la moyenne de tous les comptages de spermatozoïdes vivants. Pour cela, concaténez d’abord
controlettreated, puis prenez la moyenne du tableau concaténé. - Générez des jeux de données décalés pour
controlettreatedde sorte que les jeux décalés aient la même moyenne. Cela a déjà été fait pour vous. - Générez 10 000 réplicats bootstrap de la moyenne pour chacun des deux tableaux décalés. Utilisez votre fonction
draw_bs_reps(). - Calculez les réplicats bootstrap de la différence de moyennes.
- Le code pour calculer et afficher la valeur p a été écrit pour vous. Cliquez sur Soumettre la réponse pour voir le résultat !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Compute the difference in mean sperm count: diff_means
diff_means = ____
# Compute mean of pooled data: mean_count
mean_count = ____
# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count
# Generate bootstrap replicates
bs_reps_control = ____(____,
np.mean, size=10000)
bs_reps_treated = ____(____,
np.mean, size=10000)
# Get replicates of difference of means: bs_replicates
bs_replicates = ____
# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
/ len(bs_replicates)
print('p-value =', p)