Comment effectuer des tests d’hypothèses en Python (avec exemples)
Un test d’hypothèse est un test statistique formel que nous utilisons pour rejeter ou échouer à rejeter une hypothèse statistique.
Ce tutoriel explique comment effectuer les tests d’hypothèse suivants en Python :
- Un échantillon de test t
- Test T à deux échantillons
- Test t pour échantillons appariés
Allons-y !
Exemple 1 : un exemple de test t en Python
Un test t sur un échantillon est utilisé pour tester si la moyenne d’une population est égale ou non à une certaine valeur.
Par exemple, supposons que nous voulions savoir si le poids moyen d’une certaine espèce de tortue est égal ou non à 310 livres.
Pour tester cela, nous collectons un échantillon aléatoire simple de tortues avec les poids suivants :
Poids : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
Le code suivant montre comment utiliser la fonction ttest_1samp() de la bibliothèque scipy.stats pour effectuer un test t sur un échantillon :
import scipy.stats as stats #define data data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] #perform one sample t-test stats.ttest_1samp(a=data, popmean=310) Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)
La statistique du test t est de -1,5848 et la valeur p bilatérale correspondante est de 0,1389 .
Les deux hypothèses pour ce test t sur un échantillon particulier sont les suivantes :
- H 0 : µ = 310 (le poids moyen de cette espèce de tortue est de 310 livres)
- H A : µ ≠310 (le poids moyen n’est pas de 310 livres)
Parce que la valeur p de notre test (0,1389) est supérieure à alpha = 0,05, nous ne parvenons pas à rejeter l’hypothèse nulle du test.
Nous ne disposons pas de preuves suffisantes pour affirmer que le poids moyen de cette espèce particulière de tortue est différent de 310 livres.
Exemple 2 : test t à deux échantillons en Python
Un test t à deux échantillons est utilisé pour tester si les moyennes de deux populations sont égales ou non.
Par exemple, supposons que nous voulions savoir si le poids moyen de deux espèces différentes de tortues est égal ou non.
Pour tester cela, nous collectons un échantillon aléatoire simple de tortues de chaque espèce avec les poids suivants :
Échantillon 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
Échantillon 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305
Le code suivant montre comment utiliser la fonction ttest_ind() de la bibliothèque scipy.stats pour effectuer ces deux exemples de test t :
import scipy.stats as stats #define array of turtle weights for each sample sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305] #perform two sample t-test stats.ttest_ind(a=sample1, b=sample2) Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)
La statistique du test t est de – 2,1009 et la valeur p bilatérale correspondante est de 0,0463 .
Les deux hypothèses pour ce test t particulier à deux échantillons sont les suivantes :
- H 0 : µ 1 = µ 2 (le poids moyen entre les deux espèces est égal)
- H A : µ 1 ≠ µ 2 (le poids moyen entre les deux espèces n’est pas égal)
Puisque la valeur p du test (0,0463) est inférieure à 0,05, nous rejetons l’hypothèse nulle.
Cela signifie que nous disposons de suffisamment de preuves pour affirmer que le poids moyen entre les deux espèces n’est pas égal.
Exemple 3 : test t d’échantillons appariés en Python
Un test t pour échantillons appariés est utilisé pour comparer les moyennes de deux échantillons lorsque chaque observation dans un échantillon peut être associée à une observation dans l’autre échantillon.
Par exemple, supposons que nous voulions savoir si un certain programme d’entraînement est capable ou non d’augmenter le saut vertical maximum (en pouces) des joueurs de basket-ball.
Pour tester cela, nous pouvons recruter un échantillon aléatoire simple de 12 joueurs de basket-ball universitaire et mesurer chacun de leurs sauts verticaux maximum. Ensuite, nous pouvons demander à chaque joueur d’utiliser le programme d’entraînement pendant un mois, puis de mesurer à nouveau son saut vertical maximum à la fin du mois.
Les données suivantes montrent la hauteur de saut maximale (en pouces) avant et après l’utilisation du programme d’entraînement pour chaque joueur :
Avant : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21
Après : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20
Le code suivant montre comment utiliser la fonction ttest_rel() de la bibliothèque scipy.stats pour effectuer ce test t d’échantillons appariés :
import scipy.stats as stats #define before and after max jump heights before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21] after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20] #perform paired samples t-test stats.ttest_rel(a=before, b=after) Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)
La statistique du test t est de – 2,5289 et la valeur p bilatérale correspondante est de 0,0280 .
Les deux hypothèses pour ce test t particulier pour échantillons appariés sont les suivantes :
- H 0 : µ 1 = µ 2 (la hauteur moyenne du saut avant et après utilisation du programme est égale)
- H A : µ 1 ≠ µ 2 (la hauteur moyenne du saut avant et après utilisation du programme n’est pas égale)
Puisque la valeur p du test (0,0280) est inférieure à 0,05, nous rejetons l’hypothèse nulle.
Cela signifie que nous disposons de suffisamment de preuves pour affirmer que la hauteur moyenne de saut avant et après l’utilisation du programme d’entraînement n’est pas égale.
Ressources additionnelles
Vous pouvez utiliser les calculateurs en ligne suivants pour effectuer automatiquement divers tests t :
Un exemple de calculateur de test t
Calculateur de test t à deux échantillons
Calculateur de test t pour échantillons appariés