Практично кажучи, як люди поводяться з ANOVA, коли дані не зовсім відповідають припущенням?


19

Це не суто статистичне запитання - я можу прочитати всі підручники про припущення ANOVA - я намагаюся з’ясувати, як фактичні робочі аналітики обробляють дані, які не зовсім відповідають припущенням. Я пережив багато питань на цьому сайті, шукаючи відповіді, і я постійно знаходжу повідомлення про те, коли не використовувати ANOVA (в абстрактному, ідеалізованому математичному контексті) або як робити деякі речі, які я описав нижче в Р. I Я дуже намагаюся розібратися, які рішення насправді приймають люди і чому.

Я веду аналіз на згруповані дані з дерев (фактичні дерева, а не статистичні дерева) у чотирьох групах. У мене є дані про близько 35 атрибутів для кожного дерева, і я переглядаю кожен атрибут, щоб визначити, чи значно відрізняються групи за цим атрибутом. Однак у декількох випадках припущення ANOVA незначно порушуються, оскільки відхилення не рівні (згідно з тестом Левене, використовуючи альфа = 0,05).

Як я бачу, мої варіанти полягають у тому, щоб: 1. Сила перетворити дані і побачити, чи не змінюється вона p-val Levene. 2. Використовуйте непараметричний тест на зразок Вілкоксона (якщо так, то який?). 3. Чи проводите якусь корекцію результату ANOVA, як Бонферроні (я насправді не впевнений, чи існує щось подібне?). Я спробував перші два варіанти і отримав трохи інші результати - в деяких випадках один підхід є важливим, а інший - ні. Я боюся потрапляти в риболовлю, що відповідає p-значенню, і шукаю поради, які допоможуть мені виправдати, який підхід використовувати.

Я також читав деякі речі, які говорять про те, що гетероскедастичність насправді не є великою проблемою для ANOVA, якщо засоби та відхилення не співвідносяться (тобто вони обоє збільшуються разом), тому, можливо, я можу просто проігнорувати результат Левене, якщо не побачу такий зразок? Якщо так, чи є тест на це?

Нарешті, слід додати, що я роблю цей аналіз для публікації у рецензованому журналі, тому будь-який підхід, на якому я буду застосовуватись, повинен передати рецензент. Тож, якщо хтось може надати посилання на подібні опубліковані приклади, це було б фантастично.


3
Незалежно від того, користуєтесь ви чи ні R, це може вам корисно, прочитавши мою відповідь тут: Альтернативи односторонній ANOVA для гетеросептичних даних , де обговорюються деякі з цих питань.
gung - Відновіть Моніку

Відповіді:


18

Я намагаюся з'ясувати, як реально працюючі аналітики обробляють дані, які не зовсім відповідають припущенням.

Це залежить від моїх потреб, які припущення порушуються, яким чином, як погано, наскільки це впливає на умовиводи, а іноді і на розмір вибірки.

Я веду аналіз на згруповані дані з дерев у чотири групи. У мене є дані про близько 35 атрибутів для кожного дерева, і я переглядаю кожен атрибут, щоб визначити, чи значно відрізняються групи за цим атрибутом. Однак у кількох випадках припущення ANOVA незначно порушуються, оскільки дисперсії не рівні (згідно з тестом Левене, використовуючи альфа = 0,05).

1) Якщо розміри зразків рівні, у вас не виникає особливих проблем. ANOVA досить (рівень) стійкий до різних варіацій, якщо n є рівними.

2) тестування рівності дисперсійності перед тим, як вирішити, чи вважати її рекомендується рядом досліджень. Якщо ви сумніваєтесь у тому, що вони будуть близькими до рівних, краще просто припустити, що вони нерівні.

Деякі посилання:

Циммерман, DW (2004),
"Примітка про попередні випробування рівності дисперсій".
Бр. Дж. Мат. Стат. Психол. , Травень ; 57 (Pt 1): 173-81.
http://www.ncbi.nlm.nih.gov/pubmed/15171807

Генрік наводить тут три посилання

