Regresja liniowa z czynnikami w R


10

Próbuję zrozumieć, jak dokładnie działają czynniki w R. Powiedzmy, że chcę uruchomić regresję przy użyciu przykładowych danych w R:

> data(CO2)
> colnames(CO2)
[1] "Plant"     "Type"      "Treatment" "conc"      "uptake"   
> levels(CO2$Type)
[1] "Quebec"      "Mississippi"
> levels(CO2$Treatment)
[1] "nonchilled" "chilled"   
> lm(uptake ~ Type + Treatment, data = CO2)

Call:
lm(formula = uptake ~ Type + Treatment, data = CO2)

Coefficients:
 (Intercept)   TypeMississippi  Treatmentchilled  
       36.97            -12.66             -6.86  

Rozumiem to TypeMississippii Treatmentchilledsą traktowane jako logiczne: dla każdego wiersza początkowy pobór wynosi 36.97i odejmujemy, 12.66jeśli jest typu Mississippi i 6.86jeśli był schłodzony. Mam problem ze zrozumieniem czegoś takiego:

 > lm(uptake ~ Type * Treatment, data = CO2)

 Call:
 lm(formula = uptake ~ Type * Treatment, data = CO2)

 Coefficients:
                 (Intercept)                   TypeMississippi  
                      35.333                            -9.381  
            Treatmentchilled  TypeMississippi:Treatmentchilled  
                      -3.581                            -6.557  

Co to znaczy pomnożyć dwa czynniki razem lm?

Odpowiedzi:


17

Aby rozwinąć odpowiedź na @ John: we wzorach R masz kilka operatorów, których możesz zastosować do terminów: „+” po prostu dodaje je, „:” oznacza, że ​​dodajesz termin (lub kilka terminów), które odnoszą się do ich interakcji ( patrz poniżej), „*” oznacza oba, to znaczy: „główne efekty” zostały dodane, a także terminy interakcji.

Co oznacza ta interakcja? Cóż, w przypadku zmiennych ciągłych jest to rzeczywiście dodane pojęcie, które jest po prostu wielokrotnością dwóch zmiennych. Gdybyś miał wzrost i wagę jako predyktory i użyłby out ~ height * weightjako formuły, model liniowy będzie zatem zawierał trzy „zmienne”, mianowicie wagę, wzrost i ich iloczyn (zawiera również interakcję, ale tutaj jest to mniej interesujące).

Chociaż sugeruję inaczej: działa to dokładnie tak samo w przypadku zmiennych kategorialnych, ale teraz „produkt” stosuje się do (zestawu) zmiennych zastępczych dla każdej zmiennej kategorialnej. Załóżmy, że twój wzrost i waga są teraz kategoryczne, każda z trzema kategoriami (S (centrum handlowe), M (edium) i L (arge)). Następnie w modelach liniowych każda z nich jest reprezentowana przez zestaw dwóch zmiennych zastępczych, które są albo 0 albo 1 (istnieją inne sposoby kodowania, ale jest to domyślna wartość w R i najczęściej używana). Powiedzmy, że używamy S jako kategorii odniesienia dla obu, a następnie mamy za każdym razem dwa manekiny wysokości.M i wzrost.L (i podobne w odniesieniu do wagi).

Zatem teraz model out ~ height * weightzawiera teraz 4 manekiny + wszystkie produkty wszystkich kombinacji manekinów (nie piszę tutaj wprost o współczynnikach, są one sugerowane):

(intercept) + height.M + height.L + weight.M + weight.L + height.M * weight.M + height.L * weight.M + height.M * weight.L + height.L * weight.L.

W powyższym wierszu „*” znów odnosi się do prostego produktu, ale tym razem manekinów, więc każdy produkt ma również wartość 1 (gdy wszystkie czynniki wynoszą 1) lub 0 (gdy co najmniej jeden nie jest).

W tym przypadku 8 „zmiennych” umożliwia różne (średnie) wyniki we wszystkich kombinacjach dwóch zmiennych: efekt posiadania dużej masy ciała nie jest już taki sam dla małych ludzi (dla nich efekt jest po prostu tworzony przez termin weight.L) jak dla dużych ludzi (tutaj efekt jest weight.L + height.L * weight.L)


7

Aby odpowiedzieć na odpowiedź Johna, formuły w lm nie używają notacji arytmetycznej, używają zwartej notacji symbolicznej do opisania modeli liniowych (w szczególności notacji Wilkinsona-Rogersa, tutaj jest dobre krótkie podsumowanie http: //www.physiol .ox.ac.uk / ~ raac / R.shtml ).

Zasadniczo uwzględnienie A * B we wzorze modelu oznacza, że ​​dopasowujesz A, B i A: B (interakcja A i B). Jeśli termin interakcji jest statystycznie istotny, sugeruje to, że efekt leczenia jest różny dla każdego z rodzajów.


3

Być może pomocne byłoby poszukiwanie „formuły” w pomocy. Nie rozmnażasz się, mówisz, że chcesz także dwóch głównych efektów i ich interakcji.


1
(+1), choć wydaje mi się, że to raczej komentarz.
Dmitrij Celov,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.