Pular para o conteúdo principal

Teste U de Mann-Whitney: alternativa não paramétrica ao t-test

O teste U de Mann-Whitney é um teste não paramétrico baseado em postos para comparar dois grupos independentes quando os dados não atendem à suposição de normalidade exigida pelo t-test.
Atualizado 4 de mai. de 2026  · 10 min lido

Você já rodou um t-test, recebeu um p-valor esquisito e depois descobriu que seus dados nem de longe eram normalmente distribuídos?

Isso já aconteceu com todo mundo em algum momento. O problema do t-test é que ele parte do princípio de que seus dados seguem uma distribuição normal. Quando isso não acontece, os resultados podem enganar. Dados assimétricos e amostras pequenas violam essa suposição de normalidade. E, na prática, os dados raramente se comportam como os livros sugerem.

O teste U de Mann-Whitney vem para resolver esse problema. É uma alternativa não paramétrica ao t-test que compara dois grupos com base em postos (ranks), e não em médias, então ele não depende do formato da sua distribuição.

Neste artigo, vou explicar o que é o teste U de Mann-Whitney, quando usar, como a matemática funciona e como executá-lo e interpretá-lo tanto em Python quanto em R.

Mas afinal, o que é um t-test? Se essa é sua dúvida, leia nosso post Introduction to Python T-Tests — ele vai responder todas as suas perguntas.

O que é o teste U de Mann-Whitney?

O teste U de Mann-Whitney é um teste estatístico não paramétrico usado para comparar dois grupos independentes.

Diferente do t-test, ele não supõe que seus dados sigam uma distribuição normal. Ele compara as distribuições de dois grupos convertendo valores brutos em postos e analisando esses postos. Isso o torna uma boa escolha quando seus dados são assimétricos, têm outliers ou simplesmente não atendem ao requisito de normalidade de nenhuma outra forma.

Você também pode encontrá-lo como Wilcoxon rank-sum test. Na prática, são sinônimos.

Quando usar o teste U de Mann-Whitney

O teste U de Mann-Whitney exige um conjunto específico de condições. Você só deve usá-lo quando todas se aplicarem:

  • Dois grupos independentes: As amostras não se sobrepõem e os valores de um grupo não influenciam os do outro
  • Dados ordinais ou contínuos: Por exemplo, notas de prova, tempos de resposta ou qualquer valor mensurado
  • Distribuição não normal: Seus dados são assimétricos, têm caudas pesadas ou você não consegue confirmar a normalidade com uma amostra pequena
  • Tamanhos de amostra pequenos: Quando você não tem dados suficientes para confiar no teorema central do limite

Vamos ver um exemplo.

Suponha que você tenha duas turmas ensinadas com métodos diferentes e queira saber qual teve melhores resultados nas provas. Você plota as notas e percebe que não são normalmente distribuídas — uma turma tem alguns outliers puxando a distribuição para a direita. O t-test compara as médias dos grupos, então esses outliers puxam a média para cima e fazem uma turma parecer melhor do que realmente é.

Essa média distorcida entra no cálculo do t-test, e o p-valor que você obtém não reflete a diferença entre os grupos. O teste U de Mann-Whitney não sofre com isso porque trabalha com postos em vez de notas brutas. Um único outlier só pode ser o valor com maior posto; ele não distorce o resultado como faria com a média.

Ele também é a escolha certa quando você trabalha com dados ordinais, como respostas de pesquisa em escala de 1 a 5. Esses valores não são realmente contínuos, então calcular uma média não faz muito sentido.

Fórmula do teste U de Mann-Whitney

O teste produz duas estatísticas U, uma para cada grupo. Aqui está a fórmula:

Mann-Whitney u test formula

Fórmula do teste U de Mann-Whitney

Onde:

  • n1 e n2 são os tamanhos de amostra do grupo 1 e do grupo 2

  • R1 e R2 são as somas dos postos de cada grupo — a soma de todos os postos atribuídos às observações de cada grupo

A soma dos postos é calculada combinando todos os valores dos dois grupos, ordenando do menor para o maior e atribuindo um posto a cada valor. O menor recebe o posto 1, o próximo recebe o posto 2 e assim por diante. Depois você soma separadamente os postos de cada grupo.

