Co oznacza liniowa regresja liniowa?

11

W R, jeśli napiszę

lm(a ~ b + c + b*c) 

czy nadal byłaby to regresja liniowa?

Jak zrobić inne rodzaje regresji w R? Byłbym wdzięczny za jakieś zalecenia dotyczące podręczników lub samouczków?

suprvisr
źródło
Próbowałem trochę przeredagować twoje pytanie. Obawiam się, że wygląda na to, że zadajesz dwa bardzo różne pytania. Po drugie, na tej stronie dostępnych jest wiele zasobów, ale także CRAN .
chl
@chl, tak, dzięki, nie byłem jasny. Moje pytania są naprawdę następujące: jeśli piszę LM w R, czy R rozumie to jako liniowe zawsze lub próbuje dopasować do dowolnego modelu, niekoniecznie regresji liniowej, ale jakiejkolwiek regresji?
suprvisr
Nie, lm()oznacza regresję liniową. Twój model zawiera trzy parametry (minus punkt przecięcia) dla b, coraz ich interakcję b:c, która oznacza b + c + b:club b*cw skrócie (R jest zgodny z notacją Wilkinsona dla modeli statystycznych). Wymagane jest dopasowanie uogólnionego modelu liniowego (tzn. Gdy funkcja połączenia nie jest identyczna, jak ma to miejsce w przypadku modelu liniowego wyrażonego powyżej) glm().
chl

Odpowiedzi:

24

Liniowy odnosi się do związku między parametrami, które szacujesz (np. ), a wynikiem (np. ). Zatem jest liniowy, ale nie jest. Model liniowy oznacza, że ​​oszacowanie wektora parametru można zapisać , gdzie to wagi określone przez procedurę szacowania. Modele liniowe można rozwiązywać algebraicznie w formie zamkniętej, podczas gdy wiele modeli nieliniowych musi zostać rozwiązanych poprzez maksymalizację numeryczną za pomocą komputera.βyiy=exβ+ϵy=eβx+ϵβ^=iwiyi{wi}

Charlie
źródło
6
+1 W szczególności w „modelu liniowym” zmienna zależna jest funkcją liniową parametrów, ale niekoniecznie danych. y
whuber
1. jest liniowy? naprawdę - ten do potęgi x?
suprvisr
2
Tak, ponieważ nie jest wielkością zainteresowania (tą, którą optymalizujesz), ale zamiast tego jest. Zatem jest liniowy w . xββ
bayerj
+1, ale odpowiedź można poprawić, komentując formułę w pytaniu.
naught101
1
Po drugim czytaniu zauważam, że druga połowa tej odpowiedzi myli „model liniowy” z „estymatorem liniowym”. Te dwie koncepcje są odrębne i różne. Modele nieliniowe często mają estymatory liniowe, a modele liniowe mogą mieć estymatory nieliniowe (na przykład GLM).
whuber
5

Ten post na minitab.com zawiera bardzo jasne wyjaśnienie:

  • Model jest liniowy, jeśli można go zapisać w tym formacie:
    • Response = constant + parameter * predictor + ... + parameter * predictor
      • To znaczy, gdy każdy termin (w modelu) jest albo stałą, albo iloczynem parametru i zmiennej predykcyjnej.
    • Więc obie z nich są modele liniowe:
      • Y=B0+B1X1 (jest to linia prosta)
      • Y=B0+B1X12 (To jest krzywa)
  • Jeśli model nie może być wyrażony przy użyciu powyższego formatu, jest nieliniowy.
    • Przykłady modeli nieliniowych:
      • Y=B0+X1B1
      • Y=B0cos(B1X1)
Patrick Ng
źródło
4

Byłbym ostrożny, zadając to pytanie jako „regresji liniowej R” w porównaniu z pytaniem „regresji liniowej”. Formuły w R mają reguły, o których możesz wiedzieć lub nie. Na przykład:

http://wiener.math.csi.cuny.edu/st/stRmanual/ModelFormula.html

Zakładając, że pytasz, czy poniższe równanie jest liniowe:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * (b*c))

Odpowiedź brzmi tak, jeśli utworzysz nową zmienną niezależną, taką jak:

newv = b * c

Zastąpienie powyższego równania newv pierwotnym równaniem prawdopodobnie wygląda na to, czego oczekujesz od równania liniowego:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * newv)

Jeśli chodzi o referencje, Google „regresja” lub cokolwiek, co Twoim zdaniem może działać dla Ciebie.

rachunek_80
źródło
W jaki sposób zmiana nazwy czegoś sprawia, że ​​jest liniowa? Nie rozumiem, jeśli tożsamość newv = b * c zachowuje, to wcale nie jest liniowa. Jestem zdezorientowany.
bayerj
@bayer: newv to nowa zmienna. Nowe równanie jest funkcją liniową trzech zmiennych (b, c, newv), gdzie współczynniki zapewniają zależność liniową. Żadne równanie nie jest liniową kombinacją tylko dwóch zmiennych.
bill_080
@bayer Zobacz odpowiedź @Charlie. W niniejszym przykładzie oba modele są liniowe (niezależnie od tego, czy R postrzega je jako takie), ponieważ w obu z nich awystępuje funkcja liniowa czterech współczynników.
whuber
dzięki, to ma sens ... czy mogę po prostu dodać nową zmienną neww będącą b * c dla każdego przypadku w bazie danych (medycznej), a następnie potraktować ją jako regresję liniową?
suprvisr
2

Możesz zapisać regresję liniową jako (liniowe) równanie macierzowe.

[a1a2a3a4a5...an]=[b1c1b1c1b2c2b2c2b3c3b3c3b4c4b4c4b5c5b5c5...bncnbncn]×[αbαcαbc]+[ϵ1ϵ2ϵ3ϵ4ϵ5...ϵn]

lub jeśli zwiniesz to:

a=αbb+αcc+αbcbc+ϵ

Ta regresja liniowa jest równoważna znalezieniu liniowej kombinacji wektorów , i najbliższej wektorowi .bcbca

(Ma to również interpretację geometryczną, jak znalezienie rzutu na rozpiętość wektorów , i . W przypadku problemu z dwoma wektorami kolumnowymi z trzema pomiarami można to nadal narysować jako rysunek, na przykład jak pokazano tutaj: http://www.math.brown.edu/~banchoff/gc/linalg/linalg.html )b c b cabcbc


Zrozumienie tej koncepcji jest również ważne w regresji nieliniowej. Na przykład o wiele łatwiej jest rozwiązać niż ponieważ pierwsza parametryzacja pozwala rozwiązać oraz współczynnikom technik regresji liniowej. y = u ( e c ( t - v ) + e d ( t - v ) ) a by=aect+bedty=u(ec(tv)+ed(tv))ab

Sextus Empiricus
źródło
Myślę, że to najlepsza odpowiedź, ponieważ odpowiada na pytanie Dlaczego zamiast po prostu Co. Odpowiedź „Co” nie prowadzi do lepszej intuicji.
Heksatoniczny,