Leerpad
Heb je ooit een t-toets uitgevoerd, een vreemd p-waarde gekregen en later ontdekt dat je data totaal niet normaal verdeeld was?
Dit is iedereen wel eens overkomen. Het probleem met de t-toets is dat hij ervan uitgaat dat je data een normale verdeling volgt. Als dat niet zo is, kunnen de resultaten misleidend zijn. Scheve data en kleine steekproeven schenden allemaal die normaliteitsaanname. En data uit de echte wereld gedraagt zich zelden zoals studieboeken suggereren.
De Mann-Whitney U-toets lost dat probleem op. Het is een niet-parametrisch alternatief voor de t-toets dat twee groepen vergelijkt op basis van rangen in plaats van gemiddelden, waardoor de vorm van je verdeling er niet toe doet.
In dit artikel bespreek ik wat de Mann-Whitney U-toets is, wanneer je hem gebruikt, hoe de wiskunde werkt en hoe je hem uitvoert en interpreteert in zowel Python als R.
Maar wat is een t-toets precies? Als je die vraag hebt, lees dan onze Introductie tot t-toetsen in Python-blogpost – die beantwoordt al je vragen.
Wat is de Mann-Whitney U-toets?
De Mann-Whitney U-toets is een niet-parametrische statistische toets om twee onafhankelijke groepen te vergelijken.
In tegenstelling tot de t-toets gaat hij er niet van uit dat je data normaal verdeeld is. Hij vergelijkt de verdelingen van twee groepen door ruwe waarden om te zetten naar rangen en die te analyseren. Dat maakt het een goede keuze als je data scheef is, uitschieters bevat of op een andere manier niet aan normaliteit voldoet.
Je ziet hem ook wel de Wilcoxon rangsomtoets genoemd. Voor alle praktische doeleinden zijn dat synoniemen.
Wanneer gebruik je de Mann-Whitney U-toets
De Mann-Whitney U-toets vereist een specifieke set voorwaarden. Je gebruikt hem alleen als alle onderstaande punten gelden:
- Twee onafhankelijke groepen: De steekproeven overlappen niet en de waarden van de ene groep beïnvloeden die van de andere niet
- Ordinale of continue data: Denk aan toetsscores, reactietijden of andere gemeten waarden
- Niet-normale verdeling: Je data is scheef, heeft zware staarten of je kunt normaliteit niet bevestigen met een kleine steekproef
- Kleine steekproeven: Wanneer je niet genoeg data hebt om op de centrale limietstelling te vertrouwen
Laten we een voorbeeld doornemen.
Stel, je hebt twee klassen die met verschillende methoden zijn onderwezen en je wilt weten welke betere examencijfers heeft opgeleverd. Je plot de scores en ziet dat ze niet normaal verdeeld zijn – één klas heeft een paar uitschieters die de verdeling naar rechts trekken. De t-toets vergelijkt groepsgemiddelden, dus die uitschieters trekken het gemiddelde omhoog en laten die klas beter lijken dan ze eigenlijk is.
Dat scheve gemiddelde gaat de t-toetsberekening in, en de p-waarde die je terugkrijgt weerspiegelt het verschil tussen de groepen niet. De Mann-Whitney U-toets heeft dat probleem niet, omdat hij met rangen werkt in plaats van ruwe scores. Een enkele uitschieter kan hooguit de hoogste rang krijgen en kan het resultaat dus niet vertekenen zoals een gemiddelde dat wel zou doen.
Het is ook een go-to als je met ordinale data werkt, zoals enquêteresultaten op een schaal van 1–5. Die waarden zijn niet echt continu, dus een gemiddelde berekenen is niet heel zinvol.
Formule van de Mann-Whitney U-toets
De toets levert twee U-statistieken op, één voor elke groep. Dit is de formule:

