Руководство по использованию апостериорных тестов с ANOVA


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

Гипотезы , используемые в ANOVA, следующие:

Нулевая гипотеза (H 0 ): µ 1 = µ 2 = µ 3 = … = µ k (средние значения равны для каждой группы)

Альтернативная гипотеза: (Ha): по крайней мере одно из средств отличается от других

Если p-значение из ANOVA меньше уровня значимости, мы можем отклонить нулевую гипотезу и сделать вывод, что у нас есть достаточно доказательств, чтобы сказать, что по крайней мере одно из средних групп отличается от других.

Однако это не говорит нам, какие группы отличаются друг от друга. Это просто говорит нам, что не все средние группы равны.

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

Техническое примечание: важно отметить, что нам нужно проводить апостериорный тест только тогда, когда p-значение для ANOVA является статистически значимым. Если p-значение не является статистически значимым, это указывает на то, что средние значения для всех групп не отличаются друг от друга, поэтому нет необходимости проводить апостериорный тест, чтобы выяснить, какие группы отличаются друг от друга.

Семейная частота ошибок

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

В проверке гипотез всегда существует частота ошибок первого рода, которая определяется нашим уровнем значимости (альфа) и говорит нам о вероятности отклонения нулевой гипотезы, которая на самом деле верна. Другими словами, это вероятность получить «ложноположительный результат», т.е. когда мы утверждаем, что между группами есть статистически значимая разница, но на самом деле ее нет.

Когда мы проводим проверку одной гипотезы, частота ошибок первого рода равна уровню значимости, который обычно выбирается равным 0,01, 0,05 или 0,10. Однако, когда мы проводим сразу несколько проверок гипотез, вероятность получения ложного срабатывания возрастает.

Например, представьте, что мы бросаем 20-гранный кубик. Вероятность того, что на кубике выпадет «1», составляет всего 5%. Но если мы бросаем сразу два кубика, вероятность того, что на одном из кубиков выпадет «1», увеличивается до 9,75%. Если мы бросаем сразу пять кубиков, вероятность увеличивается до 22,6%.

Чем больше кубиков мы бросаем, тем выше вероятность того, что на одном из кубиков выпадет «1». Точно так же, если мы проведем несколько проверок гипотез одновременно, используя уровень значимости 0,05, вероятность того, что мы получим ложноположительный результат, возрастет до 0,05.

Множественные сравнения в ANOVA

Когда мы проводим ANOVA, мы часто сравниваем три или более групп. Таким образом, когда мы проводим апостериорный тест для изучения разницы между средними значениями группы, мы хотим исследовать несколько попарных сравнений.

Например, предположим, что у нас есть четыре группы: A, B, C и D. Это означает, что всего имеется шесть парных сравнений, которые мы хотим рассмотреть с помощью апостериорного теста:

A – B (разница между средним значением группы A и средним значением группы B)
А – С
А – Д
ДО Н.Э
Б-Д
CD

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

Примеры коэффициента ошибок для всей семьи с ANOVA

Обратите внимание, что частота ошибок по семействам быстро увеличивается по мере увеличения количества групп (и, следовательно, количества попарных сравнений). На самом деле, как только мы достигнем шести групп, вероятность того, что мы получим ложный положительный результат, фактически превысит 50%!

Это означает, что у нас были бы серьезные сомнения в наших результатах, если бы мы провели столько попарных сравнений, зная, что наша частота ошибок в отношении семьи была так высока.

К счастью, апостериорные тесты дают нам возможность проводить множественные сравнения между группами, контролируя при этом частоту ошибок в отношении всей семьи.

Пример. Однофакторный дисперсионный анализ с апостериорными тестами

В следующем примере показано, как выполнить односторонний ANOVA с апостериорными тестами.

Примечание. В этом примере используется язык программирования R, но вам не нужно знать R, чтобы понять результаты теста или важные выводы.

Сначала мы создадим набор данных, содержащий четыре группы (A, B, C, D) по 20 наблюдений в каждой группе:

#make this example reproducible
set.seed(1)

#load *tidyr* library to convert data from wide to long format
library(tidyr)

#create wide dataset
data <- data.frame(A = runif(20, 2, 5),
 B = runif(20, 3, 5),
 C = runif(20, 3, 6),
 D = runif(20, 4, 6))

#convert to long dataset for ANOVA
data_long <- gather(data, key = "group", value = "amount", A, B, C, D)

#view first six lines of dataset
head(data_long)

