Я б не сказав, що класичні зразки (включаючи парні) та двопробові рівні дисперсії з рівними дисперсіями є абсолютно застарілими, але існує безліч альтернатив, які мають чудові властивості, і в багатьох випадках їх слід використовувати.
Також я б не сказав, що здатність швидко виконувати тести Вілкоксона-Манна-Вітні на великих зразках - або навіть тести на перестановку - останнім часом, я робив обидва, як звичайно, більше 30 років тому, будучи студентом, і можливості для цього були були доступні давно в той момент.
Хоча кодувати перестановочний тест - навіть з нуля - набагато простіше, ніж це було колись †† , але це було не складно навіть тоді (якщо у вас був код зробити це один раз, модифікації, щоб зробити це за різних обставин - різні статистичні дані, різні Дані тощо - були нехитрими, як правило, не потребували досвіду програмування).
Ось кілька варіантів, і чому вони можуть допомогти:
Welch-Satterthwaite - коли ви не впевнені, відхилення будуть близькими до рівних (якщо розміри вибірки однакові, припущення про рівну дисперсію не є критичним)
Wilcoxon-Mann-Whitney - Відмінний, якщо хвости нормальні або важчі за норму, особливо у випадках, близьких до симетричних. Якщо хвости, як правило, близькі до нормальних, тест на перестановку на засобі запропонує трохи більше потужності.
надійні t-тести - є безліч таких, які мають хорошу потужність у нормі, але також добре працюють (і зберігають хорошу потужність) за більш важких або дещо перекручених альтернатив.
GLM - корисні, наприклад, для підрахунку чи безперервного прямого перекосу (наприклад, гамма); призначений для вирішення ситуацій, коли дисперсія пов'язана зі значенням.
випадкові ефекти або моделі часових рядів можуть бути корисні у випадках, коли існують особливі форми залежності
Байєсівські підходи , завантаження та безліч інших важливих методик, які можуть запропонувати аналогічні переваги вищезазначеним ідеям. Наприклад, при байєсівському підході цілком можливо створити модель, яка може враховувати процес забруднення, мати справу з підрахунками чи перекошеними даними та обробляти певні форми залежності, одночасно .
Незважаючи на те, що існує безліч зручних альтернатив, старий стандартний рівний дисперсійний тест з двома зразками може часто справлятись у великих зразках однакового розміру до тих пір, поки популяція не дуже далека від норми (наприклад, дуже важкий хвіст / косий) і ми маємо майже незалежність.
Альтернативи корисні в безлічі ситуацій, коли ми можемо не бути настільки впевненими в простому 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)