Чи були сильно перебільшеними повідомлення про смерть t-тесту?


25

Читаючи резюме класики постійного часу, я натрапив на твердження, яке хотів би уточнити. Це повідомлення, і моє запитання стосується заключного зауваження: "Я маю зазначити, що всі знання, які я тільки що передав, дещо застаріли; тепер, коли у нас є комп’ютери, ми можемо робити краще, ніж t-тести. Як зазначає Франк, ви Можливо, ви хочете використовувати тести Вілкоксона там, де вас навчали проводити t-тест ".

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

Отже, є справді т- тест - це минуле? А як щодо тестів на перестановку? Чи занадто вони ad hoc в сенсі, як правило, тягнуть за собою написання кількох рядків коду?


3
Що робить тест перестановки спеціальним ? Фішер вважав t-тести відповідними, наскільки їх поведінка була близькою до тесту перестановки (вибачте, я не маю точної цитати, якщо я вважаю, що я дам її), припускаючи, що він побачив пермутаційний тест як більш фундаментальний. Я також не бачу, що складно з двосхилими тестами на перестановку. Але, можливо, я відбиваюсь від своєрідної відповіді.
Glen_b -Встановіть Моніку

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

Відповіді:


22

Я б не сказав, що класичні зразки (включаючи парні) та двопробові рівні дисперсії з рівними дисперсіями є абсолютно застарілими, але існує безліч альтернатив, які мають чудові властивості, і в багатьох випадках їх слід використовувати.

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

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

Ось кілька варіантів, і чому вони можуть допомогти:

  1. Welch-Satterthwaite - коли ви не впевнені, відхилення будуть близькими до рівних (якщо розміри вибірки однакові, припущення про рівну дисперсію не є критичним)

  2. Wilcoxon-Mann-Whitney - Відмінний, якщо хвости нормальні або важчі за норму, особливо у випадках, близьких до симетричних. Якщо хвости, як правило, близькі до нормальних, тест на перестановку на засобі запропонує трохи більше потужності.

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

  4. GLM - корисні, наприклад, для підрахунку чи безперервного прямого перекосу (наприклад, гамма); призначений для вирішення ситуацій, коли дисперсія пов'язана зі значенням.

  5. випадкові ефекти або моделі часових рядів можуть бути корисні у випадках, коли існують особливі форми залежності

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

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

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

Welch - це розумний дефолт, якщо розподіл прагне не відходити занадто далеко від нормального (більші зразки дозволяють отримати більше простору).

Хоча тест на перестановку є відмінним, не втрачаючи потужності порівняно з t-тестом, коли його припущення мають місце (і корисна користь від висновку безпосередньо про кількість, що цікавить), Wilcoxon-Mann-Whitney, безумовно, кращий вибір, якщо хвости можуть бути важкими; з незначним додатковим припущенням, WMW може дати висновки, що стосуються середнього зсуву. (Є й інші причини, які можна віддати перевагу тесту перестановки)

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

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

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

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


# set up some data
x <- c(53.4, 59.0, 40.4, 51.9, 43.8, 43.0, 57.6)
y <- c(49.1, 57.9, 74.8, 46.8, 48.8, 43.7)
xyv <- stack(list(x=x,y=y))$values
nx  <- length(x)

# do sample-x mean for all combinations for permutation test
permmean = combn(xyv,nx,mean)

# do the equivalent resampling for a randomization test
randmean <- replicate(100000,mean(sample(xyv,nx)))

# find p-value for permutation test
left  = mean(permmean<=mean(x))
# for the other tail, "at least as extreme" being as far above as the sample
# was below
right = mean(permmean>=(mean(xyv)*2-mean(x)))
pvalue_perm = left+right
"Permutation test p-value"; pvalue_perm

# this is easier: 
#      pvalue = mean(abs(permmean-mean(xyv))>=abs(mean(x)-mean(xyv))) 
# but I'd keep left and right above for adapting to other tests

# find p-value for randomization test
left  = mean(randmean<=mean(x))
right = mean(randmean>=(mean(xyv)*2-mean(x)))
pvalue_rand = left+right
"Randomization test p-value"; pvalue_rand

(Отримані значення p складають відповідно 0,538 та 0,539; відповідне звичайне двома зразками t-тесту має p-значення 0,550, а t-тест Welch-Satterthwaite має p-значення 0,522.)

Зауважте, що код для обчислень - у кожному випадку 1 рядок для комбінацій тесту перестановки, а значення p також може бути виконане в 1 рядку.

Пристосування цього до функції, яка проводила тест на перестановку або тест на рандомізацію та дала вихід, а не як тест на тест, була б дрібницею.

Ось показ результатів:

введіть тут опис зображення

# Draw a display to show distn & p-vale region for both 
opar <- par()
par(mfrow=c(2,1))
hist(permmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)
hist(randmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)

par(opar)

У 16 рядку першого блоку коду є невелика друкарська помилка. Я вважаю, що він повинен читати: # pvalue = mean (abs (permmean-mean (xyv))> = abs (mean (x) -mean (xyv))). Крім того, чому правильний хвіст перевіряється як right = mean (permmean> = 2 * mean (xyv) - mean (x))?
Антоні Пареллада

Хороша відповідь (+1), але я, як правило, не згоден із твердженням, що зазвичай втратити мало, не роблячи припущень, якщо це не стосується лише t-тесту. Трохи незрозуміло, чи це повинна бути загальна заява чи ні. Для більш складних моделей та обмеженого розміру вибірки припущення часто мають вирішальне значення, наприклад у вигляді слабоінформативних пріорів.
Ерік

1
@Erik Це не задумано як загальне твердження. Дозвольте уточнити
Glen_b -Встановіть Моніку

1
тт

2
@Stephan є так багато інших міркувань (і дещо скорочений набір широко використовуваних альтернатив, принаймні, якщо ми подивимось на множину регресії), що відповідь у цьому випадку буде довгим і матиме суттєві відмінності.
Glen_b -Встановіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.