Zawsze miałem wrażenie, że regresja jest po prostu bardziej ogólną formą ANOVA i że wyniki będą identyczne. Ostatnio jednak uruchomiłem zarówno regresję, jak i ANOVA dla tych samych danych, a wyniki różnią się znacznie. Oznacza to, że w modelu regresji zarówno główne efekty, jak i interakcja są znaczące, podczas gdy w ANOVA jeden główny efekt nie jest znaczący. Oczekuję, że ma to coś wspólnego z interakcją, ale nie jest dla mnie jasne, co różni się w tych dwóch sposobach modelowania tego samego pytania. Jeśli jest to ważne, jeden predyktor jest kategoryczny, a drugi ciągły, jak pokazano w poniższej symulacji.
Oto przykład tego, jak wyglądają moje dane i jakie analizy przeprowadzam, ale bez tych samych wartości p lub efektów, które są znaczące w wynikach (moje rzeczywiste wyniki są przedstawione powyżej):
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))
źródło
group
jest wektorem numerycznym, czy jest to celowe? Zwykle czynniki grupujące powinny mieć klasęfactor
, tak aby transformacja do kontrastów mogła być obsługiwana automatycznie przez funkcje takie jaklm()
. Stanie się to widoczne, gdy będziesz mieć więcej niż dwie grupy lub zastosujesz kodowanie inne niż 0/1 dlagroup
zmiennej.Odpowiedzi:
summary
Funkcja wywołuje różne sposoby w zależności od klasy obiektu. Różnica nie polega naaov
kontralm
, ale na informacjach prezentowanych na temat modeli. Na przykład, jeśli użyłeśanova(mod1)
ianova(mod2)
zamiast tego, powinieneś uzyskać te same wyniki.Jak mówi @Glen, kluczem jest to, czy raportowane testy są oparte na sumach kwadratów typu 1 lub typu 3. Różnią się one, gdy korelacja między zmiennymi objaśniającymi nie jest dokładnie równa 0. Kiedy są one skorelowane, niektóre SS są unikalne dla jednego predyktora, a inne dla drugiego, ale niektóre SS można przypisać do jednego lub obu. ( Możesz to sobie wyobrazić wyobrażając sobie symbol MasterCard- w środku znajduje się niewielki obszar nakładania się.) Nie ma jednoznacznej odpowiedzi w tej sytuacji i niestety jest to norma dla danych nie eksperymentalnych. Jedno podejście polega na tym, że analityk wykorzysta swoją ocenę i przypisze nakładające się SS do jednej ze zmiennych. Ta zmienna wchodzi najpierw do modelu. Druga zmienna przechodzi do drugiego modelu i otrzymuje SS, które wygląda jak ciasteczko z usuniętym z niego ugryzieniem. Jego działanie można sprawdzić za pomocą czegoś, co czasami nazywa sięR2) zmień lub F. zmień. Podejście to wykorzystuje SS typu 1. Alternatywnie, możesz to zrobić dwa razy przy każdym wejściu i zgłosić test zmiany F dla obu predyktorów. W ten sposób żadna zmienna nie otrzymuje SS z powodu nakładania się. Podejście to wykorzystuje SS typu 3. (Powinienem również powiedzieć, że to drugie podejście jest traktowane z lekceważeniem).
Zgodnie z sugestią @BrettMagill w komentarzu poniżej, mogę spróbować to trochę wyjaśnić. (Zauważ, że w moim przykładzie używam tylko 2 predyktorów i żadnych interakcji, ale ten pomysł można rozszerzyć, aby uwzględnić to, co chcesz.)
Typ 1: SS (A) i SS (B | A)
Typ 3: SS (A | B) i SS (B | A)
źródło
Wyniki z wyniku aov dają prawdopodobieństwa na podstawie sumy kwadratów typu 1. Dlatego wynik interakcji jest taki sam, a główne efekty różnią się.
Jeśli użyjesz prawdopodobieństw opartych na sumie kwadratów typu 3, będą one pasować do wyników regresji liniowej.
źródło
Anova(..., type=3)
będzie nie daje poprawny typ III SS, chyba że także przełączyć się z kontrastów leczenia (domyślne R) do efektu kodującej czynników nieuporządkowanych (options(contrasts=c("contr.sum", "contr.poly"))
) lub innych sumy do zera kodów kontraście (np Helmert). Stanie się to widoczne, gdy masz niezrównoważone rozmiary komórek i więcej niż dwie grupy, i jest również wspomniane na stronie pomocy dlaAnova()
.Główna różnica między regresją liniową a ANOVA polega na tym, że w ANOVA zmienne predykcyjne są dyskretne (tzn. Mają różne poziomy). Natomiast w regresji liniowej zmienne predykcyjne są ciągłe.
źródło