# group amount
#1 A 2.796526
#2 A 3.116372
#3 A 3.718560
#4 A 4.724623
#5 A 2.605046
#6 A 4.695169

Далее мы подгоним однофакторный дисперсионный анализ к набору данных:

#fit anova model
anova_model <- aov(amount ~ group, data = data_long)

#view summary of anova model
summary(anova_model)

# Df Sum Sq Mean Sq F value Pr(>F) 
#group 3 25.37 8.458 17.66 8.53e-09 \*\*\*
#Residuals 76 36.39 0.479

Из выходных данных таблицы ANOVA мы видим, что F-статистика равна 17,66, а соответствующее значение p чрезвычайно мало.

Это означает, что у нас есть достаточно доказательств, чтобы отвергнуть нулевую гипотезу о том, что все средние группы равны. Затем мы можем использовать апостериорный тест, чтобы определить, какие групповые средние значения отличаются друг от друга.

Мы рассмотрим примеры следующих апостериорных тестов:

Тест Тьюки - полезен, когда вы хотите провести все возможные попарные сравнения.

Метод Холма - немного более консервативный тест по сравнению с тестом Тьюки.

Поправка Даннета – полезна, когда вы хотите сравнить каждое среднее значение группы со средним значением контрольной группы, и вы не заинтересованы в сравнении средств лечения друг с другом.

Тест Тьюки

Мы можем выполнить тест Тьюки для множественных сравнений, используя встроенную функцию R TukeyHSD() следующим образом:

#perform Tukey's Test for multiple comparisons
TukeyHSD(anova_model, conf.level=.95) 

# Tukey multiple comparisons of means
# 95% family-wise confidence level
#
#Fit: aov(formula = amount ~ group, data = data_long)
#
#$group
# diff lwr upr p adj
#B-A 0.2822630 -0.292540425 0.8570664 0.5721402
#C-A 0.8561388 0.281335427 1.4309423 0.0011117
#D-A 1.4676027 0.892799258 2.0424061 0.0000000
#C-B 0.5738759 -0.000927561 1.1486793 0.0505270
#D-B 1.1853397 0.610536271 1.7601431 0.0000041
#D-C 0.6114638 0.036660419 1.1862672 0.0326371

Обратите внимание, что мы указали уровень достоверности 95%, а это означает, что мы хотим, чтобы наша частота ошибок по отношению к семье была равна 0,05. R дает нам две метрики для сравнения каждой попарной разницы:

  • Доверительный интервал для средней разницы (данной значениями lwr и upr )
  • Скорректированное значение p для средней разницы

И доверительный интервал, и значение p приведут к одному и тому же выводу.

Например, 95-процентный доверительный интервал для средней разницы между группой C и группой A составляет (0,2813, 1,4309), и, поскольку этот интервал не содержит нуля, мы знаем, что разница между этими двумя средними группами статистически значима. В частности, мы знаем, что разница положительна, так как нижняя граница доверительного интервала больше нуля.

Точно так же p-значение для средней разницы между группой C и группой A составляет 0,0011, что меньше нашего уровня значимости 0,05, поэтому это также указывает на то, что разница между этими двумя средними значениями группы является статистически значимой.

Мы также можем визуализировать 95% доверительные интервалы, полученные в результате теста Тьюки, с помощью функции plot() в R:

plot(TukeyHSD(anova_model, conf.level=.95))
Визуализация попарных различий в R для апостериорных тестов

Если интервал содержит ноль, то мы знаем, что разница в средних групповых не является статистически значимой. В приведенном выше примере различия для BA и CB не являются статистически значимыми, но различия для других четырех парных сравнений статистически значимы.

Метод Холма

Другой апостериорный тест, который мы можем выполнить, — это метод Холма. Обычно это считается более консервативным тестом по сравнению с тестом Тьюки.

Мы можем использовать следующий код в R для выполнения метода Холма для множественных попарных сравнений:

#perform holm's method for multiple comparisons
pairwise.t.test(data_long$amount, data_long$group, p.adjust="holm") 
# Pairwise comparisons using t tests with pooled SD 
#
#data: data_long$amount and data_long$group 
#
# A B C 
#B 0.20099 - - 
#C 0.00079 0.02108 - 
#D 1.9e-08 3.4e-06 0.01974
#
#P value adjustment method: holm 

Этот тест предоставляет сетку p-значений для каждого попарного сравнения. Например, p-значение для разницы между средним значением группы A и группы B составляет 0,20099.

