test t na mocno wypaczonych danych


18

Mam zestaw danych z dziesiątkami tysięcy obserwacji danych o kosztach medycznych. Te dane są mocno przekrzywione w prawo i mają dużo zer. Wygląda to tak dla dwóch grup osób (w tym przypadku dwa przedziały wiekowe z> 3000 obs każda):

 Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4536.0    302.6 395300.0 
Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 0.0      0.0      0.0   4964.0    423.8 721700.0 

Jeśli wykonam test t Welch dla tych danych, otrzymam wynik:

Welch Two Sample t-test

data:  x and y
t = -0.4777, df = 3366.488, p-value = 0.6329
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2185.896  1329.358
sample estimates:
mean of x mean of y 
 4536.186  4964.455 

Wiem, że nie jest poprawne stosowanie testu t na tych danych, ponieważ jest tak bardzo nienormalne. Jeśli jednak użyję testu permutacji dla różnicy średnich, cały czas otrzymuję prawie taką samą wartość p (i zbliża się to z większą liczbą iteracji).

Używanie pakietu perm w R i permTS z dokładnym Monte Carlo

    Exact Permutation Test Estimated by Monte Carlo

data:  x and y
p-value = 0.6188
alternative hypothesis: true mean x - mean y is not equal to 0
sample estimates:
mean x - mean y 
      -428.2691 

p-value estimated from 500 Monte Carlo replications
99 percent confidence interval on p-value:
 0.5117552 0.7277040 

Dlaczego statystyki testu permutacji wychodzą tak blisko wartości t.test? Jeśli wezmę dzienniki danych, otrzymam wartość t. Testu p 0,28 i taką samą z testu permutacji. Myślałem, że wartości testu t byłyby bardziej śmieciami niż to, co tu otrzymuję. Dotyczy to wielu innych zestawów danych, które mi się podobają i zastanawiam się, dlaczego test t wydaje się działać, gdy nie powinien.

Obawiam się tutaj, że poszczególne koszty nie są ważne. Istnieje wiele podgrup ludzi o bardzo różnych rozkładach kosztów (kobiety vs. mężczyźni, choroby przewlekłe itp.), Które wydają się unieważniać wymóg dotyczący centralnego twierdzenia o limicie, lub nie powinienem się martwić o tym?


Jak to się dzieje, że zarówno minimalna wartość, jak i mediana danych wynoszą zero?
Alecos Papadopoulos

Ponad połowa wartości wynosi zero, co wskazuje, że połowa ludzi nie miała opieki medycznej w tym roku.
Chris

I dlaczego uważasz, że test permutacji powinien być inny? (jeśli obie grupy mają podobnie nienormalny rozkład)
FairMiles,

Pamiętaj, że iid to dwa osobne założenia. Pierwszy jest „niezależny”. Drugi jest „identycznie rozłożony”. Wydaje się, że sugerujesz, że obserwacje nie są „identycznie rozmieszczone”. Nie powinno to wpłynąć na dotychczasowe odpowiedzi, ponieważ nadal możemy założyć, że wszystkie obserwacje pochodzą z jednej wielkiej mieszanki rozkładów. Ale jeśli uważasz, że obserwacje nie są niezależne, jest to znacznie inna i potencjalnie trudniejsza kwestia.
zkurtz

Odpowiedzi:


29

Ani test t, ani test permutacji nie mają dużej mocy, aby zidentyfikować różnicę średnich między dwoma tak wyjątkowo wypaczonymi rozkładami. Zatem oba dają wartości p dla anodyny wskazujące na brak znaczenia. Nie chodzi o to, że wydaje się, że się zgadzają; to dlatego, że mają trudności z wykryciem jakiejkolwiek różnicy, po prostu nie mogą się nie zgodzić!


Dla pewnej intuicji zastanów się, co by się stało, gdyby zmiana jednej wartości wystąpiła w jednym zestawie danych. Załóżmy, że w drugim zestawie danych nie wystąpiło maksimum 721,700. Średnia spadłaby o około 721700/3000, co stanowi około 240. Jednak różnica w średnich wynosi tylko 4964–4536 = 438, a nie nawet dwa razy większa. Sugeruje to (choć nie dowodzi), że jakiekolwiek porównanie średnich nie uznałoby różnicy za znaczącą.

Możemy jednak zweryfikować, że test t nie ma zastosowania. Wygenerujmy niektóre zestawy danych o takich samych cechach statystycznych jak te. Aby to zrobić, stworzyłem mieszanki, w których

  • 5/8
  • Pozostałe dane mają logarytmiczny rozkład.
  • Parametry tego rozkładu są ustawione tak, aby odtworzyć obserwowane średnie i trzecie kwartyle.

W tych symulacjach okazuje się, że maksymalne wartości również nie są dalekie od zgłaszanych maksimów.

Powtórzmy pierwszy zestaw danych 10 000 razy i śledźmy jego średnią. (Wyniki będą prawie takie same, gdy zrobimy to dla drugiego zestawu danych.) Histogram tych średnich szacuje rozkład próbkowania średniej. Test t jest ważny, gdy rozkład ten jest w przybliżeniu normalny; stopień, w jakim odbiega ona od Normalności, wskazuje stopień, w jakim rozkład t Studenta będzie błędny. Dla porównania narysowałem (na czerwono) plik PDF rozkładu normalnego, który pasuje do tych wyników.

Histogram 1

Nie widzimy wielu szczegółów, ponieważ istnieją ogromne, odstające wartości. (Jest to przejaw wrażliwości wspomnianych środków.) Jest ich 123 - 1,23% - powyżej 10.000. Skoncentrujmy się na pozostałych, abyśmy mogli zobaczyć szczegóły i ponieważ te wartości odstające mogą wynikać z założonej logarytmiczności rozkładu, co niekoniecznie ma miejsce w przypadku oryginalnego zestawu danych.

Histogram 2

Jest to nadal mocno wypaczone i wyraźnie odbiega od normalnego przybliżenia, zapewniając wystarczające wyjaśnienie zjawisk opisanych w pytaniu. Daje nam to również poczucie, jak duża różnica środków może zostać wykryta w teście: musiałby wynosić około 3000 lub więcej, aby wyglądać na znaczące. I odwrotnie, rzeczywista różnica 428 może zostać wykryta, pod warunkiem, że masz w przybliżeniu(3000/428)2)=50


Oto Rkod, który wytworzył te liczby.

#
# Generate positive random values with a median of 0, given Q3,
# and given mean. Make a proportion 1-e of them true zeros.
#
rskew <- function(n, x.mean, x.q3, e=3/8) {
  beta <- qnorm(1 - (1/4)/e)
  gamma <- 2*(log(x.q3) - log(x.mean/e))
  sigma <- sqrt(beta^2 - gamma) + beta
  mu <- log(x.mean/e) - sigma^2/2
  m <- floor(n * e)
  c(exp(rnorm(m, mu, sigma)), rep(0, n-m))
}
#
# See how closely the summary statistics are reproduced.
# (The quartiles will be close; the maxima not too far off;
# the means may differ a lot, though.)
#
set.seed(23)
x <- rskew(3300, 4536, 302.6)
y <- rskew(3400, 4964, 423.8)
summary(x)
summary(y)
#
# Estimate the sampling distribution of the mean.
#
set.seed(17)
sim.x <- replicate(10^4, mean(rskew(3367, 4536, 302.6)))
hist(sim.x, freq=FALSE, ylim=c(0, dnorm(0, sd=sd(sim.x))))
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
hist(sim.x[sim.x < 10000], xlab="x", freq=FALSE)
curve(dnorm(x, mean(sim.x), sd(sim.x)), add=TRUE, col="Red")
#
# Can a t-test detect a difference with more data?
#
set.seed(23)
n.factor <- 50
z <- replicate(10^3, {
  x <- rskew(3300*n.factor, 4536, 302.6)
  y <- rskew(3400*n.factor, 4964, 423.8)
  t.test(x,y)$p.value
})
hist(z)
mean(z < .05) # The estimated power at a 5% significance level

1
Przykład bardzo wypaczonego zestawu danych, w którym test t ma jednak zastosowanie (z powodu dużej ilości danych), zobacz stats.stackexchange.com/questions/110418/… . Te dwa przypadki razem pokazują, że nie ma jednoznacznej odpowiedzi na pytanie: musisz wziąć pod uwagę zarówno rozkład danych, jak i ilość danych przy podejmowaniu decyzji, czy test t będzie sensowny i dokładny.
whuber

3
Opowiedziałem się za tym pytaniem w nadziei, że uda mi się go znaleźć ponownie w obliczu ludzi, którzy uważają, że n = 30 lub n = 300 wystarczy, aby po prostu iść dalej i założyć, że średnie próbki są normalnie rozłożone (i tak dalej). Mam dobre symulowane przykłady, ale fajnie jest pokazać, że jest to problem również z prawdziwymi danymi.
Glen_b

1
+1, ale zastanawiam się, jakie byłoby twoje praktyczne zalecenie w takiej sytuacji. Czy należy próbować zastosować test permutacji oparty na innej statystyce zamiast średniej (być może wysokiej kwantylu)? Czy przed uruchomieniem standardowych testów środków należy spróbować zastosować transformację? A może raczej należy porzucić nadzieję na wykrycie znaczącej różnicy między dwiema próbkami?
ameba mówi Przywróć Monikę

@amoeba Jeśli chodzi o sprawdzenie różnic w środkach, test permutacji nie pomoże: nie znajdziesz tutaj znaczącej różnicy. Jeśli testujesz jakąś inną statystykę, to nie testujesz średniej (która jest szczególnie istotna dla danych o kosztach!), Więc to, czy można to zalecić, zależy od celów.
whuber

4

Gdy n jest duże (jak 300, nawet znacznie mniej niż 3000), test t jest zasadniczo taki sam jak test z. Oznacza to, że test t staje się niczym więcej niż zastosowaniem centralnego twierdzenia granicznego, które mówi, że MEAN dla każdej z dwóch grup jest prawie dokładnie normalnie rozłożony (nawet jeśli obserwacje leżące u podstaw tych dwóch środków są bardzo dalekie od normalności Rozpowszechniane!). Jest to również powód, dla którego typowa tabela t nie zadaje sobie trudu, aby wyświetlić wartości n większe niż 1000 (na przykład ta tabela t) . Dlatego nie jestem zaskoczony, że otrzymujesz tak dobrze wychowane wyniki.

Edycja: Wydaje mi się, że nie doceniłem końca skosu i jego znaczenia. Chociaż mój punkt powyżej ma sens w mniej ekstremalnych okolicznościach, Whubera na pytanie jest ogólnie znacznie lepsza.


2
Kiedy skośność jest ekstremalna - jak wskazują cytowane statystyki - nie mamy żadnej pewności, że rozkład próbkowania średniej z 300, a nawet 3000 próbek będzie w pobliżu Normalnego. Że dlatego PO jest zaskoczony. Przeciwdziałasz temu, mówiąc, że nie jesteś zaskoczony, ale wydaje się, że sprowadza się to do intuicji jednej osoby w porównaniu z intuicją innej osoby. Jaki obiektywny argument możesz podać dla tych danych, pokazując, że 300 (lub 3000) to wystarczająco duża próbka, aby test t działał dobrze?
whuber

Świetny punkt Przyznaję, że jeśli dane są wystarczająco wypaczone, mój argument się nie powiedzie. Pytanie więc brzmi: dokładnie, jak wypaczone są dane, i czy istnieje formalny wynik odnoszący się do wypaczenia do wymaganej wielkości próbki.
zkurtz

1
Odpowiedziałem na to pytanie. Wiemy (przynajmniej w przybliżeniu), jak wypaczone są dane na podstawie statystyk podsumowujących w pytaniu. To przekrzywienie jest tak silne, że ani 300, ani 3000, ani nawet 30 000 obserwacji na grupę nie sprawi, że rozkład próbkowania średniej będzie „prawie dokładnie normalny”. Prawdopodobnie potrzebujesz około 300 000, zanim roszczenie stanie się prawdopodobne. Dlatego musimy szukać innego wyjaśnienia, dlaczego oba testy są zgodne. Moje jest to, że żadne z nich nie jest „dobrze wychowane”, a nie, że oba są dobrze wychowane.
Whuber

0

Wiem, że ta odpowiedź jest spóźniona. Otrzymuję jednak tytuł doktora w dziedzinie badań usług zdrowotnych, więc dużo pracuję z danymi dotyczącymi opieki zdrowotnej, w tym danymi dotyczącymi kosztów.

Nie wiem, jakie dane miał OP. Gdyby były to dane przekrojowe, prawdopodobnie są to uzasadnione IID. Niezależność oznacza, że ​​każda jednostka, a więc każda osoba, jest niezależna. Jest to bardzo prawdopodobne, że jest uzasadnione. Jeśli chodzi o identyczny rozkład, dane można modelować jako wszystkie pochodzące, powiedzmy, z rozkładu gamma w uogólnionym modelu liniowym z łączem logarytmicznym. Tak często robią ludzie w praktyce. Lub jeśli chcesz się zachwycić, prawdopodobnie istnieją modele przeszkód (popularne w ekonometrii), które radzą sobie z nadmiarem zer. Które, nawiasem mówiąc, są dość powszechne w wydatkach na opiekę zdrowotną. OP jest technicznie poprawny, że dane niekoniecznie są identycznie rozmieszczone, np. Średnia i wariancja będą się zmieniać wraz z wiekiem, ale jest to wykonalne założenie w modelach regresji wielokrotnej.

Gdyby każda osoba znajdowała się w zbiorze danych przez ponad rok, dane nie byłyby IID. Dostępne są do tego bardziej złożone modele. Stosunkowo prosty jeden z nich prawdopodobnie uogólniałby, szacując równania, rozkład gamma i logarytm ponownie, zakładając wymienną korelację roboczą. Lub, jeśli dane te pochodzą z publicznie dostępnych danych ankietowych, NIE ma jednakowego prawdopodobieństwa pobrania próbki - wiele z tych ankiet przeprowadza wywiady z wieloma osobami w każdym gospodarstwie domowym, a także stratyfikują one populację i przesiewają niektóre grupy (np. Mniejszości rasowe). Użytkownik musiałby to poprawić.

Nie używam testów t, szczególnie nie do danych obserwacyjnych. Istnieje zbyt wiele czynników zakłócających, dlatego warto je dostosować w (uogólnionym) modelu liniowym. Nie mogę więc komentować pytań związanych konkretnie z testami t.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.