Há alguns anos, eu teria assinado totalmente a resposta de @Michael Chernick.
No entanto, percebi recentemente que algumas implementações do teste t são extremamente robustas à desigualdade de variâncias. Em particular, em R, a função t.test
possui um parâmetro padrão var.equal=FALSE
, o que significa que ela não depende simplesmente de uma estimativa combinada da variação. Em vez disso, usa os graus aproximados de liberdade de Welch-Satterthwaite , que compensam as variações desiguais.
Vamos ver um exemplo.
set.seed(123)
x <- rnorm(100)
y <- rnorm(100, sd=0.00001)
# x and y have 0 mean, but very different variance.
t.test(x,y)
Welch Two Sample t-test
data: x and y
t = 0.9904, df = 99, p-value = 0.3244
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.09071549 0.27152946
sample estimates:
mean of x mean of y
9.040591e-02 -1.075468e-06
Você pode ver que R alega executar o teste t de Welch e não o teste t de Student . Aqui, o grau de liberdade é reivindicado como 99, mesmo que cada amostra tenha tamanho 100, então aqui a função testa essencialmente a primeira amostra em relação ao valor fixo 0.
Você pode verificar se essa implementação fornece valores p corretos ( ou seja, uniformes) para duas amostras com variações muito diferentes.
Agora, isso era para um teste t de duas amostras. Minha própria experiência com a ANOVA é que ela é muito mais sensível à desigualdade de variações. Nesse caso, concordo plenamente com @ Michael Chernick.