Teste t de Welch

O teste t de Welch compara as médias de dois grupos independentes sem assumir que suas variâncias populacionais são iguais. É a opção padrão correta para comparações de duas amostras: ele tem desempenho quase tão bom quanto o teste t combinado quando as variâncias são iguais, e substancialmente melhor quando não são.

Hipóteses

Teste \(H_0\) \(H_1\)
Bilateral \(\mu_1 = \mu_2\) \(\mu_1 \neq \mu_2\)
Unilateral à direita \(\mu_1 = \mu_2\) \(\mu_1 > \mu_2\)
Unilateral à esquerda \(\mu_1 = \mu_2\) \(\mu_1 < \mu_2\)

Estatística do teste

Dadas duas amostras independentes com médias \(\bar{x}_1\), \(\bar{x}_2\), variâncias \(S_1^2\), \(S_2^2\), e tamanhos \(n_1\), \(n_2\):

\[t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\dfrac{S_1^2}{n_1} + \dfrac{S_2^2}{n_2}}}\]

Os graus de liberdade são dados pela aproximação de Satterthwaite:

\[gl = \frac{\left(\dfrac{S_1^2}{n_1} + \dfrac{S_2^2}{n_2}\right)^2}{\dfrac{(S_1^2/n_1)^2}{n_1-1} + \dfrac{(S_2^2/n_2)^2}{n_2-1}}\]

Esse valor geralmente não é inteiro e é arredondado para baixo. Ele é sempre menor ou igual a \(n_1 + n_2 - 2\) (os graus de liberdade combinados), o que torna Welch levemente mais conservador quando as variâncias são iguais.

Teste t de Welch vs. teste t combinado

O teste t combinado assume \(\sigma_1^2 = \sigma_2^2\) e estima a variância comum como:

\[S_p^2 = \frac{(n_1-1)S_1^2 + (n_2-1)S_2^2}{n_1+n_2-2}\]

dando \(gl = n_1+n_2-2\). Quando as variâncias são realmente iguais, o teste combinado é levemente mais poderoso. Quando diferem, o teste combinado pode ser anticonservador: ele rejeita \(H_0\) mais vezes do que deveria.

Simulação mostrando a taxa real de erro tipo I dos testes t combinado e de Welch conforme a razão de variâncias entre grupos aumenta

O teste de Welch (azul) mantém a taxa nominal de 5% de erro tipo I independentemente da razão de variâncias. O teste combinado (vermelho) sobe além de 5% assim que as variâncias diferem, chegando a mais de 10% quando a razão de variâncias é 10.

⚠️ Não use o teste F para decidir entre Welch e o teste combinado

Um fluxo de trabalho comum, mas incorreto: primeiro testar \(H_0: \sigma_1^2 = \sigma_2^2\) com o teste F e, se não rejeitado, usar o teste t combinado; se rejeitado, usar Welch. Isso é problemático por dois motivos:

  • O teste F para variâncias tem pouco poder para amostras pequenas: ele frequentemente não detecta diferenças reais de variância, levando você a usar incorretamente o teste combinado.
  • O procedimento em duas etapas distorce o nível de significância real do teste t final.

A abordagem correta: use sempre Welch como padrão. Se as variâncias forem realmente iguais, Welch perde quase nenhum poder. Se diferirem, Welch está correto e o combinado não. É por isso que t.test() no R usa var.equal = FALSE por padrão.

Exemplos

Exemplo 1: tempos de entrega por transportadora (bilateral)

Um gerente de logística compara os tempos de entrega entre duas transportadoras. Transportadora A (\(n_1 = 30\)): \(\bar{x}_1 = 2{,}8\) dias, \(S_1 = 0{,}6\) dias. Transportadora B (\(n_2 = 25\)): \(\bar{x}_2 = 3{,}2\) dias, \(S_2 = 1{,}4\) dias.

Estatística do teste:

\[t = \frac{2{,}8 - 3{,}2}{\sqrt{0{,}36/30 + 1{,}96/25}} = \frac{-0{,}4}{\sqrt{0{,}012 + 0{,}0784}} = \frac{-0{,}4}{\sqrt{0{,}0904}} = \frac{-0{,}4}{0{,}3007} \approx -1{,}330\]

gl de Satterthwaite:

\[gl = \frac{(0{,}012 + 0{,}0784)^2}{(0{,}012)^2/29 + (0{,}0784)^2/24} = \frac{0{,}008156}{0{,}00000497 + 0{,}000256} \approx 31{,}1 \to 31\]

Valor-p (bilateral): \(p = 2 \times P(T_{31} \leq -1{,}330) \approx 0{,}193\).

Decisão: \(p = 0{,}193 > 0{,}05\), não rejeitamos \(H_0\). Nenhuma diferença significativa no tempo médio de entrega entre as duas transportadoras.

Distribuição t com regiões de rejeição bilaterais e a estatística t observada para o exemplo das transportadoras

Exemplo 2: medicamento vs. placebo (unilateral à direita)

Um ensaio clínico mede a redução da pressão arterial (mmHg). Tratamento (\(n_1 = 40\)): \(\bar{x}_1 = 14{,}2\), \(S_1 = 5{,}8\). Placebo (\(n_2 = 38\)): \(\bar{x}_2 = 10{,}9\), \(S_2 = 3{,}1\).

Estatística do teste:

\[t = \frac{14{,}2 - 10{,}9}{\sqrt{33{,}64/40 + 9{,}61/38}} = \frac{3{,}3}{\sqrt{0{,}841 + 0{,}253}} = \frac{3{,}3}{\sqrt{1{,}094}} = \frac{3{,}3}{1{,}046} \approx 3{,}155\]

gl de Satterthwaite \(\approx 59\) (calculado por software).

Valor-p (unilateral à direita): \(p = P(T_{59} \geq 3{,}155) \approx 0{,}001\).

Decisão: \(p = 0{,}001 < 0{,}05\), rejeitamos \(H_0\). O medicamento produz uma redução da pressão arterial significativamente maior do que o placebo.

Distribuição t com região de rejeição à direita e a estatística t observada para o exemplo do medicamento vs. placebo

Executando o teste em R

O teste t de Welch é o padrão no R:

# Welch t-test (default, var.equal = FALSE)
t.test(x1, x2, alternative = "two.sided")
t.test(x1, x2, alternative = "greater")

# Pooled t-test (requires equal variance assumption)
t.test(x1, x2, var.equal = TRUE)

# Formula interface for data frames
t.test(value ~ group, data = df, alternative = "two.sided")

A saída inclui a estatística t, os gl de Satterthwaite, o valor-p, e um IC de 95% para \(\mu_1 - \mu_2\).

💡 Reportando o resultado

Sempre reporte a diferença de médias e seu intervalo de confiança junto com o resultado do teste. Para o Exemplo 2: “O tratamento reduziu a pressão arterial 3,3 mmHg mais do que o placebo (IC de 95%: 1,2 a 5,4 mmHg; teste t de Welch \(t_{59} = 3{,}155\), \(p = 0{,}001\)).” Isso fornece tanto a significância estatística quanto a magnitude prática do efeito.