3) Важливий саме розмір ефекту, а не те, чи є ваш зразок достатньо великим, щоб сказати, що вони суттєво відрізняються. Тож у великих зразках невелика різниця дисперсійності виявиться настільки важливою за тестом Левене, але по суті не матиме наслідків у її впливі. Якщо вибірки великі, а розмір ефекту - співвідношення дисперсій або відмінностей у дисперсіях - досить близький до того, яким вони мають бути, то значення p не має жодного наслідку. (З іншого боку, у малих зразках хороша велика величина р мало зручна. У будь-якому випадку тест не відповідає правильному питанню.)

Зауважте, що у ANOVA є коригування типу Welch-Satterthwaite для оцінки залишкової стандартної похибки та df, як і у двох зразкових т-тестах.

  1. Використовуйте непараметричний тест на зразок Wilcoxon (якщо так, то який?).

Якщо вас цікавлять альтернативи зміни місцеположення, ви все ще припускаєте постійне поширення. Якщо вас цікавлять набагато більш загальні альтернативи, можливо, ви можете їх розглянути; k-зразок, еквівалентний тесту Вілкоксона, є тестом Крускала-Уолліса.

Зробіть якусь корекцію результату ANOVA

Дивіться мою вище пропозицію щодо розгляду Welch-Satterthwaite, це "своєрідна корекція".

(Або ви можете подати ANOVA як набір парних тестів типу Welch, і в цьому випадку ви, ймовірно, захочете подивитися на Bonferroni або щось подібне)

Я також читав деякі речі, які говорять про те, що гетероседастичність насправді не є великою проблемою для ANOVA, якщо засоби та відхилення не співвідносяться (тобто вони обидва збільшуються разом)

Вам би довелося цитувати щось подібне. Переглянувши ряд ситуацій з t-тестами, я не думаю, що це абсолютно вірно, тому я хотів би зрозуміти, чому вони так вважають; можливо, ситуація певним чином обмежена. Було б добре, якби це було так, хоча досить часто узагальнені лінійні моделі можуть допомогти у цій ситуації.

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

Дуже важко передбачити, що може задовольнити ваших рецензентів. Більшість з нас не працює з деревами.


12

Насправді не дуже складно впоратися з гетероседастичністю у простих лінійних моделях (наприклад, одно- або двосторонні моделі, подібні до ANOVA).

Міцність ANOVA

По-перше, як зауважують інші, ANOVA надзвичайно стійкий до відхилень від припущення рівних дисперсій, особливо якщо у вас є приблизно збалансовані дані (однакова кількість спостережень у кожній групі). Попередні тести на рівних варіаціях, з іншого боку, не є (хоча тест Левене набагато кращий, ніж F -тест, який зазвичай навчають у підручниках). Як сказав Джордж Бокс:

Зробити попередній тест на відхилення - це як висадити в море на гребному човні, щоб з’ясувати, чи достатньо спокійних умов для того, щоб океанський лайнер вийшов з порту!

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

Непараметричні тести

Якщо вас справді цікавлять розбіжності в засобах , непараметричні тести (наприклад, тест Крускала – Уолліса) насправді не приносять користі. Вони роблять тест відмінність між групами, але вони НЕ в загальних тестах відмінностей в засобах.

Приклад даних

Створимо простий приклад даних, де хотілося б використовувати ANOVA, але де припущення про рівні відхилення не відповідає дійсності.

set.seed(1232)
pop = data.frame(group=c("A","B","C"),
                 mean=c(1,2,5),
                 sd=c(1,3,4))
d = do.call(rbind, rep(list(pop),13))
d$x = rnorm(nrow(d), d$mean, d$sd)

Ми маємо три групи з (чіткими) відмінностями як серед засобів, так і варіацій:

stripchart(x ~ group, data=d)

Стріп-схема, що показує приклади даних.

АНОВА

Не дивно, що нормальна ANOVA справляється з цим досить добре:

> mod.aov = aov(x ~ group, data=d)
> summary(mod.aov)
            Df Sum Sq Mean Sq F value  Pr(>F)    
group        2  199.4   99.69   13.01 5.6e-05 ***
Residuals   36  275.9    7.66                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Отже, які групи відрізняються? Давайте скористаємось методом HSD Tukey:

> TukeyHSD(mod.aov)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = x ~ group, data = d)

$group
        diff        lwr      upr     p adj
B-A 1.736692 -0.9173128 4.390698 0.2589215
C-A 5.422838  2.7688327 8.076843 0.0000447
C-B 3.686146  1.0321403 6.340151 0.0046867

