Cursus
Vous avez déjà lancé un t-test, obtenu une p-valeur étrange, puis découvert que vos données étaient loin d’être normalement distribuées ?
Cela arrive à tout le monde tôt ou tard. Le problème du t-test, c’est qu’il suppose que vos données suivent une loi normale. Quand ce n’est pas le cas, les résultats peuvent induire en erreur. Une distribution asymétrique et de petits échantillons violent cette hypothèse de normalité. Et, dans la vraie vie, les données se comportent rarement comme dans les manuels.
Le test de Mann-Whitney U vient corriger le tir. C’est une alternative non paramétrique au t-test qui compare deux groupes à partir des rangs plutôt que des moyennes : la forme de la distribution ne l’handicape donc pas.
Dans cet article, nous verrons ce qu’est le test de Mann-Whitney U, quand l’utiliser, comment il fonctionne mathématiquement, et comment l’exécuter et l’interpréter en Python et en R.
Mais au fait, qu’est-ce qu’un t-test ? Si vous vous posez la question, lisez notre article Introduction to Python T-Tests : il répondra à toutes vos questions.
Qu’est-ce que le test de Mann-Whitney U ?
Le test de Mann-Whitney U est un test statistique non paramétrique utilisé pour comparer deux groupes indépendants.
Contrairement au t-test, il ne suppose pas que vos données suivent une loi normale. Il compare les distributions de deux groupes en convertissant les valeurs brutes en rangs et en les analysant. C’est donc un bon choix si vos données sont asymétriques, contiennent des valeurs aberrantes, ou ne respectent pas l’hypothèse de normalité d’une autre manière.
Vous le verrez aussi sous le nom de test des rangs de Wilcoxon. Dans la pratique, ce sont des synonymes.
Quand utiliser le test de Mann-Whitney U
Le test de Mann-Whitney U nécessite un certain nombre de conditions. Ne l’utilisez que si toutes sont réunies :
- Deux groupes indépendants : les échantillons ne se recoupent pas et les valeurs d’un groupe n’influencent pas celles de l’autre
- Données ordinales ou continues : par exemple des notes de test, des temps de réponse ou toute mesure quantitative
- Distribution non normale : données asymétriques, à queues épaisses, ou impossibilité de confirmer la normalité avec un petit échantillon
- Petites tailles d’échantillon : lorsque vous n’avez pas assez de données pour vous reposer sur le théorème central limite
Voyons un exemple.
Supposons que vous ayez deux classes enseignées avec des méthodes différentes et que vous souhaitiez savoir laquelle a obtenu les meilleurs résultats à l’examen. Vous tracez les notes et constatez qu’elles ne sont pas normalement distribuées : une classe présente quelques valeurs aberrantes qui tirent la distribution vers la droite. Le t-test compare les moyennes de groupe ; ces valeurs extrêmes font monter la moyenne et donnent l’impression qu’une classe est meilleure qu’elle ne l’est réellement.
Cette moyenne biaisée entre dans le calcul du t-test, et la p-valeur obtenue ne reflète pas la différence entre les groupes. Le test de Mann-Whitney U n’a pas ce problème, car il travaille sur des rangs plutôt que sur des valeurs brutes. Une valeur aberrante ne peut être que la valeur la mieux classée : elle ne déforme donc pas le résultat comme le ferait une moyenne.
C’est aussi un réflexe utile avec des données ordinales, comme des réponses d’enquête sur une échelle de 1 à 5. Ces valeurs ne sont pas vraiment continues, calculer une moyenne n’a donc pas beaucoup de sens.
Formule du test de Mann-Whitney U
Le test produit deux statistiques U, une par groupe. Voici la formule :

