Fórmulas em R

Modelos Lineares Generalizados em R

Richard Erickson

Instructor

Por que se importar com fórmulas em regressão logística múltipla?

  • Base das regressões
  • Difíceis de acertar
  • Entender model.matrix() é essencial
Modelos Lineares Generalizados em R

Inclinações

  • Estima coeficiente para variável contínua
    • ex.: height = c(72.3, 21.1, 3.7, 1.0)
  • A fórmula também requer um intercepto global
  • Várias inclinações: uma por preditor
Modelos Lineares Generalizados em R

Interceptos

  • Grupos discretos usados para prever
  • factor ou character em R: fish = c("red", "blue")
  • Um único intercepto tem duas opções:
    • Intercepto de referência + contraste: y ~ x
    • Intercepto por grupo: y ~ x -1
Modelos Lineares Generalizados em R

Múltiplos interceptos

  • Estima o efeito de cada grupo vs. o grupo de referência
  • O primeiro grupo, em ordem alfabética, no factor
  • Padrão tem um grupo de referência por variável
    • y ~ x1 + x2
  • Dá para estimar um intercepto para todos os grupos
    • y ~ x1+ x2 - 1
  • A primeira variável tem intercepto estimado por grupo
Modelos Lineares Generalizados em R

Variáveis dummy

  • Codifica pertencimento ao grupo
  • Usado nos bastidores (ex.: model.matrix())
  • 0s e 1s para cada grupo
  • Exemplo de entrada: color = c("red", "blue")
  • Dummies para y ~ colors:
    • intercept = c(1, 1)
    • blue = c(0, 1)
  • Dummies para y ~ colors - 1 :
    • red = c(1, 0)
    • blue = c(0, 1)
Modelos Lineares Generalizados em R

model.matrix()

  • model.matrix() faz o trabalho pesado
  • Base das fórmulas em R
model.matrix( ~ colors)
  (Intercept) colorsred
1           1         1
2           1         0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$colors
"contr.treatment"
  • Ordem determinada pela ordem do factor
  • Mude a ordem com Tidyverse ou factor()
Modelos Lineares Generalizados em R

Atenção: factor vs. numérico

  • R entende a variável como numérica
    • 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
  • É preciso definir como factor ou character
    • 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"
Modelos Lineares Generalizados em R

Vamos praticar!

Modelos Lineares Generalizados em R

Preparing Video For Download...