Comment effectuer un test T à deux échantillons en Python ?
Introduction
Les moyennes de deux groupes sont comparées dans les statistiques pour voir si elles diffèrent sensiblement l'une de l'autre à l'aide d'un test t à deux échantillons. Le test est fréquemment utilisé dans les études scientifiques pour déterminer si deux groupes diffèrent significativement sur la base d'une variable continue. Dans cet article, nous verrons comment utiliser le module scipy.stats de Python pour effectuer un test t à deux échantillons.
Réalisation d'un test T à deux échantillons
Comprenons d'abord la théorie qui sous-tend le test t à deux échantillons avant de passer à la mise en œuvre. Le test suppose que les deux populations échantillonnées sont normalement distribuées avec des variances similaires. Le fait que les deux groupes soient égaux est l'hypothèse nulle, tandis qu'ils ne sont pas égaux est l'hypothèse alternative. Les statistiques du test sont obtenues en divisant la différence des moyennes entre les deux groupes par la différence des erreurs types. Nous rejetons l'hypothèse nulle et concluons que les moyennes des deux groupes sont significativement différentes si la valeur t estimée est supérieure à la valeur critique.
Voyons la méthode pour effectuer le test t à deux échantillons en python. Nous aurons besoin du module scipy.stats, qui aide à fournir une fonction appelée ttest_ind. Il prend deux tableaux en entrée représentant les deux échantillons et renvoie les valeurs t et p.
Étape 1 : Importer les bibliothèques requises
L'importation des bibliothèques essentielles sera la première étape. Pour effectuer le test T à deux échantillons en Python, nous devons importer les bibliothèques NumPy et SciPy. Alors que les opérations statistiques sont effectuées à l'aide de la bibliothèque SciPy, les opérations mathématiques sont effectuées à l'aide de la bibliothèque NumPy.
import NumPy as np
from scipy.stats import ttest_ind
Étape 2 : Générer des variables
Créons ensuite deux échantillons aléatoires avec les mêmes moyennes et écarts types -
np.random.seed(42)
sample1 = np.random.normal(loc=10, scale=2, size=100)
sample2 = np.random.normal(loc=10, scale=2, size=100)
Ici, nous avons utilisé la fonction np.random.normal pour générer deux échantillons de taille 100 chacun, avec une moyenne de 10 et un écart type de 2. Nous avons défini la graine aléatoire sur 42 pour garantir que les résultats sont reproductibles.
Maintenant, effectuons le test t -
t_stat, p_value = ttest_ind(sample1, sample2)
Étape 3 : Interpréter les résultats
La fonction ttest_ind renvoie deux valeurs avec code : la valeur t et la valeur p. La valeur t est mesurée par la différence entre les moyennes des deux échantillons, tandis que la valeur p mesure la signification statistique de la différence.
Enfin, imprimons les résultats -
print("t-value: ", t_stat)
print("p-value: ", p_value)
Cela affichera la valeur t et la valeur p -
t-value: 0.086
p-value: 0.931
Étant donné que la valeur t dans ce code est si faible, on peut conclure que les moyennes des deux échantillons sont tout à fait comparatives. La différence entre les deux valeurs n’est pas également significative, car la valeur p est très grande.
Il est important de se rappeler que le test t suppose que les variances des deux groupes sont égales. Le test t de Welch, une variante du test t qui ne présume pas des variances égales, peut être utilisé si cette présomption est brisée. La méthode ttest_ind_from_stats pour le test t de Welch est également disponible dans le module scipy.stats. Les moyennes, les écarts types et la taille des échantillons pour les deux groupes sont les entrées de cette fonction.
Voyons comment effectuer le test t de Welch en Python
mean1, std1, size1 = 10, 2, 100
mean2, std2, size2 = 10, 3, 100
t_stat, p_value = ttest_ind_from_stats(mean1, std1, size1, mean2, std2, size2, equal_var=False)
print("t-value: ", t_stat)
print("p-value: ", p_value)
Cela affichera la valeur t et la valeur p -
t-value: -0.267
p-value: 0.790
La valeur t dans ce cas est négative, ce qui suggère que la moyenne de l'échantillon 1 est légèrement inférieure à la moyenne de l'échantillon 2, selon les données. La valeur p très élevée montre cependant que la différence entre les moyennes n’est pas statistiquement significative.
Conclusion
En conclusion, le test t à deux échantillons est un instrument statistique efficace qui nous permet de comparer les moyennes de deux groupes et de décider si elles sont significativement différentes l'une de l'autre. Python dispose d'un certain nombre de bibliothèques et de fonctions pour effectuer le test t, y compris le module scipy.stats, que nous avons utilisé dans cet article. Le test t fait diverses hypothèses, notamment la normalité et l'égalité des variances, qui doivent être vérifiées avant l'exécution du test. De plus, la question de recherche spécifique à l'étude ainsi que les contraintes de l'étude doivent toujours être prises en compte lors de l'interprétation des résultats.