track
Ați rulat vreodată un test t, ați obținut un p-value ciudat și ulterior ați descoperit că datele dumneavoastră nu erau nici pe departe distribuite normal?
Asta li s-a întâmplat tuturor la un moment dat. Problema cu testul t este că presupune că datele urmează o distribuție normală. Când nu e așa, rezultatele pot induce în eroare. Datele asimetrice și eșantioanele mici încalcă această presupunere de normalitate. Iar datele din lumea reală rareori se comportă așa cum spun manualele.
Testul U Mann-Whitney vine să rezolve problema. Este o alternativă neparametrică la testul t, care compară două grupuri pe baza rangurilor, nu a mediilor, astfel încât nu îl interesează forma distribuției.
În acest articol, voi prezenta ce este testul U Mann-Whitney, când să îl folosiți, cum funcționează matematica din spate și cum să îl rulați și interpretați atât în Python, cât și în R.
Dar ce este, mai exact, un test t? Dacă aveți această întrebare, citiți articolul nostru Introducere în testele t în Python – vă va răspunde la toate întrebările.
Ce este testul U Mann-Whitney?
Testul U Mann-Whitney este un test statistic neparametric folosit pentru a compara două grupuri independente.
Spre deosebire de testul t, nu presupune că datele urmează o distribuție normală. Compară distribuțiile a două grupuri prin convertirea valorilor brute în ranguri și analizarea acestora. Asta îl face o alegere bună când datele sunt asimetrice, conțin valori extreme sau pur și simplu nu îndeplinesc cerința de normalitate în orice alt mod.
Îl veți întâlni și sub denumirea de test Wilcoxon cu sume de ranguri. În practică, acestea sunt sinonime.
Când să folosiți testul U Mann-Whitney
Testul U Mann-Whitney necesită un set specific de condiții. Ar trebui să îl folosiți doar când toate acestea se aplică:
- Două grupuri independente: Eșantioanele nu se suprapun, iar valorile unui grup nu îl influențează pe celălalt
- Date ordinale sau continue: Gândiți-vă la scoruri la teste, timpi de răspuns sau orice valoare măsurată
- Distribuție nenormală: Datele sunt asimetrice, au cozi grele sau nu puteți confirma normalitatea cu un eșantion mic
- Mărimi mici ale eșantionului: Când nu aveți suficiente date pentru a vă baza pe teorema limită centrală
Să trecem printr-un exemplu.
Să zicem că aveți două clase predate prin metode diferite și doriți să știți care a produs rezultate mai bune la examen. Reprezentați grafic scorurile și observați că nu sunt distribuite normal – o clasă are câteva valori extreme care trag distribuția în dreapta. Testul t compară mediile grupurilor, astfel încât aceste valori extreme trag media în sus și fac o clasă să pară mai bună decât este în realitate.
Acea medie denaturată intră în calculul testului t, iar p-value-ul obținut nu reflectă diferența dintre grupuri. Testul U Mann-Whitney nu prezintă această problemă fiindcă lucrează cu ranguri, nu cu scoruri brute. Un singur outlier poate fi doar valoarea cu rangul cel mai mare, deci nu poate denatura rezultatul așa cum o face media.
Este, de asemenea, o alegere de bază când lucrați cu date ordinale, cum ar fi răspunsuri la sondaje pe o scară de la 1 la 5. Aceste valori nu sunt cu adevărat continue, deci calcularea unei medii nu are prea mult sens.
Formula testului U Mann-Whitney
Testul produce două statistici U, câte una pentru fiecare grup. Iată formula:

