Formuły w R

Uogólnione modele liniowe w R

Richard Erickson

Instructor

Dlaczego formuły są ważne w regresji logistycznej?

  • Formuły to podstawa regresji
  • Mogą być trudne do zrozumienia
  • Kluczowe jest zrozumienie model.matrix()
Uogólnione modele liniowe w R

Nachylenia

  • Szacuje współczynnik dla zmiennej ciągłej
    • np. height = c(72.3, 21.1, 3.7, 1.0)
  • Formuła wymaga również globalnego wyrazu wolnego
  • Wiele nachyleń: jedno dla każdego predyktora
Uogólnione modele liniowe w R

Wyrazy wolne

  • Dyskretne grupy używane do prognozowania
  • Czynnik lub ciąg znaków w R: fish = c("red", "blue")
  • Jeden wyraz wolny – dwie opcje:
    • Wyraz wolny referencyjny + kontrast: y ~ x
    • Wyraz wolny dla każdej grupy: y ~ x -1
Uogólnione modele liniowe w R

Wiele wyrazów wolnych

  • Szacuje efekt każdej grupy względem grupy referencyjnej
  • Pierwsza grupa alfabetycznie w czynniku
  • Domyślnie jedna grupa referencyjna na zmienną
    • y ~ x1 + x2
  • Można oszacować wyraz wolny dla każdej grupy
    • y ~ x1+ x2 - 1
  • Pierwsza zmienna ma wyraz wolny szacowany dla każdej grupy
Uogólnione modele liniowe w R

Zmienne zero-jedynkowe

  • Koduje przynależność do grupy
  • Używane wewnętrznie (tj. model.matrix())
  • Wartości 0 i 1 dla każdej grupy
  • Przykład danych wejściowych: color = c("red", "blue")
  • Zmienne zero-jedynkowe dla y ~ colors:
    • intercept = c(1, 1)
    • blue = c(0, 1)
  • Zmienne zero-jedynkowe dla y ~ colors - 1 :
    • red = c(1, 0)
    • blue = c(0, 1)
Uogólnione modele liniowe w R

model.matrix()

  • model.matrix() wykonuje za nas obliczenia
  • Podstawa formuł w R
model.matrix( ~ colors)
  (Intercept) colorsred
1           1         1
2           1         0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$colors
"contr.treatment"
  • Kolejność wyznaczona przez kolejność poziomów czynnika
  • Zmiana kolejności za pomocą Tidyverse lub factor()
Uogólnione modele liniowe w R

Czynnik a zmienna numeryczna

  • R traktuje zmienną jako numeryczną
    • np. month = c(1, 2, 3)
month <- c( 1, 2, 3)
model.matrix( ~ month)
  (Intercept) month
1           1     1
2           1     2
3           1     3
attr(,"assign")
0 1
  • Należy użyć czynnika lub ciągu znaków
    • np. month = factor(c( 1, 2, 3))
model.matrix( ~ month)
  (Intercept) month2 month3
1           1      0      0
2           1      1      0
3           1      0      1
attr(,"assign")
0 1 1
attr(,"contrasts")$month
"contr.treatment"
Uogólnione modele liniowe w R

Czas na ćwiczenia!

Uogólnione modele liniowe w R

Preparing Video For Download...