Отчеты о смерти t-теста были сильно преувеличены?

25

Читая CV на все времена, я натолкнулся на утверждение, которое хотел бы уточнить. Это пост, и мой вопрос относится к заключительным замечаниям: «Я должен отметить, что все знания, которые я только что передал, несколько устарели; теперь, когда у нас есть компьютеры, мы можем делать лучше, чем t-тесты. Как отмечает Фрэнк, вы Возможно, вы захотите использовать тесты Уилкоксона везде, где вас учили запускать t-тест ».

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

Итак, действительно ли т- тест ушел в прошлое? Как насчет тестов перестановки? Являются ли они слишком специальными в смысле, как правило, влечет за собой написание нескольких строк кода?

Антони Пареллада
источник
3
Что делает тест перестановки специальным ? Фишер счел t-тесты подходящими в той степени, в которой их поведение было близко к поведению теста перестановки (извините, у меня нет точной цитаты, если я ее найду, я дам ее), предположив, что он видел тест перестановки как более фундаментальный. Я также не вижу, что сложно в двухсторонних тестах на перестановку. Но, возможно, я сбиваюсь с ответа.
Glen_b
1
Возможно, что-то в пользу t-критерия равной дисперсии - это его отношение к оценке параметров в довольно простой модели, которую вы, возможно, захотите развлечь.
Scortchi - Восстановить Монику

Ответы:

22

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

Также я бы не сказал, что способность быстро выполнять тесты Уилкоксона-Манна-Уитни на больших выборках - или даже тесты перестановки - появилась недавно, я делал это обычно более 30 лет назад, будучи студентом, и способность делать это имела был доступен в течение длительного времени в тот момент.

Итак, вот несколько альтернатив, и почему они могут помочь:

  1. Welch-Satterthwaite - когда вы не уверены, что дисперсии будут близки к равным (если размеры выборок одинаковы, предположение о равной дисперсии не критично)

  2. Уилкоксон-Манн-Уитни - Отлично, если хвосты нормальные или тяжелее нормальных, особенно в случаях, близких к симметричным. Если хвосты имеют тенденцию быть близкими к нормальным, тест перестановки на средстве предложит немного больше мощности.

  3. Робастифицированные t-тесты - есть множество тестов, которые имеют хорошую мощность в нормальных условиях, но также работают хорошо (и сохраняют хорошую мощность) при более тяжелых хвостовых или несколько искаженных альтернативах.

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

  5. случайные эффекты или модели временных рядов могут быть полезны в тех случаях, когда существуют определенные формы зависимости

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

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

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

Уэлч является разумным значением по умолчанию, если распределение имеет тенденцию не отклоняться слишком далеко от нормы (с более крупными выборками, обеспечивающими большую свободу действий).

В то время как тест перестановки превосходен, без потери мощности по сравнению с t-тестом, когда его допущения верны (и полезная выгода дает прямую оценку количества интереса), Уилкоксон-Манн-Уитни, возможно, является лучшим выбором, если хвосты могут быть тяжелыми; с небольшим дополнительным допущением, 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,504, а t-критерий Уэлча-Саттертвейта имеет значение p 0,522.)

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

Адаптация этой функции к функции, которая выполняла тест на перестановку или тест на рандомизацию и давала результат, похожий на t-критерий, была бы тривиальным вопросом.

Вот отображение результатов:

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

# 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)
Glen_b - Восстановить Монику
источник
В 16 строке первого блока кода есть небольшая опечатка. Я считаю, что это должно читаться следующим образом: # pvalue = mean (abs (permmean-mean (xyv))>> abs (mean (x) -mean (xyv))). Кроме того, почему правый хвост проверяется как право = среднее (permmean> = 2 * среднее (xyv) - среднее (x))?
Антони Пареллада
Хороший ответ (+1), но я в целом не согласен с утверждением, что, как правило, мало что можно потерять, если не делать предположений, если только это не относится только к t-критерию. Немного неясно, должно ли это быть общее утверждение или нет. Для более сложных моделей и ограниченных размеров выборки допущения часто имеют решающее значение, например, в форме слабоинформативных априорных значений.
Эрик
1
@Erik Это не было задумано как общее утверждение. Позвольте мне уточнить
Glen_b
1
TT
2
@ Стефан, есть так много других соображений (и несколько сокращенный набор широко используемых альтернатив, по крайней мере, если мы посмотрим на множественную регрессию), что ответ в этом случае будет долгим и будет иметь некоторые существенные различия.
Glen_b