Formula testului U Mann-Whitney
Unde:
-
n1șin2sunt mărimile eșantioanelor pentru grupul 1 și grupul 2 -
R1șiR2sunt sumele rangurilor pentru fiecare grup – suma tuturor rangurilor atribuite observațiilor fiecărui grup
Suma rangurilor se calculează prin combinarea tuturor valorilor din ambele grupuri, sortarea lor de la cea mai mică la cea mai mare și atribuirea unui rang fiecărei valori. Cea mai mică valoare primește rangul 1, următoarea rangul 2 și așa mai departe. Apoi adunați separat rangurile aparținând fiecărui grup.
Statistica de test este cea mai mică dintre U1 și U2. O comparați apoi cu o valoare critică sau o folosiți pentru a calcula un p-value.
Vestea bună este că nu trebuie să calculați asta manual. Atât Python, cât și R o fac pentru dumneavoastră, iar în curând vă voi arăta cum.
Presupunerile testului U Mann-Whitney
Testul U Mann-Whitney este mai flexibil decât testul t, dar are totuși trei presupuneri pe care trebuie să le respectați:
- Eșantioane independente: Cele două grupuri nu se influențează reciproc. Observațiile dintr-un grup nu au nicio relație cu observațiile din celălalt
- Date ordinale sau continue: Datele trebuie să aibă o ordine naturală – puteți spune că o valoare este mai mare sau mai mică decât alta
- Forme similare ale distribuțiilor: Dacă doriți să interpretați rezultatele ca o comparație a medianelor, ambele grupuri ar trebui să aibă distribuții cu forme aproximativ similare. Dacă formele sunt diferite, testul funcționează în continuare, dar comparați rangurile medii, nu medianele
A treia presupunere îi derutează cel mai mult pe oameni.
Testul U Mann-Whitney este adesea descris ca un test pentru mediane, dar asta este adevărat doar când cele două distribuții au forme similare. Dacă nu au, rezultatul vă spune ceva mai general – dacă valorile dintr-un grup tind să fie mai mari decât valorile din celălalt.
Testul U Mann-Whitney în Python
Modulul scipy.stats din Python are o funcție pentru testul U Mann-Whitney. Iată un exemplu simplu folosind scoruri la examen din două clase.
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}")

Testul U Mann-Whitney în Python
Argumentul alternative="two-sided" îi spune testului că verificați dacă cele două grupuri diferă în oricare direcție. Nu porniți de la presupunerea că un grup obține scoruri mai mari decât celălalt. Dacă ați avea o ipoteză direcțională, ați folosi "less" sau "greater" în loc.
Aici p-value-ul este 0,0046, ceea ce este sub pragul standard de 0,05. Asta înseamnă că puteți respinge ipoteza nulă, deoarece există o diferență semnificativă statistic între distribuțiile scorurilor celor două clase.
Statistica U, luată separat, nu vă spune prea multe fără context. Vă puteți concentra pe p-value pentru a decide dacă diferența este semnificativă statistic și să priviți datele brute sau medianele pentru a înțelege direcția acelei diferențe.
Testul U Mann-Whitney în R
R rulează testul U Mann-Whitney prin funcția wilcox.test(). Voi folosi același exemplu cu scorurile la examen de mai devreme.
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")

