t-тест на сильно перекошені дані


18

У мене є набір даних з десятками тисяч спостережень за даними медичних витрат. Ці дані сильно перекошені праворуч і мають багато нулів. Це виглядає так для двох груп людей (у цьому випадку два вікові групи з> 3000 одиниць у кожній):

 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 

Якщо я виконую t-тест Welch на цих даних, я отримаю результат:

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 

Я знаю, що не правильно використовувати t-тест за цими даними, оскільки його так ненормально. Однак якщо я використовую тест на перестановку для різниці засобів, я отримую майже однакове p-значення весь час (і воно наближається до більшої кількості ітерацій).

Використовуючи пакет perm в R та permTS з точним Монте-Карло

    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 

Чому статистика тесту перестановки виходить настільки близькою до значення t.test? Якщо я беру журнали даних, то я отримую t.test p-значення 0,28 і те саме за тестом перестановки. Я думав, що значення t-тесту стане більше сміттям, ніж те, що я тут отримую. Це стосується багатьох інших наборів даних, які мені подобаються, і мені цікаво, чому t-тест, здається, працює, коли він не повинен.

Моє занепокоєння тут полягає в тому, що індивідуальні витрати не є ідентичними. Є багато підгруп людей з дуже різними розподілами витрат (жінки проти чоловіків, хронічні стани тощо), які, здається, скасовують вимогу про центральну граничну теорему, або я не повинен турбуватися про те, що?


Як так трапляється, що і мінімальне значення, і медіана ваших даних дорівнює нулю?
Алекос Пападопулос

Більше половини значень дорівнює нулю, що свідчить про те, що половина людей не мала медичної допомоги в тому році.
Кріс

І чому ви вважаєте, що тест на перестановку має бути різним? (якщо обидві групи мають аналогічний не нормальний розподіл)
FairMiles

Майте на увазі, що iid - це два окремих припущення. Перший - «незалежний». Другий - «ідентично розподілений». Ви, здається, припускаєте, що спостереження не «однаково розподілені». Це не повинно впливати на відповіді, надані досі, оскільки ми все ще можемо припустити, що всі спостереження походять від однієї великої суміші розподілів. Але якщо ви вважаєте, що спостереження не є незалежними, це набагато інше і потенційно складніше питання.
zkurtz

Відповіді:


29

Ні t-тест, ні тест перестановки не мають великої сили для визначення різниці в засобах між двома такими надзвичайно перекошеними розподілами. Таким чином, вони обоє дають анодинові р-значення, що вказує зовсім не на значення. Справа не в тому, що вони, схоже, згодні; це тому, що оскільки їм важко виявити будь-яку різницю, вони просто не можуть погодитися!


Для деякої інтуїції подумайте, що може статися, якщо в одному наборі даних відбулося зміна одного значення. Припустимо, що максимум 721 700 не відбувся, наприклад, у другому наборі даних. Середня величина знизилася б приблизно на 721700/3000, що приблизно на 240. Однак різниця в засобах становить лише 4964-4536 = 438, навіть не вдвічі більша. Це говорить про те, що (хоча це не доводить), що будь-яке порівняння засобів не визнало б різницею істотною.

Ми можемо перевірити, що t-тест не застосовується. Давайте генеруємо деякі набори даних із тими ж статистичними характеристиками, що й ці. Для цього я створив суміші, в яких

  • 5/8
  • Решта даних мають лонормальний розподіл.
  • Параметри цього розподілу розташовані так, щоб відтворювати спостережувані засоби та треті чверті.

У цих моделюваннях виявляється, що максимальні значення також не далеко від звітних максимумів.

Давайте повторимо перший набір даних 10 000 разів і відстежимо його середнє значення. (Результати будуть майже однаковими, коли ми це робимо для другого набору даних.) Гістограма цих засобів оцінює розподіл вибірки середнього значення. T-тест дійсний, коли цей розподіл приблизно нормальний; те, наскільки воно відхиляється від нормальності, вказує на ступінь помилки розподілу Стьюдента. Отже, для довідки я також намалював (червоним кольором) PDF-розподілу Normal, що відповідає цим результатам.

Гістограма 1

Ми не можемо побачити багато деталей, тому що є колосальні великі люди. (Це прояв цієї чутливості засобів, про які я згадував.) Їх 123 - 1,23% - вище 10 000. Давайте зосередимось на решті, щоб ми могли побачити деталі і тому, що ці видатки можуть бути результатом передбачуваної логічності розподілу, що не обов'язково стосується початкового набору даних.

Гістограма 2

(3000/428)2=50


Ось Rкод, який дав ці цифри.

#
# 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
Як приклад досить нерівномірний набору даних , де Т-тест , проте це може бути застосовано (через велику кількість даних), будь ласка , см stats.stackexchange.com/questions/110418 / ... . Ці два випадки разом показують, що відповіді на запитання не існує. Ви повинні враховувати як розподіл даних, так і кількість даних, вирішуючи, чи буде тест значущим та точним.
whuber

3
Я прихилявся до цього питання, сподіваючись, що зможете його знову знайти, стикаючись з людьми, які вважають, що n = 30 або n = 300 достатньо, щоб просто йти вперед і припускати, що вибіркові засоби зазвичай розподіляються (і так далі). У мене є хороші імітовані приклади, але приємно показати, що це також проблема з реальними даними.
Glen_b -Встановити Моніку