A estatística de teste é o menor entre U1 e U2. Em seguida, você a compara com um valor crítico ou a usa para calcular um p-valor.

A boa notícia é que você não precisa calcular isso na mão. Python e R fazem isso por você — já já eu te mostro como.

Pressupostos do teste U de Mann-Whitney

O teste U de Mann-Whitney é mais flexível que o t-test, mas ainda tem três pressupostos que você precisa respeitar:

  • Amostras independentes: Os dois grupos não influenciam um ao outro. Observações de um grupo não têm relação com as do outro
  • Dados ordinais ou contínuos: Seus dados precisam ter uma ordem natural — você consegue dizer se um valor é maior ou menor que outro
  • Formatos de distribuição semelhantes: Se você quiser interpretar o resultado como uma comparação de medianas, ambos os grupos devem ter distribuições com formato aproximadamente igual. Se os formatos forem diferentes, o teste ainda funciona, mas você está comparando postos médios, não medianas

O terceiro pressuposto é o que mais confunde as pessoas.

O teste U de Mann-Whitney costuma ser descrito como um teste de medianas, mas isso só é verdade quando as duas distribuições têm formato semelhante. Se não tiverem, o resultado diz algo mais geral — se os valores de um grupo tendem a ser maiores do que os do outro.

Teste U de Mann-Whitney em Python

O módulo scipy.stats do Python tem uma função para o teste U de Mann-Whitney. Aqui vai um exemplo simples com notas de duas turmas.

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 test in Python

Teste U de Mann-Whitney em Python

O argumento alternative="two-sided" indica que você está verificando se os dois grupos diferem em qualquer direção. Você não está assumindo de antemão que um grupo terá notas maiores que o outro. Se tivesse uma hipótese direcional, usaria "less" ou "greater".

O p-valor aqui é 0,0046, abaixo do limite padrão de 0,05. Isso significa que você pode rejeitar a hipótese nula, pois há diferença estatisticamente significativa entre as distribuições de notas das duas turmas.

A estatística U, sozinha, diz pouco sem contexto. Foque no p-valor para decidir se a diferença é estatisticamente significativa e observe os dados brutos ou as medianas para entender a direção dessa diferença.

Teste U de Mann-Whitney em R

No R, o teste U de Mann-Whitney é executado pela função wilcox.test(). Vou usar o mesmo exemplo de notas.

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 test in R

Teste U de Mann-Whitney em R

A estatística W é a mesma que a estatística U — o R apenas usa outro rótulo. A interpretação é a mesma do Python: um p-valor de 0,0029 é menor que 0,05, portanto há diferença estatisticamente significativa entre os dois grupos.

Você também pode ver um aviso sobre empates (ties) nos dados.

Isso acontece quando dois ou mais valores são idênticos entre os grupos, o que afeta a forma como os postos são atribuídos. O R lida com isso para você, mas, se houver muitos empates, vale verificar se seus dados atendem aos pressupostos do teste.

Como interpretar os resultados do teste U de Mann-Whitney

A hipótese nula do teste U de Mann-Whitney é que os dois grupos vêm da mesma distribuição — ou seja, que não há diferença entre eles. Sua tarefa é encontrar evidências contra isso.

O p-valor é o caminho para isso:

  • p < 0,05: Você rejeita a hipótese nula. As duas distribuições são diferentes, e a diferença é estatisticamente significativa
  • p ≥ 0,05: Você não tem evidência suficiente para rejeitar a hipótese nula. Isso não quer dizer que os grupos são idênticos; apenas que os dados não mostram uma diferença clara

Lembre que o teste U de Mann-Whitney compara distribuições. Um resultado significativo indica que os valores de um grupo tendem a ter postos mais altos do que os do outro — não que a média seja maior. Se quiser descrever a direção da diferença, olhe para as medianas de cada grupo, não para as médias.

Teste U de Mann-Whitney vs. t-test

Os dois testes resolvem o mesmo problema (comparar dois grupos), mas o fazem de maneiras diferentes — e escolher o teste errado impacta seus resultados.

t-test

O t-test compara as médias de dois grupos. Ele parte do pressuposto de que seus dados seguem uma distribuição normal e, quando isso é verdade, é um ótimo teste.

