Test d’homogénéité des variances en R : F-test, Bartlett, Levene, Fligner
Vérifiez l’hypothèse d’égalité des variances derrière le t-test et l’ANOVA — le F-test pour deux groupes, et Bartlett, Levene et Fligner-Killeen pour plusieurs — avec des conseils clairs sur le choix du test
Apprenez à tester l’hypothèse d’homogénéité des variances (égalité des variances) en R — l’hypothèse qui sous-tend le t-test indépendant et l’ANOVA. Couvre le F-test pour deux groupes (var.test), ainsi que les tests de Bartlett, de Levene et de Fligner-Killeen pour plusieurs groupes, avec des conseils sur le test à choisir selon la normalité de vos données.
Date de publication
23 juin 2026
Modifié
7 juillet 2026
AstucePoints clés
L’homogénéité des variances (égalité des variances, homoscédasticité) est l’hypothèse — derrière le t-test indépendant et l’ANOVA — selon laquelle les groupes partagent une variance commune.
Pour deux groupes, utilisez le F-test (var.test()) ; pour plusieurs groupes, utilisez le test de Bartlett, de Levene ou de Fligner-Killeen.
Le F-test et le test de Bartlett supposent des données normales ; le test de Levene est une alternative robuste, moins sensible à la non-normalité (le plus utilisé en pratique) ; celui de Fligner-Killeen est non paramétrique et le plus robuste.
Pour tous, p > 0.05 signifie que l’égalité des variances est vérifiée (hypothèse satisfaite) ; p < 0.05 signifie qu’elle est violée — passez à un test de Welch ou à une alternative non paramétrique.
La fonction rstatix::levene_test(), compatible avec le pipe, encapsule car::leveneTest().
Introduction
Plusieurs tests classiques — le t-test à échantillons indépendants et l’ANOVA — supposent que les groupes ont des variances égales (homogénéité des variances, ou homoscédasticité). Avant de faire confiance à ces tests, vous devez vérifier l’hypothèse, et il existe quatre outils courants, qui diffèrent par ce qu’ils supposent des données :
Test
Groupes
Suppose la normalité ?
F-test (var.test)
exactement 2
oui
Bartlett
2 ou plus
oui
Levene
2 ou plus
non (robuste) — le plus utilisé
Fligner-Killeen
2 ou plus
non (non paramétrique, le plus robuste)
Pour tous, l’hypothèse nulle est l’égalité des variances : un résultat non significatif (p > 0.05) est donc ce que vous recherchez — cela signifie que l’hypothèse est vérifiée. Cette leçon exécute chacun d’eux sur les données intégrées ToothGrowth et PlantGrowth.
F-test : comparer deux variances
Le F-test (var.test()) compare les variances de deux groupes par leur rapport — plus il s’éloigne de 1, plus la preuve d’une variance inégale est forte. Il suppose que les données sont normales, vérifiez donc la normalité au préalable. Ici, nous comparons la croissance dentaire len entre les deux types de supplément (supp) :
data("ToothGrowth")ToothGrowth$dose <-as.factor(ToothGrowth$dose)var.test(len ~ supp, data = ToothGrowth)
F test to compare two variances
data: len by supp
F = 0.6386, num df = 29, denom df = 29, p-value = 0.2331
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.3039488 1.3416857
sample estimates:
ratio of variances
0.6385951
La p-value (0.23) est supérieure à 0.05 : il n’y a donc aucune différence significative entre les deux variances — l’égalité des variances est vérifiée.
Comparer plusieurs variances
Pour trois groupes ou plus, l’hypothèse nulle est que toutes les variances de groupe sont égales ; p < 0.05 signifie qu’au moins deux diffèrent et que l’hypothèse est violée.
Test de Bartlett
Le test de Bartlett gère deux groupes ou plus mais, comme le F-test, suppose la normalité :
data("PlantGrowth")bartlett.test(weight ~ group, data = PlantGrowth)
Bartlett test of homogeneity of variances
data: weight by group
Bartlett's K-squared = 2.8786, df = 2, p-value = 0.2371
La p-value (0.24) est non significative — la variance du poids des plantes ne diffère pas entre les trois groupes de traitement. Pour deux facteurs de groupement, combinez-les avec interaction() :
data("ToothGrowth")ToothGrowth$dose <-as.factor(ToothGrowth$dose)bartlett.test(len ~interaction(supp, dose), data = ToothGrowth)
Bartlett test of homogeneity of variances
data: len by interaction(supp, dose)
Bartlett's K-squared = 6.9273, df = 5, p-value = 0.2261
Test de Levene (recommandé)
Le test de Levene est une alternative robuste — bien moins sensible aux écarts à la normalité, ce qui explique pourquoi il est le plus utilisé en pratique. La fonction rstatix::levene_test(), compatible avec le pipe, encapsule car::leveneTest() :
library(rstatix)data("PlantGrowth")# one grouping factorPlantGrowth %>%levene_test(weight ~ group)
# A tibble: 1 × 4
df1 df2 statistic p
<int> <int> <dbl> <dbl>
1 2 27 1.12 0.341
library(rstatix)data("ToothGrowth")ToothGrowth$dose <-as.factor(ToothGrowth$dose)# two grouping factors and their interactionToothGrowth %>%levene_test(len ~ supp * dose)
# A tibble: 1 × 4
df1 df2 statistic p
<int> <int> <dbl> <dbl>
1 5 54 1.71 0.148
Les deux sont non significatifs (p > 0.05) — l’égalité des variances est vérifiée.
Test de Fligner-Killeen
Le test de Fligner-Killeen est non paramétrique et le plus robuste face à la non-normalité — un bon choix lorsque les données ne sont manifestement pas normales :
data("PlantGrowth")fligner.test(weight ~ group, data = PlantGrowth)
Fligner-Killeen test of homogeneity of variances
data: weight by group
Fligner-Killeen:med chi-squared = 2.3499, df = 2, p-value = 0.3088
À nouveau non significatif (p = 0.31) — les trois tests s’accordent : les variances sont égales.
Quel test devez-vous utiliser ?
Deux groupes, données normales → le F-test (var.test()).
Plusieurs groupes, données normales → le test de Bartlett.
Plusieurs groupes, normalité incertaine → le test de Levene (la recommandation par défaut).
Plusieurs groupes, données manifestement non normales → le test de Fligner-Killeen.
NoteLes mathématiques (optionnel)
Chaque test construit une statistique qui est grande lorsque les variances de groupe divergent. Bartlett compare la variance regroupée aux variances intra-groupes sur une échelle logarithmique (sensible à la normalité). Le test de Levene exécute une ANOVA sur les écarts absolus au centre de chaque groupe (\(|y_{ij} - \tilde{y}_i|\), en utilisant la médiane dans la forme robuste de Brown-Forsythe) — transformant une question de dispersion en une question de moyennes, ce qui explique pourquoi il tolère la non-normalité. Fligner-Killeen remplace ces écarts par des rangs, le rendant pleinement non paramétrique.
Essayez en direct
Testez vous-même l’hypothèse d’égalité des variances, et observez ce qui se passe lorsque les variances diffèrent réellement. Le bac à sable démarre au premier Run.
🟢 Avec un agent IA
Demandez à Prova« vérifie si mes groupes ont des variances égales avant de lancer un t-test ou une ANOVA, et dis-moi quel test de variance convient à mes données » — elle répond avec du code rstatix que vous pouvez exécuter sur vos propres données, et vous aide à choisir entre Levene, Bartlett et Fligner. The runtime is the judge.Demander à Prova →
Problèmes courants
Vous avez utilisé le test de Bartlett (ou le F-test) sur des données non normales. Tous deux sont sensibles à la non-normalité et peuvent signaler une variance inégale qui n’existe pas réellement. Préférez le test de Levene (ou de Fligner-Killeen) lorsque la normalité est incertaine.
Le test de Levene est significatif — que faire maintenant ? L’hypothèse d’égalité des variances est violée. Pour deux groupes, utilisez le t-test de Welch (t.test(..., var.equal = FALSE), la valeur par défaut) ; pour plusieurs groupes, utilisez l’ ANOVA de Welch (welch_anova_test()) avec un post-hoc de Games-Howell, ou un test non paramétrique.
Une colonne de facteur est numérique. Convertissez d’abord les variables de groupement en facteurs (mydata$group <- factor(mydata$group)), sinon le test les traite comme continues.
Questions fréquentes
NoteQu’est-ce que l’homogénéité des variances ?
L’homogénéité des variances (égalité des variances, ou homoscédasticité) signifie que les groupes comparés partagent la même variance — la même dispersion des valeurs. C’est une hypothèse clé du t-test à échantillons indépendants et de l’ ANOVA ; lorsqu’elle n’est pas respectée, ces tests peuvent donner des p-values trompeuses et vous passez à une alternative de Welch ou non paramétrique.
NoteQuel test d’égalité des variances dois-je utiliser ?
Pour deux groupes, le F-test (var.test()). Pour plusieurs groupes : le test de Bartlett si les données sont normales, le test de Levene si la normalité est incertaine (le choix le plus courant), et le test de Fligner-Killeen si les données sont manifestement non normales. Le test de Levene est le choix par défaut le plus sûr.
NoteComment interpréter la p-value d’un test de variance ?
L’hypothèse nulle est l’égalité des variances : un résultat non significatif (p > 0.05) signifie donc que l’ hypothèse est vérifiée et que vous pouvez poursuivre. Un résultat significatif (p < 0.05) signifie que les variances diffèrent — utilisez un test de Welch (deux groupes) ou une ANOVA de Welch / un test non paramétrique (plusieurs groupes).
NoteQuelle est la différence entre le test de Levene et celui de Bartlett ?
Tous deux comparent les variances de deux groupes ou plus, mais le test de Bartlett suppose que les données sont normales et est sensible aux écarts à cette hypothèse, tandis que le test de Levene s’appuie sur les écarts au centre de chaque groupe, ce qui le rend robuste à la non-normalité. Le test de Levene est préféré, sauf si vous êtes certain que les données sont normales.
Testez vos connaissances
ImportantPratique
Exécutez-le. Dans la cellule interactive, lancez le test de Levene de weight par group sur PlantGrowth. Complétez le blanc. L’hypothèse d’égalité des variances est-elle satisfaite ?
Conceptuel. Vos données sont manifestement non normales et vous avez quatre groupes. Quel test de variance devez-vous utiliser, et pourquoi pas celui de Bartlett ?
NoteIndice
Complétez le blanc avec group. Un p > 0.05 signifie que l’égalité des variances est vérifiée. Pour la question 2, rappelez-vous quels tests supposent la normalité et lesquels ne la supposent pas.
L’hypothèse est satisfaite. Pour la question 2 : utilisez le test de Fligner-Killeen (ou de Levene) car il est non paramétrique et robuste à la non-normalité ; le test de Bartlett suppose des données normales et serait peu fiable ici, risquant de signaler une variance inégale qui n’est en réalité que de la non-normalité.
AstuceQuel test, quand ?
Deux groupes, normaux → F-test (var.test()).
Plusieurs groupes, normaux → test de Bartlett.
Plusieurs groupes, normalité incertaine → test de Levene (par défaut).
Plusieurs groupes, non normaux → test de Fligner-Killeen.
Conclusion
Vous savez maintenant tester l’hypothèse d’homogénéité des variances en R avec les quatre outils : le F-test pour deux groupes, et les tests de Bartlett, de Levene et de Fligner-Killeen pour plusieurs — en choisissant parmi eux selon votre degré de confiance dans la normalité. Le test de Levene (rstatix::levene_test()) est le choix robuste par défaut. Lorsque l’ hypothèse échoue, passez à un test de Welch ou à une alternative non paramétrique plutôt qu’au t-test ou à l’ANOVA classiques.
Leçons connexes
Test de normalité en R — l’autre hypothèse clé, et celle qui décide quel test de variance privilégier. · T-test en R — utilise l’hypothèse d’égalité des variances (et le repli sur Welch). · ANOVA à un facteur en R — suppose l’égalité des variances entre les groupes, avec l’ANOVA de Welch lorsqu’elle échoue.
Prouvez que vous savez le faire. Maîtrisez toute la série Hypothèses statistiques en R — suivez votre parcours, construisez des projets et obtenez un certificat.
Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.