Test de Levene
Le test de Levene est un test statistique utilisé pour évaluer l’homogénéité des variances entre plusieurs groupes. Il est couramment utilisé pour tester l’égalité des variances avant d’appliquer des tests paramétriques comme le test t de Student, qui suppose que les variances des groupes comparés sont égales. Contrairement à d’autres tests d’homogénéité des variances, le test de Levene est plus robuste et peut être utilisé avec des données non normales.
Hypothèses du Test de Levene
-
Hypothèse nulle (H₀) : Les variances des groupes sont égales.
-
Hypothèse alternative (H₁) : Les variances des groupes ne sont pas égales.
Méthode de Calcul
Le test de Levene se base sur l’analyse de la variabilité des écarts absolus par rapport à la médiane ou à la moyenne des données dans chaque groupe. L’idée principale est de mesurer la dispersion des données par rapport à une mesure centrale (médiane ou moyenne) et de vérifier si cette dispersion est homogène dans les différents groupes.
Calcul des Statistiques
-
Calcul des écarts absolus :
-
Pour chaque valeur dans un groupe, on calcule l’écart absolu par rapport à la médiane (ou parfois la moyenne) du groupe.
-
-
Comparaison de ces écarts :
-
Le test compare ensuite les variances de ces écarts dans les différents groupes.
-
-
Test F :
-
Le test de Levene se base ensuite sur une statistique F, qui est calculée à partir des écarts absolus. La statistique F suit une distribution F sous l’hypothèse nulle.
-
Interprétation des Résultats
-
Valeur p : La p-value obtenue lors du test de Levene est comparée à un seuil
(souvent
).
-
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 qu’il n’y a pas de différence significative entre les variances des groupes.
-
Fonctions :
-
stats.levene()
La fonction stats.levene() de SciPy effectue un test de Levene, qui teste l'hypothèse nulle selon laquelle plusieurs échantillons ont des variances égales. Ce test est souvent utilisé comme alternative au test de Bartlett lorsque les données ne suivent pas une distribution normale. Le test de Levene est robuste aux violations de la normalité et peut être utilisé pour vérifier l'homogénéité des variances dans des données provenant de plusieurs groupes.
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. center str, optionnel Spécifie la méthode de calcul de la médiane ou de la moyenne. Les options sont `'mean'` (par défaut) ou `'median'`. proportions bool, optionnel Si `True`, le test effectue une correction de variance pour les petits échantillons. Par défaut, c'est `False`. 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 Levene pour tester l'égalité des variances statistic, p_value = stats.levene(sample_1, sample_2, sample_3) # Affichage de la statistique et de la p-valeur print(f'Statistique de Levene: {statistic}') print(f'P-valeur: {p_value}')
Explication du code :
from scipy import stats
importe le module stats de la bibliothèque scipy, qui contient des fonctions statistiques pour effectuer des tests d'hypothèses, des tests de normalité, etc.import numpy as np
importe la bibliothèque numpy, renommée ici ennp
, utilisée pour créer et manipuler 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 observations sur une variable.sample_2 = np.array([30, 29, 31, 28, 30, 29, 32])
crée un tableausample_2
avec les valeurs de l'échantillon 2.sample_3 = np.array([18, 17, 15, 16, 20, 22, 21])
crée un tableausample_3
avec les valeurs de l'échantillon 3.Réalisation du test de Levene pour tester l'égalité des variances
statistic, p_value = stats.levene(sample_1, sample_2, sample_3)
applique le test de Levene, qui est utilisé pour tester l'hypothèse nulle selon laquelle plusieurs échantillons ont des variances égales. Le test retourne deux valeurs :statistic
, la statistique du test de Levene, etp_value
, la p-valeur associée au test.Affichage de la statistique et de la p-valeur
print(f'Statistique de Levene: {statistic}')
affiche la valeur de la statistique de Levene, qui permet d'évaluer si les variances des échantillons sont égales ou non.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), on rejette l'hypothèse nulle et on conclut que les variances des échantillons sont significativement différentes.