1
+1, але мені цікаво, якою була б ваша практична рекомендація у такій ситуації. Чи слід намагатися використовувати тест на перестановку на основі якоїсь іншої статистики замість середнього (можливо, якогось високого кількісного)? Чи варто спробувати застосувати певну трансформацію перед тим, як запустити стандартні тести на засоби? Або варто скоріше відмовитись від будь-якої надії виявити значну різницю між двома зразками?
амеба каже: Відновити Моніку

@amoeba Якщо проблема полягає в тому, щоб перевірити відмінності в засобах, то тест на перестановку не допоможе: ви не збираєтеся знайти тут суттєву різницю. Якщо ви перевіряєте якусь іншу статистику, то ви не тестуєте середнє значення (що особливо актуально для даних про витрати!), Тож чи можна це рекомендувати, залежить від цілей.
whuber

4

Коли n великий (як 300, навіть набагато менше 3000), t-тест по суті такий же, як z-тест. Тобто t-тест стає не що інше, як застосування центральної граничної теореми, яка говорить про те, що значення MEAN для кожної з ваших двох груп майже рівномірно розподілено (навіть якщо спостереження, що лежать в основі цих двох засобів, дуже далеко не нормально поширюється!). Це також причина того, що ваша типова таблиця t не намагається показувати значення n більше 1000 (наприклад, ця t-таблиця) . Таким чином, я не здивований, побачивши, що ви отримуєте такі добре сприйняті результати.

Редагувати: Я, здається, недооцінив крайність косості та її важливість. Хоча мій пункт вище заслуговує в менш екстремальних обставинах, відповідь Ваубера на це питання в цілому набагато краща.


2
Коли косоокість є надзвичайною - як свідчить наведена статистика - ми не маємо впевненості, що розподіл вибірки середнього рівня 300 або навіть 3000 проб буде десь поблизу від Нормального. Ось чому ОП дивується. Ви протидієте цьому, кажучи, що ви не здивовані, але це, здається, зводиться до інтуїції однієї людини порівняно з іншою. Який об’єктивний аргумент ви можете надати для цих даних, демонструючи, що 300 (або 3000) є достатньо великою вибіркою, щоб t-тест працював добре?
whuber

Чудова точка. Я визнаю, якщо дані є досить перекошеними, мій аргумент не вдається. Тож питання до мене полягає в тому, наскільки перекошені дані, і чи є там офіційний результат, що стосується перекосу з необхідним розміром вибірки.
zkurtz

1
Я опублікував відповідь на це питання. Ми знаємо (принаймні приблизно) про те, як перекошені дані базуються на підсумковій статистиці у питанні. Цей перекіс настільки сильний, що ані 300, ані 3000, ані навіть 30 000 спостережень на групу не зроблять розподіл вибірки середнім «майже абсолютно нормальним». Ймовірно, вам потрібно близько 300 000 або близько того, перш ніж ця претензія стане правдоподібною. Таким чином, ми повинні шукати різного пояснення, чому два тести згодні. Моє те, що жодне з них не є «добре поводиться», а не те, що обидва добре поводяться.
whuber

0

Я знаю, що ця відповідь пізно. Однак я отримую науковий ступінь доктора медичних досліджень, тому багато працюю з даними про охорону здоров'я, включаючи дані про витрати.

Я не знаю, які дані мала ОП. Якщо це були дані поперечного перерізу, то ймовірно, що це було виправдано IID. Незалежність означає, що кожна одиниця, тому кожна людина, є незалежною. Це дуже ймовірно виправдано. Що стосується ідентично розподілених, то дані можуть моделюватися як усі, що надходять, скажімо, з гамма-розподілу в узагальненій лінійній моделі з посиланням на журнал. Це те, що люди зазвичай роблять на практиці. Або якщо ви хочете пофантазувати, напевно, існують моделі перешкод (популярні в економетрії), які стосуються надлишків 0. Які, до речі, досить поширені у витратах на охорону здоров'я. ОП технічно вірно, що дані не обов'язково однаково розподіляються, наприклад, середня величина та дисперсія будуть змінюватися з віком, але це припустиме припущення для моделей з декількома регресіями.

Якби кожна людина знаходилася в наборі даних більше одного року, дані не були б IID. Для цього є більш складні моделі. Відносно простим із них, ймовірно, було б узагальнене оцінювання рівнянь, гамма-розподіл та логічне посилання знову, припускаючи обмінну робочу кореляцію. Або, якщо ці дані є загальнодоступними даними опитувань, НЕ РІВНЯТЬ імовірність їх вибірки - багато з цих опитувань опитують декількох людей у ​​кожному домогосподарстві, і вони також розшаровують чисельність населення та переглядають деякі групи (наприклад, расові меншини). Користувачеві доведеться виправити це.

Я не використовую t-тести, особливо не для спостережливих даних. Занадто багато плутанини, тому ви хочете скоригувати їх у (узагальненій) лінійній моделі. Отже, я не можу коментувати питання, пов'язані конкретно з t-тестами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.