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

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

  1. 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.

  2. Comparaison de ces écarts :

    • Le test compare ensuite les variances de ces écarts dans les différents groupes.

  3. 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

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}')
    Résultat du code

    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 en np, 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 tableau sample_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 tableau sample_2 avec les valeurs de l'échantillon 2.

    sample_3 = np.array([18, 17, 15, 16, 20, 22, 21]) crée un tableau sample_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, et p_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.