Maison  >  Article  >  développement back-end  >  Comment effectuer un test t à deux échantillons en Python ?

Comment effectuer un test t à deux échantillons en Python ?

王林
王林avant
2023-08-31 21:49:031026parcourir

Comment effectuer un test t à deux échantillons en Python ?

Présentation

Utilisez un test t à deux échantillons pour comparer statistiquement les deux ensembles de moyennes afin de voir s'il existe une différence significative entre elles. Ce test est souvent utilisé dans la recherche scientifique pour déterminer si deux groupes sont significativement différents sur la base d'une variable continue. Dans cet article, nous apprendrons comment effectuer un test t sur deux échantillons à l'aide du module scipy.stats de Python.

Effectuer un test T sur deux échantillons

Avant de procéder à la mise en œuvre, comprenons d'abord la base théorique du test t à deux échantillons. Ce test suppose que les deux populations échantillonnées sont normalement distribuées et présentent des variances similaires. L’hypothèse nulle est que les moyennes des deux groupes sont égales, et l’hypothèse alternative est que les moyennes des deux groupes ne sont pas égales. La statistique du test est calculée en divisant la différence des moyennes entre deux groupes par la différence des erreurs types. Nous rejetons l'hypothèse nulle et concluons que si la valeur t estimée est supérieure à la valeur critique, alors les moyennes des deux groupes sont significativement différentes.

Voyons comment effectuer un test t à deux échantillons en Python. Nous aurons besoin du module scipy.stats, qui permet de fournir une fonction appelée ttest_ind. Il prend en entrée deux tableaux représentant deux échantillons et renvoie les valeurs t et p.

Étape 1 : Importez les bibliothèques requises

L'importation des bibliothèques nécessaires sera la première étape. Pour effectuer un test t à deux échantillons en Python, nous devons importer les bibliothèques NumPy et SciPy. Les opérations statistiques ont été effectuées à l'aide de la bibliothèque SciPy, tandis que les opérations mathématiques ont été 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 la même moyenne et le même écart type -

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 utilisons 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 valeur de départ aléatoire sur 42 pour garantir des résultats reproductibles.

Maintenant, faisons 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 des codes : valeur t et valeur p. La valeur t mesure la différence entre les moyennes de 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 les valeurs t dans ce code sont petites, nous pouvons conclure que les moyennes des deux échantillons sont assez comparables. La valeur p étant trop grande, la différence entre les deux valeurs n’est pas également significative.

N'oubliez pas que le test t suppose que les variances des deux groupes sont égales. Si cette hypothèse n'est pas respectée, vous pouvez utiliser le test t de Welch, qui est une variante du test t qui ne suppose pas des variances égales. La méthode ttest_ind_from_stats pour le test t de Welch est également disponible dans le module scipy.stats. La moyenne, l'écart type et la taille de l'échantillon des 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

Selon les données, la valeur t dans cet exemple est négative, indiquant que la moyenne de l'échantillon 1 est légèrement inférieure à la moyenne de l'échantillon 2. Cependant, une valeur p très élevée indique que la différence entre les moyennes n’est pas statistiquement significative.

Conclusion

En conclusion, le test t à deux échantillons est un outil statistique efficace qui nous permet de comparer les moyennes de deux groupes et de déterminer si elles sont significativement différentes. Python possède de nombreuses bibliothèques et fonctions pour effectuer des tests t, y compris le module scipy.stats que nous utilisons 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 et les limites de l’étude doivent toujours être prises en compte lors de l’interprétation des résultats.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer