Как выполнять апостериорные попарные сравнения в R


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

Однофакторный дисперсионный анализ использует следующие нулевую и альтернативную гипотезы:

  • H 0 : Все средние группы равны.
  • H A : Не все групповые средние одинаковы.

Если общее p-значение ANOVA меньше определенного уровня значимости (например, α = 0,05), то мы отклоняем нулевую гипотезу и делаем вывод, что не все средние группы равны.

Чтобы выяснить, какие групповые средние различаются, мы можем затем выполнить попарные сравнения post-hoc .

В следующем примере показано, как выполнить следующие апостериорные попарные сравнения в R:

  • Метод Тьюки
  • Метод Шеффе
  • Метод Бонферрони
  • Метод Холма

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

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

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

#create data frame
df <- data.frame(technique = rep(c(" tech1", " tech2", " tech3 "), each= 10 ),
 score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89,
 81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
 77, 78, 79, 88, 89, 90, 91, 95, 95, 98))

#perform one-way ANOVA
model <- aov(score ~ technique, data = df)

#view output of ANOVA
summary(model)

 Df Sum Sq Mean Sq F value Pr(>F) 
technique 2 211.5 105.73 3.415 0.0476 \*
Residuals 27 836.0 30.96 
---
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 1

Общее p-значение ANOVA (0,0476) меньше, чем α = 0,05, поэтому мы отвергаем нулевую гипотезу о том, что средний балл за экзамен одинаков для каждой методики обучения.

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

Метод Тьюки

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

Мы можем использовать встроенную функцию TukeyHSD() для выполнения апостериорного метода Tukey в R:

#perform the Tukey post-hoc method
TukeyHSD(model, conf. level = .95 )

 Tukey multiple comparisons of means
 95% family-wise confidence level

Fit: aov(formula = score ~ technique, data = df)

$technique
 diff lwr upr p adj
tech2-tech1 4.2 -1.9700112 10.370011 0.2281369
tech3-tech1 6.4 0.2299888 12.570011 0.0409017
tech3-tech2 2.2 -3.9700112 8.370011 0.6547756

Из вывода мы видим, что единственное значение p (« p adj ») меньше 0,05 относится к разнице между техникой и техникой 3.

Таким образом, можно сделать вывод, что существует лишь статистически значимая разница в средних баллах за экзамен между студентами, использовавшими методику 1 и методику 3.

Метод Шеффе

Метод Шеффе является наиболее консервативным методом апостериорных парных сравнений и дает самые широкие доверительные интервалы при сравнении групповых средних.

Мы можем использовать функцию ScheffeTest() из пакета DescTools для выполнения апостериорного метода Scheffe в R:

library (DescTools)

#perform the Scheffe post-hoc method
ScheffeTest(model)

 Posthoc multiple comparisons of means: Scheffe Test 
 95% family-wise confidence level

$technique
 diff lwr.ci upr.ci pval 
tech2-tech1 4.2 -2.24527202 10.645272 0.2582 
tech3-tech1 6.4 -0.04527202 12.845272 0.0519.
tech3-tech2 2.2 -4.24527202 8.645272 0.6803 

---
Signif. codes: 0 '\*\*\*' 0.001 '\*\*' 0.01 '\*' 0.05 '.' 0.1 ' ' 156

Из вывода мы видим, что нет p-значений меньше 0,05, поэтому мы можем сделать вывод, что нет статистически значимой разницы в средних экзаменационных баллах между любыми группами.

Метод Бонферрони

Метод Бонферрони лучше всего использовать, когда у вас есть набор запланированных попарных сравнений, которые вы хотели бы провести.

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

#perform the Bonferroni post-hoc method
pairwise. t.test (df$score, df$technique, p. adj ='bonferroni')

 Pairwise comparisons using t tests with pooled SD 

data: df$score and df$technique 

 tech1 tech2
tech2 0.309 - 
tech3 0.048 1.000

P value adjustment method: bonferroni

Из вывода мы видим, что единственное значение p меньше 0,05 относится к разнице между техникой и техникой 3.

Таким образом, можно сделать вывод, что существует лишь статистически значимая разница в средних баллах за экзамен между студентами, использовавшими методику 1 и методику 3.

Метод Холма

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

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

#perform the Holm post-hoc method
pairwise. t.test (df$score, df$technique, p. adj ='holm')

 Pairwise comparisons using t tests with pooled SD 

data: df$score and df$technique 

 tech1 tech2
tech2 0.206 - 
tech3 0.048 0.384

P value adjustment method: holm 

Из вывода мы видим, что единственное значение p меньше 0,05 относится к разнице между техникой и техникой 3.

Таким образом, мы снова пришли бы к выводу, что существует только статистически значимая разница в средних экзаменационных баллах между студентами, использовавшими методику 1 и методику 3.

Дополнительные ресурсы

Следующие руководства содержат дополнительную информацию об ANOVA и апостериорных тестах:

Как интерпретировать F-значение и P-значение в ANOVA
Полное руководство: как сообщить о результатах ANOVA
Тьюки против Бонферрони против Шеффе: какой тест следует использовать?

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.