Testul U Mann-Whitney în R
Statistica W este aceeași cu statistica U – R doar o etichetează diferit. Interpretarea este aceeași ca în Python: un p-value de 0,0029 este sub 0,05, deci există o diferență semnificativă statistic între cele două grupuri.
Este posibil să vedeți și un avertisment privind egalitățile (ties) din date.
Acest lucru se întâmplă când două sau mai multe valori sunt identice în ambele grupuri, ceea ce afectează modul în care sunt atribuite rangurile. R gestionează acest aspect pentru dumneavoastră, dar dacă aveți multe egalități, merită să verificați dacă datele îndeplinesc presupunerile testului.
Cum se interpretează rezultatele testului U Mann-Whitney
Ipoteza nulă a testului U Mann-Whitney este că cele două grupuri provin din aceeași distribuție – cu alte cuvinte, că nu există nicio diferență între ele. Sarcina dumneavoastră este să găsiți dovezi împotriva acesteia.
P-value-ul este instrumentul prin care faceți asta:
- p < 0,05: Respingeți ipoteza nulă. Cele două grupuri sunt distribuite diferit, iar diferența este semnificativă statistic
- p ≥ 0,05: Nu aveți suficiente dovezi pentru a respinge ipoteza nulă. Asta nu înseamnă că grupurile sunt identice, ci doar că datele nu arată o diferență clară
Amintiți-vă că testul U Mann-Whitney compară distribuții. Un rezultat semnificativ vă spune că valorile dintr-un grup tind să aibă ranguri mai mari decât valorile din celălalt – nu că media este mai mare. Dacă doriți să descrieți direcția diferenței, uitați-vă la medianele fiecărui grup, nu la medii.
Testul U Mann-Whitney vs testul t
Aceste două teste rezolvă aceeași problemă (compararea a două grupuri), dar o fac diferit, iar alegerea greșită vă va afecta rezultatele.
testul t
Testul t compară mediile a două grupuri. Se bazează pe presupunerea că datele urmează o distribuție normală și, când acest lucru este adevărat, este un test potrivit.
Problema este chiar presupunerea. Dacă datele sunt asimetrice sau provin dintr-un eșantion mic în care normalitatea este greu de confirmat, rezultatele testului t pot deveni nesigure. Media este trasă de valorile extreme, iar p-value-ul reflectă asta.
Folosiți testul t când:
- Datele sunt distribuite normal
- Aveți un eșantion suficient de mare
- Lucrați cu date continue fără asimetrie puternică sau valori extreme
testul U Mann-Whitney
Testul U Mann-Whitney compară distribuții, nu medii. Pune în ranguri toate valorile din ambele grupuri și verifică dacă un grup se clasează constant mai sus decât celălalt. Pentru că lucrează cu ranguri, valorile extreme și asimetria nu denaturează rezultatul în același mod.
Când datele sunt într-adevăr distribuite normal, testul t va detecta diferențe mai fiabil. Testul U Mann-Whitney este mai flexibil, dar cedați din sensibilitate.
Folosiți testul U Mann-Whitney când:
- Datele nu sunt distribuite normal
- Lucrați cu date ordinale
- Aveți un eșantion mic și nu puteți confirma normalitatea
- Sunt prezente valori extreme și nu le puteți elimina
Iată o comparație rapidă a ambelor:

