Analiza wyników testu A / B, które nie są normalnie rozłożone, przy użyciu niezależnego testu t

14

Mam zestaw wyników testu A / B (jedna grupa kontrolna, jedna grupa cech), które nie pasują do rozkładu normalnego. W rzeczywistości rozkład bardziej przypomina rozkład Landaua.

Uważam, że niezależny test t wymaga, aby próbki były co najmniej w przybliżeniu normalnie rozmieszczone, co zniechęca mnie do używania testu t jako ważnej metody badania istotności.

Ale moje pytanie brzmi: w którym momencie można powiedzieć, że test t nie jest dobrą metodą testowania istotności?

Innymi słowy, jak można określić, na ile wiarygodne są wartości p testu t, biorąc pod uwagę tylko zestaw danych?

teebszet
źródło

Odpowiedzi:

8

Dystrybucja danych nie musi być normalna, to dystrybucja próbkowania musi być prawie normalna. Jeśli twoja próbka jest wystarczająco duża, to rozkład próbkowania średnich z rozkładu Landaua powinien być prawie normalny, ze względu na centralne twierdzenie graniczne .

Oznacza to, że powinieneś być w stanie bezpiecznie korzystać z testu t ze swoimi danymi.

Przykład

Rozważmy ten przykład: załóżmy, że mamy populację o logarytmicznym rozkładzie z mu = 0 i sd = 0,5 (wygląda trochę podobnie do Landaua)

gęstość logiczna

Próbujemy więc 30 obserwacji 5000 razy z tego rozkładu za każdym razem, obliczając średnią próbki

I to dostajemy

dystrybucja próbek

Wygląda całkiem normalnie, prawda? Jeśli zwiększymy wielkość próbki, będzie to jeszcze bardziej widoczne

dystrybucja próbek

Kod 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)))
Aleksiej Grigoriew
źródło
Cześć Alexei! Wydaje się, że jesteś biegły w R, więc zastanawiam się, jeśli masz jakieś informacje na ten problem jestem obecnie zatrzymany z: stackoverflow.com/questions/25101444/... . Poza tym chętnie się z Tobą połączę (zobacz moje profile w profesjonalnych sieciach społecznościowych na stronie aleksandrblekh.com), ponieważ wydaje się, że mamy pewne wspólne zainteresowania (w tym język ojczysty :-).
Aleksandr Blekh
To świetne wytłumaczenie i jest to metoda, którą ostatecznie wykorzystałem. Lubię myśleć o tej metodzie jako o podziale całego zestawu próbek na mniejsze podpróbki i wykorzystaniu średnich (średniej z CLT) każdej podpróbki jako rozkładu zestawu danych. Dziękuję za odpowiedź!
teebszet,
1

Zasadniczo stosuje się niezależny test t lub test t dla dwóch próbek w celu sprawdzenia, czy średnie dla dwóch próbek są znacząco różne. Lub, innymi słowy, jeśli istnieje znacząca różnica między średnimi dwóch próbek.

Teraz średnimi z tych 2 próbek są dwie statystyki, które zgodnie z CLT mają rozkład normalny, pod warunkiem zapewnienia wystarczającej liczby próbek. Zauważ, że CLT działa bez względu na rozkład, z którego zbudowana jest średnia statystyka.

Zwykle można zastosować test Z, ale jeśli wariancje są szacowane na podstawie próbki (ponieważ nie jest to znane), wprowadza się dodatkową niepewność, która jest uwzględniana w rozkładzie t. Dlatego stosuje się tutaj test t dla dwóch próbek.

rapaio
źródło