Посібник із використання пост-хок тестування з anova
ANOVA — це статистичний тест, який використовується для визначення того, чи існує статистично значуща різниця між середніми значеннями трьох або більше незалежних груп.
У дисперсійному аналізі використовуються такі припущення :
Нульова гіпотеза (H 0 ): µ 1 = µ 2 = µ 3 = … = µ k (середні рівні для кожної групи)
Альтернативна гіпотеза: (Ha): принаймні одне із середніх відрізняється від інших
Якщо p-значення ANOVA нижче рівня значущості, ми можемо відхилити нульову гіпотезу та зробити висновок, що у нас є достатньо доказів, щоб стверджувати, що принаймні одне з групових середніх відрізняється від інших.
Однак це не говорить нам , які групи відрізняються одна від одної. Це просто говорить нам про те, що не всі середні групові показники однакові.
Для того, щоб точно знати, які групи відрізняються одна від одної, нам потрібно виконати пост-тест (також відомий як тест множинного порівняння), який дозволить нам дослідити різницю між середніми значеннями кількох груп, а також контролювати сім’ю . розумний рівень помилок.
Технічна примітка. Важливо зазначити, що ми повинні виконувати постфактум лише тоді, коли р-значення ANOVA є статистично значущим. Якщо p-значення не є статистично значущим, це означає, що середні значення всіх груп не відрізняються один від одного. Таким чином, немає необхідності виконувати пост-хок тест, щоб визначити, які групи відрізняються одна від одної.
Частка сімейних помилок
Як згадувалося раніше, пост-хок тести дозволяють перевірити різницю між середніми значеннями кількох груп, а також контролювати рівень помилок для кожної групи .
Під час перевірки гіпотез завжди існує частота помилок типу I, яка визначається нашим рівнем значущості (альфа) і повідомляє нам про ймовірність відхилення нульової гіпотези, яка насправді є істинною. Іншими словами, це ймовірність отримати «помилковий позитивний результат», тобто коли ми стверджуємо, що існує статистично значуща різниця між групами, тоді як насправді це не так.
Коли ми виконуємо перевірку гіпотези, частота помилок типу I дорівнює рівню значущості, який зазвичай вибирається рівним 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)
AC
ОГОЛОШЕННЯ
до н.е.
комікси
CD
Якщо у нас буде більше чотирьох груп, кількість парних порівнянь, які ми захочемо виконати, збільшиться ще більше. У наведеній нижче таблиці показано кількість парних порівнянь, пов’язаних із кожною кількістю груп, а також частоту помилок на сімейство:
Зауважте, що рівень помилок на родину швидко зростає зі збільшенням кількості груп (і, отже, кількості парних порівнянь). Насправді, коли ми досягнемо шести груп, шанс отримати помилковий результат фактично перевищує 50%!
Це означає, що у нас виникнуть серйозні сумніви щодо наших результатів, якби нам довелося робити стільки попарних порівнянь, знаючи, що наш рівень сімейних помилок такий високий.
На щастя, пост-хок тестування дозволяє нам проводити численні порівняння між групами, одночасно контролюючи рівень помилок за родиною.
Приклад: односторонній дисперсійний аналіз із додатковими тестами
У наведеному нижче прикладі показано, як виконати односторонній дисперсійний аналіз за допомогою астрономічних тестів.
Примітка: у цьому прикладі використовується мова програмування 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 To 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 є надзвичайно малим.
Це означає, що ми маємо достатньо доказів, щоб відхилити нульову гіпотезу про те, що всі групові середні рівні. Тоді ми можемо використати пост-тест, щоб визначити, які групові середні відрізняються одне від одного.
Ми розглянемо приклади наступних постгок тестів:
Тест Тьюкі – корисний, коли ви хочете зробити всі можливі попарні порівняння
Метод Холма – трохи більш консервативний тест, ніж тест Тьюкі
Поправка Даннета – корисна, коли ви хочете порівняти середнє значення кожної групи з контрольним середнім і не хочете порівнювати середні значення лікування одне з одним.
Тест Тьюкі
Ми можемо виконати тест Tukey для кількох порівнянь за допомогою вбудованої функції 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
#BA 0.2822630 -0.292540425 0.8570664 0.5721402
#CA 0.8561388 0.281335427 1.4309423 0.0011117
#DA 1.4676027 0.892799258 2.0424061 0.0000000
#CB 0.5738759 -0.000927561 1.1486793 0.0505270
#DB 1.1853397 0.610536271 1.7601431 0.0000041
#DC 0.6114638 0.036660419 1.1862672 0.0326371
Зауважте, що ми вказали, що наш рівень довіри становить 95%, що означає, що ми хочемо, щоб наш коефіцієнт помилок на сімейство становив 0,05. R дає нам дві метрики для порівняння кожної попарної різниці:
- Довірчий інтервал для середньої різниці (заданий значеннями lwr і upr )
- р-значення, скориговане на середню різницю
Довірчий інтервал і 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))
Якщо інтервал містить нуль, то ми знаємо, що різниця між груповими середніми не є статистично значущою. У наведеному вище прикладі відмінності для 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
#
#ABC
#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-значеннями з тесту Tukey, ви помітите, що кожне з парних порівнянь призводить до того самого висновку, за винятком різниці між групами C і D. p -значення цієї різниці становило 0,0505 у тесті Тьюкі порівняно з 0,02108 у методі Холма.
Таким чином, використовуючи тест Тьюкі, ми дійшли висновку, що різниця між групою C і групою D не була статистично значущою на рівні значущості 0,05, але використовуючи метод Холма, ми дійшли висновку, що різниця між групою C і групою D була статистично значущою.
Загалом, p-значення, отримані методом Холма, мають тенденцію бути нижчими, ніж ті, що отримані за допомогою тесту Тьюкі.
Виправлення Даннета
Інший метод, який ми можемо використовувати для множинних порівнянь, — це поправка Данетта. Ми використовуємо цей підхід, коли хочемо порівняти середні значення кожної групи з контрольним середнім і не хочемо порівнювати середні значення лікування одне з одним.
Наприклад, використовуючи наведений нижче код, ми порівнюємо групові середні значення B, C і D із середніми для групи A. Таким чином, ми використовуємо групу A як контрольну групу, і нас не цікавлять відмінності між групами B, C ., і Д.
#load multcomp library necessary for using Dunnett's Correction library(multicomp) #convert group variable to factor data_long$group <- as.factor(data_long$group) #fit anova model anova_model <- aov(amount ~ group, data = data_long) #performcomparisons 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 Assumptions: #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-значень у вихідних даних ми можемо побачити наступне:
- Різниця між середнім значенням для групи В і групи А не є статистично значущою на рівні 0,05. P-значення для цього тесту становить 0,4324 .
- Різниця між середнім значенням групи С і групи А є статистично значущою на рівні значущості 0,05. P-значення для цього тесту становить 0,0005 .
- Різниця між середнім значенням групи D і групи A є статистично значущою на рівні значущості 0,05. P-значення для цього тесту становить 0,00004 .
Як зазначалося раніше, цей підхід розглядає групу A як «контрольну» групу та просто порівнює середнє значення всіх інших груп із середнім значенням групи A. Зауважте, що тести на відмінності між групами B, C і D не проводяться, оскільки ми не не робити це. Мене не цікавлять відмінності між цими групами.
Примітка щодо пост-гок тестування та статистичної потужності
Post hoc тести чудово контролюють частоту помилок, але компроміс полягає в тому, що вони зменшують статистичну потужність порівнянь. Дійсно, єдиний спосіб зменшити частоту помилок у сімейному плані – це використовувати нижчий рівень значущості для всіх індивідуальних порівнянь.
Наприклад, коли ми використовуємо тест Тьюкі для шести попарних порівнянь і хочемо підтримувати частоту помилок для сімейства на рівні 0,05, нам слід використовувати рівень значущості приблизно 0,011 для кожного окремого рівня значущості. Чим більше парних порівнянь ми робимо, тим нижчий рівень значущості ми повинні використовувати для кожного окремого рівня значущості.
Проблема полягає в тому, що нижчі рівні значущості відповідають меншій статистичній потужності. Це означає, що якщо різниця між груповими середніми значеннями дійсно існує в популяції, менш потужне дослідження з меншою ймовірністю виявить це.
Один із способів зменшити вплив цього компромісу — просто зменшити кількість парних порівнянь, які ми виконуємо. Наприклад, у попередніх прикладах ми виконали шість парних порівнянь для чотирьох різних груп. Однак, залежно від потреб вашого дослідження, ви можете зробити лише кілька порівнянь.
Роблячи менше порівнянь, вам не потрібно зменшувати статистичну потужність.
Важливо зазначити, що перед виконанням дисперсійного аналізу ви повинні точно визначити, які групи ви хочете провести порівняння та який пост-хок тест ви будете використовувати для цих порівнянь. В іншому випадку, якщо ви просто бачите, який post hoc тест дає статистично значущі результати, це знижує цілісність дослідження.
Висновок
У цій статті ми дізналися наступне:
- Дисперсійний аналіз ANOVA використовується, щоб визначити, чи існує статистично значуща різниця між середніми значеннями трьох або більше незалежних груп.
- Якщо дисперсійний аналіз дає значення p, нижче за наш рівень значущості, ми можемо використати post hoc тести, щоб дізнатися, які групові середні значення відрізняються одне від одного.
- Постережні тести дозволяють нам контролювати рівень помилок на сімейство під час виконання кількох парних порівнянь.
- Компромісом контролю частоти помилок у сімейному плані є менша статистична потужність. Ми можемо зменшити вплив нижчої статистичної потужності, роблячи менше парних порівнянь.
- Ви повинні спочатку визначити, для яких груп ви хочете виконати попарне порівняння, і який post hoc тест ви будете використовувати для цього.