Test de Bartlett
Le test de Bartlett est un test statistique utilisé pour vérifier l’homogénéité des variances entre plusieurs groupes. Ce test est souvent appliqué avant de réaliser des tests paramétriques comme l’ANOVA (analyse de variance), qui suppose que les variances des groupes sont égales. Contrairement au test de Levene, le test de Bartlett est plus sensible aux données normalement distribuées.
Hypothèses du Test de Bartlett
-
Hypothèse nulle (H₀) : Les variances des groupes sont égales (homogénéité des variances).
-
Hypothèse alternative (H₁) : Les variances des groupes ne sont pas égales.
Méthode de Calcul
Le test de Bartlett repose sur le rapport des variances des groupes comparés. Plus précisément, il utilise un test statistique basé sur la log-vraisemblance des variances. La statistique du test suit une distribution χ² (chi-carré) sous l’hypothèse nulle.
Formule du Test de Bartlett
La statistique du test
pour
groupes avec
observations dans chaque groupe et variances
est donnée par :
où
est le nombre total d’observations et
est le nombre de groupes.
Interprétation des Résultats
-
Valeur p : La p-value obtenue lors du test est comparée à un seuil
(souvent 0.05).
-
Si la p-value est inférieure à
, on rejette l’hypothèse nulle et on conclut que les variances des groupes sont significativement différentes.
-
Si la p-value est supérieure à
, on ne rejette pas l’hypothèse nulle et on conclut que les variances des groupes sont égales.
-
Fonctions :
-
stats.bartlett()
La fonction stats.bartlett() de SciPy effectue un test de Bartlett, qui teste l'hypothèse nulle selon laquelle plusieurs échantillons ont des variances égales. Contrairement au test de Levene, le test de Bartlett suppose que les données suivent une distribution normale. Il est particulièrement utile pour tester l'homogénéité des variances dans des contextes où les données sont normalement distribuées. Si cette hypothèse de normalité est violée, les résultats du test peuvent être biaisés.
Importation :
from scipy import stats
Attributs :
Nom Type Description values array-like, list of arrays Les données des différents groupes à comparer. Chaque groupe doit être un tableau ou une liste d'échantillons. Exemple de code :
from scipy import stats import numpy as np # Création de trois échantillons d'exemple sample_1 = np.array([23, 21, 19, 22, 20, 24, 25]) sample_2 = np.array([30, 29, 31, 28, 30, 29, 32]) sample_3 = np.array([18, 17, 15, 16, 20, 22, 21]) # Réalisation du test de Bartlett pour tester l'égalité des variances statistic, p_value = stats.bartlett(sample_1, sample_2, sample_3) # Affichage de la statistique et de la p-valeur print(f'Statistique de Bartlett: {statistic}') print(f'P-valeur: {p_value}')
Explication du code :
from scipy import stats
importe le module stats de la bibliothèque scipy, qui propose des fonctions statistiques permettant de réaliser des tests d'hypothèses, des analyses de variance, etc.import numpy as np
importe la bibliothèque numpy, renommée ici ennp
, utilisée pour créer des tableaux (arrays) et effectuer des calculs numériques efficaces.Création de trois échantillons d'exemple
sample_1 = np.array([23, 21, 19, 22, 20, 24, 25])
crée un tableausample_1
contenant les valeurs de l'échantillon 1, représentant des données d'un groupe d'observations.sample_2 = np.array([30, 29, 31, 28, 30, 29, 32])
crée un tableausample_2
contenant les valeurs de l'échantillon 2, pour un autre groupe d'observations.sample_3 = np.array([18, 17, 15, 16, 20, 22, 21])
crée un tableausample_3
contenant les valeurs de l'échantillon 3, pour un troisième groupe d'observations.Réalisation du test de Bartlett pour tester l'égalité des variances
statistic, p_value = stats.bartlett(sample_1, sample_2, sample_3)
applique le test de Bartlett, qui permet de tester l'hypothèse nulle selon laquelle les variances des échantillons sont égales. Ce test est particulièrement adapté aux données qui suivent une distribution normale. Il retourne deux valeurs :statistic
, la statistique du test de Bartlett, etp_value
, la p-valeur associée au test.Affichage de la statistique et de la p-valeur
print(f'Statistique de Bartlett: {statistic}')
affiche la valeur de la statistique de Bartlett. Cette statistique évalue si les variances des échantillons sont homogènes.print(f'P-valeur: {p_value}')
affiche la p-valeur associée au test. Si la p-valeur est inférieure à un seuil de signification (généralement 0.05), cela indique que les variances des échantillons sont significativement différentes, et donc on rejette l'hypothèse nulle d'égalité des variances.