З значенням P 0,26, ми не можемо стверджувати про різницю (у засобах) між групами А та В. І навіть якби ми не врахували, що ми зробили три порівняння, ми не отримали низький P - значення ( P  = 0,12):

> summary.lm(mod.aov)
[…]
Coefficients:
            Estimate Std. Error t value  Pr(>|t|)    
(Intercept)   0.5098     0.7678   0.664     0.511    
groupB        1.7367     1.0858   1.599     0.118    
groupC        5.4228     1.0858   4.994 0.0000153 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.768 on 36 degrees of freedom

Чому так? На основі сюжету, є це досить чітке розходження. Причина полягає в тому, що ANOVA приймає однакові відхилення в кожній групі і оцінює загальне стандартне відхилення 2,77 (показане як "Залишкова стандартна помилка" в summary.lmтаблиці, або ви можете отримати це, взявши квадратний корінь залишкового середнього квадрату (7,66) в таблиці ANOVA).

Але група А має стандартне відхилення (населення) 1, і це завищення 2,77 ускладнює отримання статистично значущих результатів, тобто у нас є тест з (занадто) низькою потужністю.

'ANOVA' з неоднаковими відхиленнями

Отже, як підігнати правильну модель, ту, яка враховує відмінності у відхиленнях? Це просто в R:

> oneway.test(x ~ group, data=d, var.equal=FALSE)
    One-way analysis of means (not assuming equal variances)

data:  x and group
F = 12.7127, num df = 2.000, denom df = 19.055, p-value = 0.0003107

Отже, якщо ви хочете запустити просту односторонню 'ANOVA' в R, не допускаючи рівних дисперсій, скористайтеся цією функцією. Це в основному розширення (Welch) t.test()для двох зразків з неоднаковими варіаціями.