Formule du test de Mann-Whitney U
Où :
-
n1etn2sont les tailles d’échantillon des groupes 1 et 2 -
R1etR2sont les sommes des rangs pour chaque groupe : la somme de tous les rangs attribués aux observations de chaque groupe
La somme des rangs se calcule en combinant toutes les valeurs des deux groupes, en les triant de la plus petite à la plus grande, puis en attribuant un rang à chaque valeur. La plus petite reçoit le rang 1, la suivante le rang 2, etc. On additionne ensuite séparément les rangs appartenant à chaque groupe.
La statistique de test est le plus petit de U1 et U2. On la compare ensuite à une valeur critique ou on l’utilise pour calculer une p-valeur.
La bonne nouvelle, c’est que vous n’avez pas à faire ce calcul à la main. Python et R s’en chargent pour vous, comme nous allons le voir.
Hypothèses du test de Mann-Whitney U
Le test de Mann-Whitney U est plus souple que le t-test, mais il repose tout de même sur trois hypothèses à respecter :
- Échantillons indépendants : les deux groupes ne s’influencent pas. Les observations d’un groupe n’ont pas de relation avec celles de l’autre
- Données ordinales ou continues : les données doivent avoir un ordre naturel : on peut dire qu’une valeur est supérieure ou inférieure à une autre
- Formes de distribution similaires : si vous souhaitez interpréter les résultats comme une comparaison de médianes, les deux groupes doivent présenter des distributions de forme globalement similaire. Si les formes diffèrent, le test reste valable, mais vous comparez des rangs moyens plutôt que des médianes
La troisième hypothèse est souvent source de confusion.
On présente souvent le test de Mann-Whitney U comme un test des médianes, mais ce n’est vrai que lorsque les deux distributions ont une forme similaire. Sinon, le résultat dit quelque chose de plus général : les valeurs d’un groupe ont tendance à être plus élevées que celles de l’autre.
Test de Mann-Whitney U en Python
Le module scipy.stats de Python propose une fonction pour le test de Mann-Whitney U. Voici un exemple simple avec des notes d’examen de deux classes.
from scipy.stats import mannwhitneyu
class_a = [72, 85, 90, 65, 78, 88, 95, 70, 83, 76]
class_b = [60, 55, 74, 68, 80, 58, 63, 71, 66, 59]
stat, p_value = mannwhitneyu(class_a, class_b, alternative="two-sided")
print(f"U statistic: {stat}")
print(f"P-value: {p_value:.4f}")

Test de Mann-Whitney U en Python
L’argument alternative="two-sided" indique que vous testez une différence potentielle dans les deux sens. Vous ne supposez pas a priori qu’un groupe surpasse l’autre. Si vous aviez une hypothèse directionnelle, vous utiliseriez "less" ou "greater" à la place.
Ici, la p-valeur est de 0,0046, en dessous du seuil usuel de 0,05. Vous pouvez donc rejeter l’hypothèse nulle : il existe une différence statistiquement significative entre les distributions de notes des deux classes.
La statistique U, prise isolément, dit peu de choses sans contexte. Focalisez-vous sur la p-valeur pour juger de la significativité, puis regardez les données brutes ou les médianes pour comprendre le sens de la différence.
Test de Mann-Whitney U en R
R exécute le test de Mann-Whitney U avec la fonction wilcox.test(). Nous reprenons l’exemple des notes ci-dessus.
class_a <- c(72, 85, 90, 65, 78, 88, 95, 70, 83, 76)
class_b <- c(60, 55, 74, 68, 80, 58, 63, 71, 66, 59)
wilcox.test(class_a, class_b, alternative = "two.sided")

