Analisando resultados do teste A / B que normalmente não são distribuídos, usando o teste t independente

13

Eu tenho um conjunto de resultados de um teste A / B (um grupo de controle, um grupo de recursos) que não se encaixam em uma distribuição normal. De fato, a distribuição se assemelha mais à Distribuição Landau.

Acredito que o teste t independente exige que as amostras sejam distribuídas pelo menos aproximadamente aproximadamente normalmente, o que me desencoraja a usar o teste t como um método válido de teste de significância.

Mas minha pergunta é: em que momento se pode dizer que o teste t não é um bom método de teste de significância?

Ou, em outras palavras, como se pode qualificar a confiabilidade dos valores-p de um teste t, considerando apenas o conjunto de dados?

teebszet
fonte

Respostas:

8

A distribuição dos seus dados não precisa ser normal; é a distribuição de amostras que deve ser quase normal. Se o tamanho da sua amostra for grande o suficiente, a distribuição amostral das médias da Distribuição Landau deve ser quase normal, devido ao Teorema do Limite Central .

Portanto, significa que você deve poder usar com segurança o teste t com seus dados.

Exemplo

Vamos considerar este exemplo: suponha que tenhamos uma população com distribuição Lognormal com mu = 0 e sd = 0,5 (parece um pouco com Landau)

densidade lognormal

Amostramos 30 observações 5000 vezes dessa distribuição, calculando a média da amostra

E é isso que obtemos

distribuição de amostras

Parece bastante normal, não é? Se aumentarmos o tamanho da amostra, fica ainda mais aparente

distribuição de amostras

Código R

x = seq(0, 4, 0.05)
y = dlnorm(x, mean=0, sd=0.5)
plot(x, y, type='l', bty='n')


n = 30
m = 1000

set.seed(0)
samp = rep(NA, m)

for (i in 1:m) {
  samp[i] = mean(rlnorm(n, mean=0, sd=0.5))
}

hist(samp, col='orange', probability=T, breaks=25, main='sample size = 30')
x = seq(0.5, 1.5, 0.01)
lines(x, dnorm(x, mean=mean(samp), sd=sd(samp)))


n = 300
samp = rep(NA, m)

for (i in 1:m) {
  samp[i] = mean(rlnorm(n, mean=0, sd=0.5))
}

hist(samp, col='orange', probability=T, breaks=25, main='sample size = 300')
x = seq(1, 1.25, 0.005)
lines(x, dnorm(x, mean=mean(samp), sd=sd(samp)))
Alexey Grigorev
fonte
Oi Alexei! Parece que você é proficiente em R, então eu estou pensando, se você tem algum conselho sobre o problema com o qual estou atualmente preso: stackoverflow.com/questions/25101444/… . Além disso, ficaria feliz em me conectar com você (consulte aleksandrblekh.com para obter meus perfis em redes sociais profissionais), pois parece que temos alguns interesses em comum (incluindo o idioma nativo :-).
Aleksandr Blekh
Essa é uma ótima explicação e, de fato, é o método que acabei usando. Eu gosto de pensar nesse método como dividir todo o conjunto de amostras em subamostras menores e usar as médias (média com CLT) de cada subamostra como a distribuição do conjunto de dados. Obrigado pela resposta!
teebszet
1

Basicamente, um teste t independente ou um teste t de 2 amostras são usados ​​para verificar se as médias das duas amostras são significativamente diferentes. Ou, em outras palavras, se houver uma diferença significativa entre as médias das duas amostras.

Agora, as médias dessas 2 amostras são duas estatísticas, que de acordo com o CLT, têm uma distribuição normal, se forem fornecidas amostras suficientes. Observe que o CLT funciona independentemente da distribuição a partir da qual a estatística média é criada.

Normalmente, pode-se usar um teste z, mas se as variações são estimadas a partir da amostra (porque é desconhecida), é introduzida alguma incerteza adicional, que é incorporada na distribuição t. É por isso que o teste t de 2 amostras se aplica aqui.

rapaio
fonte