На жаль, це не працює TukeyHSD()(або більшість інших функцій, які ви використовуєте на aovоб'єктах), тому навіть якщо ми впевнені, що існують групові відмінності, ми не знаємо, де вони.

Моделювання гетероседастичності

Найкраще рішення - чітко моделювати відхилення. І це дуже просто в R:

> library(nlme)
> mod.gls = gls(x ~ group, data=d,
                weights=varIdent(form= ~ 1 | group))
> anova(mod.gls)
Denom. DF: 36 
            numDF  F-value p-value
(Intercept)     1 16.57316  0.0002
group           2 13.15743  0.0001

Досі суттєві відмінності, звичайно. Але тепер відмінності між групами A і B також стали статично значущими ( P  = 0,025):

> summary(mod.gls)
Generalized least squares fit by REML
  Model: x ~ group
  […]
Variance function:
 Structure: Different standard
            deviations per stratum
 Formula: ~1 | group 
 Parameter estimates:
       A        B        C 
1.000000 2.444532 3.913382 

Coefficients:
               Value Std.Error  t-value p-value
(Intercept) 0.509768 0.2816667 1.809829  0.0787
groupB      1.736692 0.7439273 2.334492  0.0253
groupC      5.422838 1.1376880 4.766542  0.0000
[…]
Residual standard error: 1.015564 
Degrees of freedom: 39 total; 36 residual

Тож використання відповідної моделі допомагає! Також зазначимо, що ми отримуємо оцінки (відносних) стандартних відхилень. Розрахункове стандартне відхилення для групи А можна знайти внизу, результати, 1,02. Розрахункове стандартне відхилення групи В в 2,44 рази більше, або 2,48, а розрахункове стандартне відхилення групи С приблизно 3,97 (тип intervals(mod.gls)для отримання довірчих інтервалів для відносних стандартних відхилень груп В і С).

Виправлення для багаторазового тестування

Однак нам дійсно слід виправити багаторазове тестування. Це легко за допомогою бібліотеки "мультикомплект". На жаль, у нього немає вбудованої підтримки об’єктів 'gls', тому нам спочатку доведеться додати кілька допоміжних функцій:

model.matrix.gls <- function(object, ...)
    model.matrix(terms(object), data = getData(object), ...)
model.frame.gls <- function(object, ...)
  model.frame(formula(object), data = getData(object), ...)
terms.gls <- function(object, ...)
  terms(model.frame(object),...)

Тепер приступимо до роботи:

> library(multcomp)
> mod.gls.mc = glht(mod.gls, linfct = mcp(group = "Tukey"))
> summary(mod.gls.mc)
[…]
Linear Hypotheses:
           Estimate Std. Error z value Pr(>|z|)    
B - A == 0   1.7367     0.7439   2.334   0.0480 *  
C - A == 0   5.4228     1.1377   4.767   <0.001 ***
C - B == 0   3.6861     1.2996   2.836   0.0118 *  

Досі статистично значуща різниця між групою А та групою В! ☺ І ми можемо отримати навіть (одночасні) довірчі інтервали для відмінностей між груповими засобами:

> confint(mod.gls.mc)
[…]
Linear Hypotheses:
           Estimate lwr     upr    
B - A == 0 1.73669  0.01014 3.46324
C - A == 0 5.42284  2.78242 8.06325
C - B == 0 3.68615  0.66984 6.70245

Використовуючи приблизно (тут саме) правильну модель, ми можемо довіряти цим результатам!

Зауважимо, що для цього простого прикладу дані для групи C насправді не додають жодної інформації про відмінності між групами A і B, оскільки ми моделюємо як окремі засоби, так і стандартні відхилення для кожної групи. Ми могли просто використати парні t -тести, виправлені для кількох порівнянь:

> pairwise.t.test(d$x, d$group, pool.sd=FALSE)
    Pairwise comparisons using t tests with non-pooled SD 

data:  d$x and d$group 

  A       B      
B 0.03301 -      
C 0.00098 0.02032

P value adjustment method: holm 

Однак для більш складних моделей, наприклад, двосторонніх моделей або лінійних моделей з багатьма предикторами, використання GLS (узагальнених найменших квадратів) та явного моделювання дисперсійних функцій є найкращим рішенням.

І функція дисперсії не повинна бути просто різною константою в кожній групі; ми можемо накласти їй структуру. Наприклад, ми можемо моделювати дисперсію як середню потужність кожної групи (і, таким чином, потрібно лише оцінити один параметр, показник) або, можливо, як логарифм одного з предикторів моделі. З GLS (і gls()в R) все це дуже легко .

Узагальнені найменші квадрати - це ІМХО дуже недооцінений метод статистичного моделювання. Замість того, щоб турбуватися про відхилення від припущень моделі , моделюйте ці відхилення!


1
Дякую за відповідь! Я не розумію результату oneway.test () та gls () для неоднакової дисперсії ANOVA (Welch ANOVA). Значення p oneway.test () - p-значення = 0,0003107. Але значення p від gls (x ~ група, дані = d, ваги = varIdent (форма = ~ 1 | група)) дорівнює 0,0001. Чому ці два результати відрізняються?
WCMC

2
Зростає занепокоєння щодо виправлень для багаторазового тестування, я вважаю, що повідомлення про некоригувані p-значення разом із кількістю порівнянь, які ви зробили, є більш прозорим. Тим більше, що, можливо, вас не зацікавить кожне попарне порівняння при тестуванні їх на R, тому виправлення буде здійснено шляхом врахування порівнянь, які не представляють інтересу.
Nakx

7
  1. Дійсно, може відбутися деяка трансформація ваших даних, що спричинить прийнятний нормальний розподіл. Звичайно, тепер ваше висновок стосується перетворених даних, а не неперетворених даних.

  2. Якщо припустити, що ви говорите про одноразову ANOVA, тест Крускала-Уолліса є відповідним непараметричним аналогом аналогічного ANOVA. Тест Данна (не тест на оцінку садових сортів), мабуть, найпоширеніший непараметричний тест, що підходить для декількох зіставлень після спеціальних пар, хоча є й інші тести, такі як тест Коновер-Імана (суворо потужніший, ніж тест Данна після відхилення крускаля-Уолліса) і тест Двасса-Стіла-Кріхтлоу-Фліґнера.

  3. α

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

Простий запит Google Академії для "тесту Данна" разом із загальним терміном з вашої дисципліни повинен повернути безліч опублікованих прикладів.


Список літератури

Conover, WJ та Iman, RL (1979). Про процедури багаторазового порівняння . Технічний звіт LA-7677-MS, Лос-Аламосова наукова лабораторія.

Кріхтлоу, DE та Флігнер, МА (1991). Про багаторазове порівняння без розподілу в односторонньому аналізі дисперсії . Комунікації в статистиці - теорія та методи , 20 (1): 127.

Данн, OJ (1964). Багаторазове порівняння з використанням рангових сум . Технометрія , 6 (3): 241–252.


2
Добре, дякую за цю відповідь, але мені не зовсім зрозуміло, що ти говориш. Що стосується "гетероседастичності", я вважав, що я використовую слово у звичайному розумінні: "колекція випадкових змінних є гетероседастичною, якщо є підгрупи, які мають різні мінливості від інших. Тут" мінливість "може бути кількісно визначена дисперсією або будь-який інший показник статистичної дисперсії ". - Вікіпедія. За моїми даними, дисперсії підгруп неоднакові (за тестом Левене), тому я описав їх як гетероскедастичні. Це не так?
Джас Макс

1
Те, що я насправді намагаюся обговорити, - це розрив між статистикою підручника та реальним світом. У кожному підручнику сказано, що "відхилення повинні бути рівними для ANOVA", але, звичайно, вони ніколи не бувають. Отже, чи ми довільно відсікаємось у певній точці і переходимо до іншого тесту - якщо так, то в який момент? У моїй галузі (біологія рослин) більшість людей просто використовують тест, який вони були навчені використовувати без особливих роздумів. Я не дуже задоволений цим. Я хотів би запропонувати будь-які пропозиції щодо книг / веб-сайтів, які обговорюють "практичне" використання статистики - тобто, який тест слід використовувати, коли і чому. Дякую за пропозицію Данна, яка допомагає.
Джас Макс

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

1
Звідки ви знаєте що-небудь про дисперсію популяції, якщо не, оцінюючи дисперсію вибірки? Я трактую тестовий показник Левене як "припускаючи, що відхилення у населення однакові, які шанси на ваші вибіркові відхилення будуть сильно відрізнятися". Якщо я отримую низький р-вал, я відкидаю гіпотезу про те, що відхилення популяції рівні і не можуть використовувати ANOVA. Крускал-Уоллес здається гарною альтернативою, але чи бажано трансформувати дані, щоб відповідати припущенням ANOVA, і якщо так, чому?
Жас Макс

1
Крім того, чи є тест Левене, p <.05, відповідним тестом і обмеженням для цього рішення? А як щодо О'Браєна, Бартлетта ... результати цього тесту можуть суттєво відрізнятися, і я не знаю, що використовувати, тому я йду з Левене, тому що він здається найбільш консервативним. Але, можливо, це надмірно - можливо, надто швидко відмовляючись від ANOVA, я переходжу до тесту, який зайво знижує статистичну потужність мого аналізу.
Жас Макс

1

Мені це здається, ніби ти робиш роботу з ніг і намагаєшся якнайкраще, але переживаєш, що твої зусилля будуть недостатньо хорошими, щоб ваш документ пройшов повз рецензентів. Дуже велика проблема у реальному світі. Я думаю, що всі дослідники борються з аналізами, які здаються прикордонними або навіть відверто порушують припущення час від часу. Зрештою, є мільйони статей, які оцінюють, наприклад, ефекти лікування у 3 невеликих груп мишей, що мають щось на зразок 6 - 7 мишей у кожній групі. Як дізнатися, чи задоволені припущення Anova у такому документі!

Я переглянув велику кількість робіт, особливо в галузі серцево-судинної патофізіології, і насправді ніколи не відчуваю себе на 100% впевненим, чи можу я довіряти даним чи ні в статті, яку я прочитав. Але для мене , як рецензент, я на самому справі , як правило, думають , що проблеми можуть виникнути при настільки багатьох рівнях в науці , що, ймовірно , мало сенсу в риття занадто глибоко в статистиці - в кінці кінців, весь набір даних може бути виготовлена , і я б ніколи через мільйон років зможеш розповісти. Відповідно, у цій галузі роботи завжди буде елемент довіри, який дослідники ніколи не повинні зловживати.

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


2
Я не впевнений, що згоден з тим, що не в змозі помітити вигадки: я раніше помічав такі.
Олексій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.