O problema está nessa suposição. Se seus dados são assimétricos ou vêm de uma amostra pequena em que é difícil confirmar normalidade, os resultados do t-test podem ficar pouco confiáveis. A média é puxada por valores extremos, e o p-valor reflete isso.

Use o t-test quando:

  • Seus dados são normalmente distribuídos
  • Você tem um tamanho de amostra suficientemente grande
  • Você trabalha com dados contínuos sem assimetria acentuada ou outliers

Teste U de Mann-Whitney

O teste U de Mann-Whitney compara distribuições em vez de médias. Ele ranqueia todos os valores dos dois grupos juntos e verifica se um grupo tende a ter postos consistentemente mais altos do que o outro. Como trabalha com postos, outliers e assimetria não distorcem o resultado da mesma forma.

Quando seus dados são realmente normais, o t-test detecta diferenças com mais confiabilidade. O teste U de Mann-Whitney é mais flexível, mas você perde um pouco de sensibilidade.

Use o teste U de Mann-Whitney quando:

  • Seus dados não são normalmente distribuídos
  • Você trabalha com dados ordinais
  • Você tem amostra pequena e não consegue confirmar normalidade
  • Há outliers e você não pode removê-los

Aqui vai uma comparação rápida entre os dois:

t-test compared to Mann-Whitney U test

t-test comparado ao teste U de Mann-Whitney

Na dúvida, verifique primeiro a distribuição. Se for mais ou menos normal, use o t-test. Se não for, o teste U de Mann-Whitney é a escolha mais segura.

Erros comuns com o teste U de Mann-Whitney

A maioria dos erros com esse teste acontece por não entender o que ele realmente faz. Aqui estão os que mais aparecem.

Assumir que ele compara médias

Este é o mais comum. O teste U de Mann-Whitney compara distribuições, não médias. Um resultado significativo indica que os valores de um grupo tendem a ter postos mais altos — não que a média seja maior. Se precisar descrever a diferença, reporte as medianas, não as médias.

Ignorar diferenças no formato das distribuições

Se os dois grupos têm formatos de distribuição diferentes — um é assimétrico à direita e o outro é simétrico — você não pode interpretar o resultado como uma comparação de medianas. O teste roda, mas o resultado mostra uma diferença nas distribuições como um todo, não um deslocamento do centro. Verifique suas distribuições antes de tirar conclusões sobre medianas.

Interpretar mal os p-valores

Um p-valor abaixo de 0,05 significa que a diferença é estatisticamente significativa. Ele não diz o tamanho da diferença nem se ela importa na prática. Uma amostra muito grande pode gerar p-valor significativo mesmo quando a diferença real é minúscula. Se o tamanho de efeito for relevante na sua análise, calcule-o separadamente.

Usar em dados pareados

O teste U de Mann-Whitney é para dois grupos independentes. Se seus dados são pareados — mesmas pessoas medidas duas vezes, ou pares combinados — você precisa do Wilcoxon signed-rank test.

Quando não usar o teste U de Mann-Whitney

O teste U de Mann-Whitney não é a ferramenta certa para toda situação. Veja quando escolher outra opção.

Seus dados são pareados

Se as mesmas pessoas aparecem nos dois grupos — medidas antes e depois, ou pares combinados — as duas amostras não são independentes. O teste U de Mann-Whitney supõe independência; usá-lo aqui ignora a relação entre observações e produz resultados pouco confiáveis. Use o Wilcoxon signed-rank test.

Você tem mais de dois grupos

O teste U de Mann-Whitney compara apenas dois grupos por vez. Se você está comparando três ou mais grupos, use o Kruskal-Wallis, que é o equivalente não paramétrico da ANOVA de uma via e lida com múltiplos grupos.

Você tem uma amostra grande com dados normais

A principal vantagem do teste U de Mann-Whitney é não assumir normalidade. Se seus dados são normalmente distribuídos e sua amostra é grande o suficiente para confirmar isso, o t-test é a melhor escolha. Ele tem mais poder estatístico nessa situação, ou seja, maior chance de detectar uma diferença real quando ela existe.

Conclusão

O teste U de Mann-Whitney é uma ótima solução quando seus dados não são normalmente distribuídos, então o t-test não se encaixa bem.