testul t comparat cu testul U Mann-Whitney
Când aveți dubii, verificați mai întâi distribuția. Dacă este cât de cât normală, alegeți testul t. Dacă nu, testul U Mann-Whitney este alegerea mai sigură.
Greșeli frecvente cu testul U Mann-Whitney
Cele mai multe greșeli legate de acest test țin de neînțelegerea a ceea ce face de fapt. Iată-le pe cele mai frecvente.
Presupunerea că compară mediile
Aceasta este cea mai comună. Testul U Mann-Whitney compară distribuții, nu medii. Un rezultat semnificativ vă spune că valorile dintr-un grup tind să aibă ranguri mai mari – nu că media este mai mare. Dacă trebuie să descrieți diferența, raportați medianele, nu mediile.
Ignorarea diferențelor de formă ale distribuțiilor
Dacă cele două grupuri au forme diferite ale distribuțiilor – unul este asimetric spre dreapta, celălalt este simetric – nu puteți interpreta rezultatul ca pe o comparație a medianelor. Testul rulează în continuare, dar rezultatul arată o diferență în distribuțiile generale, nu o deplasare a centrului. Verificați distribuțiile înainte de a trage concluzii despre mediane.
Interpretarea greșită a p-value-urilor
Un p-value sub 0,05 înseamnă că diferența este semnificativă statistic. Nu vă spune cât de mare este diferența sau dacă are relevanță practică. Un eșantion foarte mare poate produce un p-value semnificativ chiar și când diferența reală dintre grupuri este minusculă. Dacă mărimea efectului contează în analiza dumneavoastră, calculați-o separat.
Utilizarea pentru date pereche
Testul U Mann-Whitney este pentru două grupuri independente. Dacă datele sunt pereche – aceiași subiecți măsurați de două ori sau perechi potrivite – aveți nevoie în schimb de testul Wilcoxon cu ranguri semnate.
Când nu ar trebui să folosiți testul U Mann-Whitney
Testul U Mann-Whitney nu este instrumentul potrivit pentru orice situație. Iată când ar trebui să alegeți altceva.
Datele sunt pereche
Dacă aceiași subiecți apar în ambele grupuri – măsurări înainte și după sau perechi potrivite – cele două eșantioane nu sunt independente. Testul U Mann-Whitney presupune că sunt, deci utilizarea lui aici ignoră relația dintre observații și vă dă rezultate nesigure. Folosiți în schimb testul Wilcoxon cu ranguri semnate.
Aveți mai mult de două grupuri
Testul U Mann-Whitney compară doar câte două grupuri odată. Dacă comparați trei sau mai multe grupuri, folosiți testul Kruskal–Wallis, echivalentul neparametric al unei ANOVA unifactoriale, care poate gestiona mai multe grupuri.
Aveți un eșantion mare cu date normale
Principalul avantaj al testului U Mann-Whitney este că nu presupune normalitatea. Dacă datele sunt distribuite normal și eșantionul este suficient de mare pentru a confirma asta, testul t este alegerea mai bună. Are o putere statistică mai mare în această situație, ceea ce înseamnă că este mai probabil să detecteze o diferență reală atunci când există una.
Concluzie
Testul U Mann-Whitney este o soluție excelentă când datele nu sunt distribuite normal, iar testul t nu este potrivit.
Funcționează cu ranguri în loc de valori brute, evitând presupunerile care fac testele parametrice nesigure pentru date asimetrice sau din eșantioane mici. Asta îl face un test bun pentru analize din lumea reală, unde datele rareori se comportă așa cum v-ați dori.
Cea mai importantă lecție aici este selecția testului. Niciun test nu funcționează pentru fiecare set de date. Ar trebui să vă verificați întotdeauna mai întâi datele – distribuția, structura și mărimea eșantionului – și să lăsați aceste caracteristici să vă ghideze alegerea. Cel corect este cel care se potrivește datelor dumneavoastră.
Dacă sunteți la început în statistică sau doriți să aprofundați subiectul, traseul nostru Statistician în R vă va ajuta să fiți pregătit(ă) pentru job în doar 52 de ore de materiale.
Întrebări frecvente
Pentru ce este folosit testul U Mann-Whitney?
Testul U Mann-Whitney este folosit pentru a compara două grupuri independente atunci când nu puteți presupune că datele urmează o distribuție normală. Pune în ranguri toate valorile din ambele grupuri și verifică dacă un grup se clasează constant mai sus decât celălalt. Funcționează atât cu date ordinale, cât și cu date continue.
În ce fel este diferit testul U Mann-Whitney de testul t?
Testul t compară mediile a două grupuri și presupune distribuție normală. Testul U Mann-Whitney compară distribuții folosind ranguri, deci nu face acea presupunere. Când datele sunt asimetrice sau provin dintr-un eșantion mic, testul U Mann-Whitney este alegerea mai sigură.
Când ar trebui să folosesc testul U Mann-Whitney?
Folosiți-l când aveți două grupuri independente, datele sunt ordinale sau continue și nu puteți confirma normalitatea. Este, de asemenea, potrivit când mărimea eșantionului este mică și sunt prezente valori extreme. Dacă datele sunt distribuite normal și eșantionul este mare, testul t va oferi, în general, rezultate mai bune.
Ce vă spune p-value-ul într-un test U Mann-Whitney?
Un p-value sub 0,05 înseamnă că există o diferență semnificativă statistic între distribuțiile celor două grupuri. Nu vă spune cât de mare este acea diferență sau dacă este relevantă în practică. Pentru asta, ar trebui să calculați separat mărimea efectului și să priviți medianele fiecărui grup.
Pot folosi testul U Mann-Whitney pentru date pereche?
Nu. Testul U Mann-Whitney presupune că cele două grupuri sunt independente, adică valorile unui grup nu îl influențează pe celălalt. Dacă datele dumneavoastră sunt pereche – gândiți-vă la măsurători înainte și după pe aceiași subiecți – folosiți în schimb testul Wilcoxon cu ranguri semnate. Utilizarea testului U Mann-Whitney pe date pereche ignoră relația dintre observații și produce rezultate nesigure.