Если вы сравните p-значения этого теста с p-значениями из теста Тьюки, вы заметите, что каждое из попарных сравнений приводит к одному и тому же выводу, за исключением разницы между группами C и D. P-значение для эта разница составила 0,0505 в тесте Тьюки по сравнению с 0,02108 в методе Холма.

Таким образом, с помощью теста Тьюки мы пришли к выводу, что разница между группой С и группой D не была статистически значимой при уровне значимости 0,05, но с помощью метода Холма мы пришли к выводу, что разница между группой С и группой D была статистически значимой.

Как правило, значения p, полученные методом Холма, обычно ниже, чем значения, полученные с помощью теста Тьюки.

Поправка Даннета

Еще один метод, который мы можем использовать для множественных сравнений, — это поправка Дунетта. Мы будем использовать этот подход, когда хотим сравнить каждое среднее значение группы со средним контрольным, и нас не интересует сравнение средств лечения друг с другом.

Например, используя приведенный ниже код, мы сравниваем групповые средние значения B, C и D со средним значением группы A. Итак, мы используем группу A в качестве контрольной группы, и нас не интересуют различия между группами B, C. , и Д.

#load multcomp library necessary for using Dunnett's Correction
library(multcomp)

#convert group variable to factor 
data_long$group <- as.factor(data_long$group)

#fit anova model
anova_model <- aov(amount ~ group, data = data_long)

#perform comparisons
dunnet_comparison <- glht(anova_model, linfct = mcp(group = "Dunnett"))

#view summary of comparisons
summary(dunnet_comparison)

#Multiple Comparisons of Means: Dunnett Contrasts
#
#Fit: aov(formula = amount ~ group, data = data_long)
#
#Linear Hypotheses:
# Estimate Std. Error t value Pr(>|t|) 
#B - A == 0 0.2823 0.2188 1.290 0.432445 
#C - A == 0 0.8561 0.2188 3.912 0.000545 \*\*\*
#D - A == 0 1.4676 0.2188 6.707 < 1e-04 \*\*\*

Из p-значений в выводе мы видим следующее:

  • Разница между средним значением группы B и группы A не является статистически значимой при уровне значимости 0,05. Значение p для этого теста составляет 0,4324 .
  • Разница между средним значением группы С и группы А является статистически значимой при уровне значимости 0,05. Значение p для этого теста составляет 0,0005 .
  • Разница между средним значением группы D и группы А является статистически значимой при уровне значимости 0,05. Значение p для этого теста составляет 0,00004 .

Как мы заявляли ранее, этот подход рассматривает группу A как «контрольную» группу и просто сравнивает среднее значение каждой другой группы со средним значением группы A. Обратите внимание, что не проводятся тесты для различий между группами B, C и D, поскольку мы не Меня не интересуют различия между этими группами.

Примечание об апостериорных тестах и статистической мощности

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

Например, когда мы используем критерий Тьюки для шести попарных сравнений и хотим сохранить коэффициент ошибок для всей семьи на уровне 0,05, мы должны использовать уровень значимости примерно 0,011 для каждого отдельного уровня значимости. Чем больше у нас парных сравнений, тем ниже уровень значимости, который мы должны использовать для каждого отдельного уровня значимости.

Проблема в том, что более низкие уровни значимости соответствуют более низкой статистической мощности. Это означает, что если разница между средними группами действительно существует в популяции, то исследование с меньшей мощностью с меньшей вероятностью обнаружит ее.

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

Делая меньше сравнений, вам не нужно так сильно снижать статистическую мощность.

Важно отметить, что перед выполнением дисперсионного анализа вы должны точно определить, между какими именно группами вы хотите провести сравнение, и какой апостериорный тест вы будете использовать для этих сравнений. В противном случае, если вы просто увидите, какой апостериорный тест дает статистически значимые результаты, это снизит целостность исследования.

Вывод

В этом посте мы узнали следующее:

  • Дисперсионный анализ используется для определения того, существует ли статистически значимое различие между средними значениями трех или более независимых групп.
  • Если ANOVA дает p-значение, которое меньше нашего уровня значимости, мы можем использовать апостериорные тесты, чтобы выяснить, какие средние значения групп отличаются друг от друга.
  • Апостериорные тесты позволяют нам контролировать частоту ошибок по семействам при выполнении нескольких попарных сравнений.
  • Компромисс контроля частоты ошибок по семейным обстоятельствам заключается в более низкой статистической мощности. Мы можем уменьшить влияние более низкой статистической мощности, сделав меньше парных сравнений.
  • Вы должны заранее определить, в каких группах вы хотите провести попарное сравнение и какой апостериорный тест вы будете использовать для этого.
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.