Ele trabalha com postos em vez de valores brutos e evita as suposições que tornam testes paramétricos pouco confiáveis em dados assimétricos ou com amostras pequenas. Isso o torna muito útil em análises do mundo real, onde os dados raramente se comportam como a gente gostaria.

A grande lição aqui é a escolha do teste. Não existe um teste único que sirva para todo conjunto de dados. Sempre examine seus dados primeiro — distribuição, estrutura e tamanho da amostra — e deixe essas características guiarem sua escolha. O teste certo é aquele que se ajusta aos seus dados.

Se você está começando em estatística ou quer se aprofundar no assunto, nossa trilha Statistician in R vai te deixar pronto para o mercado em apenas 52 horas de conteúdo.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Cientista de dados sênior baseado na Croácia. Principal redator técnico com mais de 700 artigos publicados, gerando mais de 10 milhões de visualizações. Autor do livro Automação do aprendizado de máquina com TPOT.

FAQs

Para que serve o teste U de Mann-Whitney?

O teste U de Mann-Whitney é usado para comparar dois grupos independentes quando você não pode assumir que os dados seguem uma distribuição normal. Ele ranqueia todos os valores dos dois grupos juntos e verifica se um grupo tende a ter postos consistentemente mais altos que o outro. Funciona com dados ordinais e contínuos.

Qual a diferença entre o teste U de Mann-Whitney e o t-test?

O t-test compara as médias de dois grupos e assume normalidade. O teste U de Mann-Whitney compara distribuições usando postos, então não faz essa suposição. Quando seus dados são assimétricos ou vêm de uma amostra pequena, o teste U de Mann-Whitney é a escolha mais segura.

Quando devo usar o teste U de Mann-Whitney?

Use quando você tiver dois grupos independentes, seus dados forem ordinais ou contínuos e você não conseguir confirmar a normalidade. Também é indicado quando a amostra é pequena e há outliers. Se seus dados são normalmente distribuídos e sua amostra é grande, o t-test tende a trazer resultados melhores.

O que o p-valor indica em um teste U de Mann-Whitney?

Um p-valor abaixo de 0,05 indica que há diferença estatisticamente significativa entre as distribuições dos dois grupos. Ele não informa o tamanho da diferença nem se ela é relevante na prática. Para isso, calcule separadamente o tamanho de efeito e observe as medianas de cada grupo.

Posso usar o teste U de Mann-Whitney para dados pareados?

Não. O teste U de Mann-Whitney pressupõe que os dois grupos são independentes, ou seja, os valores de um não influenciam os do outro. Se seus dados são pareados — por exemplo, medições antes e depois nas mesmas pessoas — use o Wilcoxon signed-rank test. Usar o teste U de Mann-Whitney em dados pareados ignora a relação entre as observações e produz resultados pouco confiáveis.

Tópicos

Aprenda com a DataCamp

Programa

Analista de dados em R

36 h
Desde a análise exploratória de dados com o dplyr até a visualização de dados com o ggplot2, adquira as habilidades em R necessárias para que você tenha sucesso como analista de dados!
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Teste de hipóteses facilitado

O teste de hipótese é um método estatístico usado para avaliar afirmações sobre populações com base em dados de amostra.

Tutorial

Testes T no tutorial do R: Saiba como realizar testes T

Determine se há uma diferença significativa entre as médias dos dois grupos usando t.test() no R.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Teste de qui-quadrado em planilhas

Neste tutorial, você aprenderá a realizar o teste qui-quadrado em planilhas.
Avinash Navlani's photo

Avinash Navlani

Tutorial

Como calcular o desvio padrão no Excel

Para calcular o desvio padrão no Excel, insira seus dados em um intervalo de células e use =STDEV.S() para dados amostrais ou =STDEV.P() para dados populacionais.
Arunn Thevapalan's photo

Arunn Thevapalan

Machine Learning Jobs Header

Tutorial

Como usar o Pytest para testes de unidade

Explore o que é o Pytest e para que ele é usado, comparando-o com outros métodos de teste de software.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Introdução a modelos não lineares e percepções usando o R

Descubra as complexidades dos modelos não lineares em comparação com os modelos lineares. Saiba mais sobre suas aplicações, limitações e como ajustá-las usando conjuntos de dados do mundo real.

Somil Asthana

Ver maisVer mais