Test de Mann-Whitney U en R
La statistique W correspond à la statistique U : R l’étiquette simplement autrement. L’interprétation est la même qu’en Python : une p-valeur de 0,0029 est inférieure à 0,05, il existe donc une différence statistiquement significative entre les deux groupes.
Vous pouvez également voir un avertissement au sujet d’ex æquo (ties) dans vos données.
Cela se produit lorsque deux valeurs ou plus sont identiques entre les groupes, ce qui affecte l’attribution des rangs. R gère ce cas, mais si vous avez beaucoup d’ex æquo, vérifiez que vos données respectent bien les hypothèses du test.
Comment interpréter les résultats du test de Mann-Whitney U
L’hypothèse nulle du test de Mann-Whitney U est que les deux groupes proviennent de la même distribution : autrement dit, qu’il n’y a pas de différence entre eux. Votre objectif est de trouver des éléments qui la contredisent.
La p-valeur sert à cela :
- p < 0,05 : vous rejetez l’hypothèse nulle. Les deux groupes sont distribués différemment et la différence est statistiquement significative
- p >= 0,05 : vous n’avez pas suffisamment d’éléments pour rejeter l’hypothèse nulle. Cela ne signifie pas que les groupes sont identiques, seulement que les données ne montrent pas de différence nette
N’oubliez pas que le test de Mann-Whitney U compare des distributions. Un résultat significatif indique que les valeurs d’un groupe tendent à être mieux classées que celles de l’autre – pas que la moyenne est plus élevée. Pour décrire le sens de la différence, regardez les médianes de chaque groupe, pas les moyennes.
Test de Mann-Whitney U vs t-test
Ces deux tests répondent au même besoin (comparer deux groupes) mais différemment, et un mauvais choix impactera vos résultats.
t-test
Le t-test compare les moyennes de deux groupes. Il repose sur l’hypothèse de normalité des données et, lorsque celle-ci est vérifiée, c’est un bon test.
Le point faible, c’est justement cette hypothèse. Si vos données sont asymétriques ou issues d’un petit échantillon pour lequel la normalité est difficile à confirmer, les résultats du t-test peuvent devenir peu fiables. La moyenne est tirée par les valeurs extrêmes, et la p-valeur en porte la trace.
Utilisez le t-test lorsque :
- vos données sont normalement distribuées
- vous disposez d’un échantillon suffisamment grand
- vous travaillez sur des données continues sans forte asymétrie ni valeurs aberrantes
Test de Mann-Whitney U
Le test de Mann-Whitney U compare des distributions plutôt que des moyennes. Il classe l’ensemble des valeurs des deux groupes et vérifie si l’un se classe systématiquement plus haut que l’autre. Comme il travaille sur des rangs, les valeurs aberrantes et l’asymétrie ne faussent pas le résultat de la même manière.
Lorsque vos données sont effectivement normales, le t-test détectera les différences avec plus de fiabilité. Le test de Mann-Whitney U est plus flexible, mais vous perdez un peu en sensibilité.
Utilisez le test de Mann-Whitney U lorsque :
- vos données ne sont pas normalement distribuées
- vous travaillez avec des données ordinales
- vous avez un petit échantillon et ne pouvez pas confirmer la normalité
- des valeurs aberrantes sont présentes et vous ne pouvez pas les exclure
Voici une comparaison rapide des deux :

