Невідповідність регресії проти ANOVA (aov vs lm в R)


21

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

Ось приклад того, як виглядають мої дані та які аналізи я виконую, але без тих самих p-значень чи ефектів, які мають значення в результатах (мої фактичні результати наведені вище):

group<-c(1,1,1,0,0,0)
moderator<-c(1,2,3,4,5,6)
score<-c(6,3,8,5,7,4)

summary(lm(score~group*moderator))
summary(aov(score~group*moderator))

резюме (lm ()) дає вам коефіцієнти для вказаних вами контрастів, які є контрастами на лікування за відсутності тут специфікації. Тоді як резюме (aov ()) дає вам таблицю anova. Якщо ви хочете, щоб анова для моделі lm вам потрібна anova (lm ())
Метт Альбрехт

groupчисельний вектор, це цілеспрямовано? Зазвичай фактори групування повинні мати клас factor, таким чином, щоб перетворення на контрасти можна було обробляти автоматично такими функціями lm(). Це стане очевидним, коли у вас буде більше двох груп або використовувати кодування, відмінне від 0/1, для вашої groupзмінної.
каракал

Відповіді:


17

summaryФункція викликає різні методи в залежності від класу об'єкта. Різниця полягає не в aovпорівнянні lm, а в інформації, представленій про моделі. Наприклад, якщо ви використовували anova(mod1)та anova(mod2)замість цього, ви повинні отримати однакові результати.

Як стверджує @Glen, головним є те, чи повідомляються тести на основі розмірів квадратів 1 або 3 типу. Вони відрізнятимуться, коли кореляція між вашими пояснювальними змінними не буде точно 0. Коли вони співвідносяться, деякі СС є унікальними для одного прогноктора, а інші - для інших, але деякі СС можуть бути віднесені до одного або обох. ( Ви можете візуалізувати це, уявивши символ MasterCard- в центрі є невелика область перекриття.) У цій ситуації немає однозначної відповіді, і, на жаль, це норма для неекспериментальних даних. Один із підходів полягає в тому, щоб аналітик використав своє судження і призначив SS, що перекривається, одній із змінних. Ця змінна спочатку переходить у модель. Інша змінна переходить у модель секунди і отримує SS, схожий на печиво з укусом, вийнятим з нього. Цей ефект може бути перевірений тим, що іноді називають R2змінити або змінити F. У цьому підході використовується тип 1 SS. Крім того, ви можете зробити це двічі, коли кожен буде першим, і повідомити про тест F зміни обох прогнозів. Таким чином, жодна змінна не отримує SS через перекриття. У цьому підході використовується тип 3 SS. (Я також повинен сказати вам, що останній підхід дотримується низької уваги.)

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

Тип 1: SS (A) та SS (B | A)

Тип 3: SS (A | B) і SS (B | A)


1
Це приємний опис проблеми. Ви можете трохи уточнити текст за допомогою цього: Тип I: SS_A = SS (A) SS_B = SS (B | A) і SS_AB = SS (AB | B, A) Тип III: SS_A = SS (A | B, AB ) і SS_B = SS (B | A, AB) і SS_AB = SS (AB | A, B)
Бретт

1
Дуже дякую за допомогу. Зараз я розумію, що відбувається з точки зору того, чим ці моделі відрізняються, але мені все ще не зрозуміло, коли було б доцільно використовувати або модель anova, або регресію. Мій радник радить anova, але мене завжди вчили застосовувати регресію, і я не впевнений, який варіант краще використовувати, коли результати розходяться. Чи є у вас приклади чи ресурс, щоб порадити, коли це було б доречно? Ще раз дякую за вашу допомогу.
Ребекка

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

2
Кілька речей: (3 вгору) взаємодія не означає, що ваші незалежні змінні співвідносяться, це просто різні речі; (2 вгору) якщо модель 3 значно краща за модель 2, то так, це говорить про те, що взаємодія є суттєвою (оскільки взаємодія є єдиним, що між ними відрізняється); (1 вгору) ви хочете уникати просто лову значних наслідків, якщо ви не думаєте про своє дослідження як про пілот, який ви будете використовувати для планування подальшого підтверджуючого дослідження (в цьому випадку я думаю, що ви все в порядку); Я збираюся, ви провели це дослідження, щоб переглянути всі три, і таким чином перейдіть до моделі 3.
gung - Відновіть Моніку

2
Крім того, взаємодія означає, що не слід інтерпретувати основні наслідки, тому подання лише моделі 1 може бути небезпечно оманливою. Якщо ви хочете отримати більше інформації про типи СС, я написав тут досить вичерпну відповідь: stats.stackexchange.com/questions/20452/… Крім того, вам слід прийняти одну з відповідей, в якийсь момент, натиснувши прапорець поруч один з них.
gung - Відновіть Моніку

10

Результати виходу aov дають вам ймовірності на основі суми квадратів типу 1. Ось чому результат взаємодії однаковий, а основні ефекти відрізняються.

Якщо ви використовуєте ймовірності на основі суми квадратів типу 3, вони відповідатимуть результатам лінійної регресії.

library(car)
Anova(aov(score~group*moderator),type=3)

5
Лінійні моделі та ANOVA будуть еквівалентними, коли моделі тестують однакові гіпотези та коли параметризація факторів рівнозначна. Так звані суми «типу I» та «типу III» - це просто тести різних гіпотез (наслідки послідовних сум квадратів проти граничних сум квадратів). ANOVA, як правило, приховує деякі рішення, що реалізуються у багатьох пакетах - факт, який змушує мене вважати, що фактично встановлення та тестування гіпотез, що цікавлять, шляхом параметризації факторів та порівняння моделі в GLM - це чудовий підхід.
Бретт

+1, я думаю, ти маєш помилку. lm використовує тип 1 SS, а aov використовує тип 3 SS.
gung - Відновити Моніку

2
Тип III (граничні) Суми квадратів використовуються за замовчуванням у lm. AOV використовував тип I (послідовний) за замовчуванням. Результати LM інваріантні для порядку, тоді як результати aov залежать від порядку факторів.
Бретт

Я вважав, що lm і aov за замовчуванням використовували тип I, отже, використання капіталу A Anova () для типів II і III.
Метт Альбрехт

6
Загалом, Anova(..., type=3)буде НЕ дати вам правильний тип III SS, якщо ви також перейти від лікування контрастів ( по замовчуванням в R) для ефекту кодування для неупорядкованих факторів ( options(contrasts=c("contr.sum", "contr.poly"))) або деяких інших кодів контрастною суми до нуля (наприклад, Гельмерта). Це стане очевидним після того, як ви маєте незбалансований розмір комірок та більше двох груп, а також згадується на сторінці довідки для Anova().
каракал

-2

Основна відмінність між лінійною регресією та ANOVA полягає в тому, що в ANOVA змінні предиктора є дискретними (тобто вони мають різний рівень). Тоді як в лінійній регресії змінні предиктора є безперервними.


3
Це взагалі не відповідає дійсності.
Майкл Р. Черник

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