Formule van de Mann-Whitney U-toets
Waarbij:
-
n1enn2de steekproefgroottes van groep 1 en groep 2 zijn -
R1enR2de rangsommen voor elke groep zijn – de som van alle rangen die aan de waarnemingen van elke groep zijn toegekend
De rangsom bereken je door alle waarden uit beide groepen te combineren, ze van laag naar hoog te sorteren en aan elke waarde een rang toe te kennen. De kleinste waarde krijgt rang 1, de volgende rang 2, enzovoort. Vervolgens tel je de rangen die bij elke groep horen apart op.
De teststatistiek is de kleinste van U1 en U2. Je vergelijkt die vervolgens met een kritieke waarde of gebruikt hem om een p-waarde te berekenen.
Het goede nieuws is dat je dit niet met de hand hoeft te doen. Python en R doen het voor je, wat ik zo zal laten zien.
Aannames van de Mann-Whitney U-toets
De Mann-Whitney U-toets is flexibeler dan de t-toets, maar kent nog steeds drie aannames waar je rekening mee moet houden:
- Onafhankelijke steekproeven: De twee groepen beïnvloeden elkaar niet. Waarnemingen in de ene groep hebben geen relatie met die in de andere
- Ordinale of continue data: Je data moet een natuurlijke ordening hebben – je kunt zeggen dat de ene waarde hoger of lager is dan de andere
- Vergelijkbare verdelingsvormen: Als je de resultaten wilt interpreteren als een vergelijking van medianen, moeten beide groepen ongeveer dezelfde verdelingsvorm hebben. Als de vormen verschillen, werkt de toets nog steeds, maar vergelijk je gemiddelde rangen in plaats van medianen
De derde aanname zorgt het vaakst voor verwarring.
De Mann-Whitney U-toets wordt vaak omschreven als een toets voor medianen, maar dat is alleen waar wanneer de twee verdelingen een vergelijkbare vorm hebben. Als dat niet zo is, vertelt het resultaat je iets algemeners – of waarden in de ene groep de neiging hebben hoger te zijn dan in de andere.
Mann-Whitney U-toets in Python
De Python-module scipy.stats heeft een functie voor de Mann-Whitney U-toets. Hier is een eenvoudig voorbeeld met examencijfers van twee klassen.
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}")

Mann-Whitney U-toets in Python
Het argument alternative="two-sided" geeft aan dat je wilt testen of de twee groepen in beide richtingen verschillen. Je gaat er vooraf niet van uit dat één groep hoger scoort dan de andere. Als je een directionele hypothese had, zou je "less" of "greater" gebruiken.
De p-waarde is hier 0,0046, wat onder de standaarddrempel van 0,05 ligt. Dat betekent dat je de nulhypothese kunt verwerpen, omdat er een statistisch significant verschil is tussen de scoreverdelingen van de twee klassen.
De U-statistiek op zichzelf zegt niet veel zonder context. Richt je op de p-waarde om te bepalen of het verschil statistisch significant is, en kijk naar de ruwe data of medianen om de richting van dat verschil te begrijpen.
Mann-Whitney U-toets in R
R voert de Mann-Whitney U-toets uit met de functie wilcox.test(). Ik gebruik hetzelfde voorbeeld met examencijfers als hierboven.
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")