t-test comparé au test de Mann-Whitney U
En cas de doute, examinez d’abord votre distribution. Si elle est à peu près normale, privilégiez le t-test. Sinon, le test de Mann-Whitney U est le choix le plus sûr.
Erreurs fréquentes avec le test de Mann-Whitney U
La plupart des erreurs viennent d’une mauvaise compréhension de ce que fait réellement ce test. Voici les plus courantes.
Penser qu’il compare des moyennes
C’est l’erreur n°1. Le test de Mann-Whitney U compare des distributions, pas des moyennes. Un résultat significatif indique que les valeurs d’un groupe ont tendance à être mieux classées – pas que la moyenne est supérieure. Pour décrire la différence, rapportez les médianes, pas les moyennes.
Ignorer des différences de forme de distribution
Si les deux groupes ont des formes de distribution différentes – l’un est asymétrique à droite, l’autre est symétrique – vous ne pouvez pas interpréter le résultat comme une comparaison de médianes. Le test s’exécute, mais la sortie met en évidence une différence globale de distributions, pas un simple décalage du centre. Vérifiez les distributions avant de conclure sur les médianes.
Mal interpréter les p-valeurs
Une p-valeur inférieure à 0,05 signifie que la différence est statistiquement significative. Elle ne dit rien de l’ampleur de la différence ni de sa portée pratique. Un très grand échantillon peut produire une p-valeur significative même si l’écart réel entre groupes est minime. Si la taille d’effet compte, calculez-la séparément.
L’utiliser pour des données appariées
Le test de Mann-Whitney U s’applique à deux groupes indépendants. Si vos données sont appariées – mêmes sujets mesurés deux fois, ou paires appariées – utilisez plutôt le test des rangs signés de Wilcoxon.
Quand ne pas utiliser le test de Mann-Whitney U
Le test de Mann-Whitney U n’est pas l’outil adapté à toutes les situations. Voici quand en choisir un autre.
Vos données sont appariées
Si les mêmes sujets apparaissent dans les deux groupes – mesures avant/après ou paires appariées – les échantillons ne sont pas indépendants. Le test de Mann-Whitney U suppose l’indépendance : l’utiliser ici ignore la relation entre observations et produit des résultats peu fiables. Utilisez le test des rangs signés de Wilcoxon.
Vous avez plus de deux groupes
Le test de Mann-Whitney U compare seulement deux groupes à la fois. Si vous en comparez trois ou plus, utilisez le test de Kruskal‑Wallis, équivalent non paramétrique de l’ANOVA à un facteur, capable de gérer plusieurs groupes.
Vous avez un grand échantillon et des données normales
L’atout principal du test de Mann-Whitney U est de ne pas supposer la normalité. Si vos données sont normalement distribuées et que la taille d’échantillon permet de le confirmer, le t-test est préférable. Il a alors une plus grande puissance statistique, donc plus de chances de détecter une différence réelle lorsqu’elle existe.
Conclusion
Le test de Mann-Whitney U est une excellente option lorsque vos données ne sont pas normales et que le t-test n’est pas adapté.
Il travaille sur des rangs plutôt que sur des valeurs brutes, ce qui évite les hypothèses qui rendent les tests paramétriques peu fiables avec des données asymétriques ou de petite taille. C’est donc un test bien adapté à l’analyse en situation réelle, où les données se comportent rarement comme on le souhaiterait.
La leçon plus large porte sur le choix du test. Aucun test n’est universel. Examinez toujours vos données – distribution, structure, taille d’échantillon – et laissez ces caractéristiques guider votre choix. Le bon test est celui qui s’ajuste à vos données.
Si vous débutez en statistique ou souhaitez approfondir le sujet, notre parcours Statistician in R vous aidera à être prêt pour l’emploi en seulement 52 heures de contenus.
FAQs
À quoi sert le test de Mann-Whitney U ?
Le test de Mann-Whitney U est utilisé pour comparer deux groupes indépendants lorsque vous ne pouvez pas supposer la normalité des données. Il classe toutes les valeurs des deux groupes réunis et vérifie si l’un d’eux se classe systématiquement plus haut que l’autre. Il fonctionne avec des données ordinales comme continues.
En quoi le test de Mann-Whitney U est-il différent du t-test ?
Le t-test compare les moyennes de deux groupes et suppose la normalité. Le test de Mann-Whitney U compare des distributions à l’aide des rangs, sans faire cette hypothèse. Lorsque vos données sont asymétriques ou issues d’un petit échantillon, le test de Mann-Whitney U est le choix le plus prudent.
Quand dois-je utiliser le test de Mann-Whitney U ?
Utilisez-le lorsque vous avez deux groupes indépendants, que vos données sont ordinales ou continues, et que vous ne pouvez pas confirmer la normalité. Il est aussi bien adapté aux petits échantillons et en présence de valeurs aberrantes. Si vos données sont normales et votre échantillon important, le t-test donnera généralement de meilleurs résultats.
Que vous indique la p-valeur dans un test de Mann-Whitney U ?
Une p-valeur inférieure à 0,05 signifie qu’il existe une différence statistiquement significative entre les distributions des deux groupes. Elle ne dit rien de l’ampleur de cette différence ni de sa pertinence pratique. Pour cela, calculez séparément la taille d’effet et examinez les médianes de chaque groupe.
Puis-je utiliser le test de Mann-Whitney U pour des données appariées ?
Non. Le test de Mann-Whitney U suppose que les deux groupes sont indépendants, c’est-à-dire que les valeurs de l’un n’influencent pas celles de l’autre. Si vos données sont appariées – par exemple des mesures avant/après sur les mêmes sujets – utilisez le test des rangs signés de Wilcoxon. Employer le test de Mann-Whitney U sur des données appariées ignore la relation entre observations et produit des résultats peu fiables.


