CommencerCommencer gratuitement

Test d’hypothèse : les becs sont‑ils plus profonds en 2012 ?

Votre tracé de l’ECDF et le calcul de l’intervalle de confiance montrent assez clairement que les becs de G. scandens sur Daphne Major se sont approfondis. Mais est‑il possible que cet effet soit simplement dû au hasard ? Autrement dit, quelle est la probabilité d’obtenir la différence observée de moyenne de profondeur de bec si les moyennes étaient identiques ?

Attention ! L’hypothèse que nous testons n’est pas que les profondeurs de bec proviennent de la même distribution. Pour cela, nous pourrions utiliser un test de permutation. L’hypothèse porte sur l’égalité des moyennes. Pour réaliser ce test d’hypothèse, nous devons décaler les deux jeux de données afin qu’ils aient la même moyenne, puis utiliser un bootstrap pour calculer la différence de moyennes.

Cet exercice fait partie du cours

Réflexion statistique en Python (Partie 2)

Afficher le cours

Instructions

  • Créez un tableau concaténé des profondeurs de bec de 1975 et de 2012, puis calculez et stockez sa moyenne.
  • Décalez bd_1975 et bd_2012 de sorte que leur moyenne soit égale à celle que vous venez de calculer pour l’ensemble combiné.
  • Prenez 10 000 réplicats bootstrap de la moyenne pour les profondeurs de 1975 et de 2012.
  • Soustrayez les réplicats de 1975 de ceux de 2012 pour obtenir des réplicats bootstrap de la différence.
  • Calculez et affichez la p‑value. La différence observée des moyennes que vous avez calculée au dernier exercice est toujours disponible dans votre espace de travail sous le nom mean_diff.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Compute mean of combined data set: combined_mean
combined_mean = ____(____((bd_1975, bd_2012)))

# Shift the samples
bd_1975_shifted = ____
bd_2012_shifted = ____

# Get bootstrap replicates of shifted data sets
bs_replicates_1975 = ____
bs_replicates_2012 = ____

# Compute replicates of difference of means: bs_diff_replicates
bs_diff_replicates = ____

# Compute the p-value
p = np.sum(____ >= ____) / len(____)

# Print p-value
print('p =', p)
Modifier et exécuter le code