Mann-Whitney U-toets in R
De W-statistiek is hetzelfde als de U-statistiek – R labelt hem alleen anders. De interpretatie is hetzelfde als in Python: een p-waarde van 0,0029 ligt onder 0,05, dus er is een statistisch significant verschil tussen de twee groepen.
Je kunt ook een waarschuwing zien over gelijke waarden (ties) in je data.
Dat gebeurt wanneer twee of meer waarden identiek zijn in beide groepen, wat invloed heeft op hoe rangen worden toegekend. R handelt dit voor je af, maar als je veel ties hebt, is het de moeite waard om te controleren of je data aan de aannames van de toets voldoet.
Hoe interpreteer je resultaten van de Mann-Whitney U-toets
De nulhypothese van de Mann-Whitney U-toets is dat de twee groepen uit dezelfde verdeling komen – met andere woorden, dat er geen verschil tussen zit. Jouw taak is bewijs te vinden tegen die hypothese.
De p-waarde is hoe je dat doet:
- p < 0,05: Je verwerpt de nulhypothese. De twee groepen zijn verschillend verdeeld en het verschil is statistisch significant
- p >= 0,05: Je hebt niet genoeg bewijs om de nulhypothese te verwerpen. Dat betekent niet dat de groepen identiek zijn, alleen dat de data geen duidelijk verschil laat zien
Onthoud dat de Mann-Whitney U-toets verdelingen vergelijkt. Een significant resultaat vertelt je dat waarden in de ene groep de neiging hebben hoger te rangschikken dan in de andere – niet dat het gemiddelde hoger is. Als je de richting van het verschil wilt beschrijven, kijk dan naar de medianen van elke groep, niet naar de gemiddelden.
Mann-Whitney U-toets vs t-toets
Deze twee toetsen lossen hetzelfde probleem op (twee groepen vergelijken) maar doen dat op verschillende manieren, en de verkeerde keuze beïnvloedt je resultaten.
t-toets
De t-toets vergelijkt de gemiddelden van twee groepen. Hij is gebaseerd op de aanname dat je data normaal verdeeld is, en als dat klopt, is het een goede toets.
Het probleem is die aanname. Als je data scheef is of uit een kleine steekproef komt waarin normaliteit lastig te bevestigen is, kunnen de resultaten van de t-toets onbetrouwbaar worden. Het gemiddelde wordt getrokken door extreme waarden, en de p-waarde laat dat zien.
Gebruik de t-toets wanneer:
- Je data normaal verdeeld is
- Je een voldoende grote steekproef hebt
- Je met continue data werkt zonder sterke scheefheid of uitschieters
Mann-Whitney U-toets
De Mann-Whitney U-toets vergelijkt verdelingen in plaats van gemiddelden. Hij rangschikt alle waarden uit beide groepen samen en controleert of de ene groep consequent hoger rangschikt dan de andere. Omdat hij met rangen werkt, vertekenen uitschieters en scheefheid het resultaat niet op dezelfde manier.
Als je data daadwerkelijk normaal verdeeld is, zal de t-toets verschillen betrouwbaarder detecteren. De Mann-Whitney U-toets is flexibeler, maar je levert wat gevoeligheid in.
Gebruik de Mann-Whitney U-toets wanneer:
- Je data niet normaal verdeeld is
- Je met ordinale data werkt
- Je een kleine steekproef hebt en normaliteit niet kunt bevestigen
- Er uitschieters aanwezig zijn die je niet kunt verwijderen
Hier is een snelle vergelijking van beide:

