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 sont devenus plus profonds. Mais se peut-il que cet effet soit simplement dû au hasard ? Autrement dit, quelle est la probabilité d'obtenir la différence observée entre les moyennes 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 est que les moyennes sont égales. Pour réaliser ce test d'hypothèse, nous devons décaler les deux ensembles de données afin qu'ils aient la même moyenne, puis utiliser un échantillonnage bootstrap pour calculer la différence des moyennes.
Cette activité fait partie du cours
Réflexion statistique en Python (partie 2)
Instructions de l’exercice
- Créez un tableau concaténé des profondeurs de bec de 1975 et de 2012, puis calculez et stockez sa moyenne.
- Décalez
bd_1975etbd_2012de façon que leurs moyennes soient égales à celle que vous venez de calculer pour l'ensemble combiné. - Prenez 10 000 répliques bootstrap de la moyenne pour 1975 et 2012, respectivement.
- Soustrayez les répliques de 1975 de celles de 2012 pour obtenir des répliques bootstrap de la différence.
- Calculez et affichez la valeur p. La différence observée entre les moyennes, calculée au dernier exercice, est toujours disponible dans votre espace de noms sous
mean_diff.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)