Formule în R

Modele Liniare Generalizate în R

Richard Erickson

Instructor

De ce contează formulele în regresia logistică multiplă?

  • Formulele sunt baza regresiei
  • Pot fi dificil de înțeles
  • Înțelegerea model.matrix() este esențială
Modele Liniare Generalizate în R

Pante

  • Estimează coeficientul pentru o variabilă continuă
    • ex., height = c(72.3, 21.1, 3.7, 1.0)
  • Formula necesită și un interceptat global
  • Pante multiple: câte una pentru fiecare predictor
Modele Liniare Generalizate în R

Interceptate

  • Grupuri discrete utilizate pentru predicție
  • Factor sau caracter în R: fish = c("red", "blue")
  • Un singur interceptat cu două opțiuni:
    • Interceptat de referință + contrast: y ~ x
    • Interceptat pentru fiecare grup: y ~ x -1
Modele Liniare Generalizate în R

Interceptate multiple

  • Estimează efectul fiecărui grup față de grupul de referință
  • Primul grup alfabetic din factor
  • Implicit: un grup de referință per variabilă
    • y ~ x1 + x2
  • Se poate estima un interceptat pentru toate grupurile
    • y ~ x1+ x2 - 1
  • Prima variabilă are interceptat estimat pentru fiecare grup
Modele Liniare Generalizate în R

Variabile dummy

  • Codifică apartenența la grup
  • Utilizat intern (adică model.matrix())
  • Valori 0 și 1 pentru fiecare grup
  • Exemplu de intrare: color = c("red", "blue")
  • Variabile dummy pentru y ~ colors:
    • intercept = c(1, 1)
    • blue = c(0, 1)
  • Variabile dummy pentru y ~ colors - 1 :
    • red = c(1, 0)
    • blue = c(0, 1)
Modele Liniare Generalizate în R

model.matrix()

  • model.matrix() face munca grea pentru noi
  • Baza formulelor în R
model.matrix( ~ colors)
  (Intercept) colorsred
1           1         1
2           1         0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$colors
"contr.treatment"
  • Ordinea este determinată de ordinea factorului
  • Schimbați ordinea cu Tidyverse sau factor()
Modele Liniare Generalizate în R

Factor vs. numeric: avertisment

  • R consideră variabila numerică
    • ex., 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
  • Specificați factor sau caracter
    • ex., 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"
Modele Liniare Generalizate în R

Să exersăm!

Modele Liniare Generalizate în R

Preparing Video For Download...