t-toets vergeleken met Mann-Whitney U-toets
Twijfel je, bekijk dan eerst je verdeling. Is die min of meer normaal, kies dan de t-toets. Zo niet, dan is de Mann-Whitney U-toets de veiligere keuze.
Veelgemaakte fouten bij de Mann-Whitney U-toets
De meeste fouten met deze toets komen neer op niet begrijpen wat hij precies doet. Dit zijn de meest voorkomende.
Aannemen dat hij gemiddelden vergelijkt
Dit is de meest voorkomende. De Mann-Whitney U-toets vergelijkt verdelingen, niet gemiddelden. Een significant resultaat vertelt je dat waarden in de ene groep de neiging hebben hoger te rangschikken – niet dat het gemiddelde hoger is. Als je het verschil wilt beschrijven, rapporteer dan de medianen, niet de gemiddelden.
Verschillen in verdelingsvorm negeren
Als de twee groepen verschillende verdelingsvormen hebben – de één rechts-scheef, de ander symmetrisch – kun je het resultaat niet interpreteren als een vergelijking van medianen. De toets draait nog steeds, maar de output laat een verschil in de algehele verdelingen zien, niet een verschuiving in het centrum. Controleer je verdelingen voordat je conclusies trekt over medianen.
p-waarden verkeerd interpreteren
Een p-waarde onder 0,05 betekent dat het verschil statistisch significant is. Het vertelt je niet hoe groot het verschil is of of het ertoe doet. Een erg grote steekproef kan een significante p-waarde opleveren, zelfs als het werkelijke verschil tussen groepen klein is. Als effectgrootte belangrijk is in je analyse, bereken die dan apart.
Hem gebruiken voor gepaarde data
De Mann-Whitney U-toets is voor twee onafhankelijke groepen. Als je data gepaard is – dezelfde proefpersonen twee keer gemeten, of gematchte paren – heb je in plaats daarvan de Wilcoxon signed-rank-toets nodig.
Wanneer je de Mann-Whitney U-toets niet moet gebruiken
De Mann-Whitney U-toets is niet in elke situatie het juiste hulpmiddel. Hier moet je iets anders kiezen.
Je data is gepaard
Als dezelfde proefpersonen in beide groepen voorkomen – voor/na-metingen of gematchte paren – zijn de twee steekproeven niet onafhankelijk. De Mann-Whitney U-toets gaat ervan uit van wel, dus hem hier gebruiken negeert de relatie tussen waarnemingen en levert onbetrouwbare resultaten op. Gebruik in plaats daarvan de Wilcoxon signed-rank-toets.
Je hebt meer dan twee groepen
De Mann-Whitney U-toets vergelijkt slechts twee groepen tegelijk. Als je drie of meer groepen vergelijkt, gebruik dan de Kruskal-Wallis-toets, het niet-parametrische equivalent van een eenweg-ANOVA die meerdere groepen aankan.
Je hebt een grote steekproef met normale data
Het belangrijkste voordeel van de Mann-Whitney U-toets is dat hij geen normaliteit aanneemt. Als je data normaal verdeeld is en je steekproef groot genoeg is om dat te bevestigen, is de t-toets de betere keuze. Die heeft in die situatie meer statistische power, wat betekent dat hij eerder een echt verschil detecteert als dat er is.
Conclusie
De Mann-Whitney U-toets is een uitstekende oplossing wanneer je data niet normaal verdeeld is en de t-toets daarom niet geschikt is.
Hij werkt met rangen in plaats van ruwe waarden en omzeilt zo de aannames die parametrische toetsen onbetrouwbaar maken bij scheve of kleine steekproefdata. Dat maakt het een goede toets voor analyses in de echte wereld, waar data zelden doet wat je zou willen.
De grotere les hier is de keuze van de toets. Geen enkele toets werkt voor elke dataset. Controleer je data altijd eerst – de verdeling, structuur en steekproefgrootte – en laat die kenmerken je keuze bepalen. De juiste toets is degene die bij je data past.
Als je nieuw bent in statistiek of echt de diepte in wilt, helpt onze Statistician in R-track je om in slechts 52 uur aan materiaal klaar te zijn voor een baan.
FAQs
Waarvoor wordt de Mann-Whitney U-toets gebruikt?
De Mann-Whitney U-toets wordt gebruikt om twee onafhankelijke groepen te vergelijken wanneer je niet kunt aannemen dat de data een normale verdeling volgt. Hij rangschikt alle waarden uit beide groepen samen en controleert of de ene groep consequent hoger rangschikt dan de andere. Hij werkt met zowel ordinale als continue data.
Hoe verschilt de Mann-Whitney U-toets van de t-toets?
De t-toets vergelijkt de gemiddelden van twee groepen en gaat uit van normaliteit. De Mann-Whitney U-toets vergelijkt verdelingen met behulp van rangen en doet die aanname dus niet. Wanneer je data scheef is of uit een kleine steekproef komt, is de Mann-Whitney U-toets de veiligere keuze.
Wanneer moet ik de Mann-Whitney U-toets gebruiken?
Gebruik hem wanneer je twee onafhankelijke groepen hebt, je data ordinaal of continu is en je normaliteit niet kunt bevestigen. Het is ook geschikt wanneer je steekproef klein is en er uitschieters aanwezig zijn. Als je data normaal verdeeld is en je steekproef groot, levert de t-toets over het algemeen betere resultaten op.
Wat zegt de p-waarde je in een Mann-Whitney U-toets?
Een p-waarde onder 0,05 betekent dat er een statistisch significant verschil is tussen de verdelingen van de twee groepen. Het vertelt je niet hoe groot dat verschil is of of het in de praktijk betekenisvol is. Daarvoor moet je de effectgrootte apart berekenen en naar de medianen van elke groep kijken.
Kan ik de Mann-Whitney U-toets gebruiken voor gepaarde data?
Nee. De Mann-Whitney U-toets gaat ervan uit dat de twee groepen onafhankelijk zijn, wat betekent dat de waarden van de ene groep de andere niet beïnvloeden. Als je data gepaard is – denk aan voor/na-metingen bij dezelfde proefpersonen – gebruik dan in plaats daarvan de Wilcoxon signed-rank-toets. De Mann-Whitney U-toets toepassen op gepaarde data negeert de relatie tussen waarnemingen en levert onbetrouwbare resultaten op.

