Formules dans R

Modèles linéaires généralisés (GLM) en R

Richard Erickson

Instructor

Pourquoi se soucier des formules pour la régression logistique multiple ?

  • Les formules sont la base de la régression
  • Pas toujours évidentes à saisir
  • Comprendre model.matrix() est essentiel
Modèles linéaires généralisés (GLM) en R

Pentes

  • Estime le coefficient d'une variable continue
    • p. ex., height = c(72.3, 21.1, 3.7, 1.0)
  • La formule inclut aussi une constante globale
  • Pentes multiples : une pente par prédicteur
Modèles linéaires généralisés (GLM) en R

Constantes (intercepts)

  • Groupes discrets utilisés pour prédire
  • factor ou character en R : fish = c("red", "blue")
  • Une seule constante : deux options :
    • Référence + contraste : y ~ x
    • Une constante par groupe : y ~ x -1
Modèles linéaires généralisés (GLM) en R

Constantes multiples

  • Estime l'effet de chaque groupe comparé au groupe de référence
  • Le premier groupe, par ordre alphabétique, du facteur
  • Par défaut : un groupe de référence par variable
    • y ~ x1 + x2
  • On peut demander une constante pour tous les groupes
    • y ~ x1+ x2 - 1
  • La première variable a une constante estimée pour chaque groupe
Modèles linéaires généralisés (GLM) en R

Variables factices (dummy)

  • Code l'appartenance à un groupe
  • Utilisé en coulisse (p. ex., model.matrix())
  • 0 et 1 pour chaque groupe
  • Exemple d'entrée : color = c("red", "blue")
  • Variables factices pour y ~ colors :
    • intercept = c(1, 1)
    • blue = c(0, 1)
  • Variables factices pour y ~ colors - 1 :
    • red = c(1, 0)
    • blue = c(0, 1)
Modèles linéaires généralisés (GLM) en R

model.matrix()

  • model.matrix() fait le gros du travail pour nous
  • Base des formules dans R
model.matrix( ~ colors)
  (Intercept) colorsred
1           1         1
2           1         0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$colors
"contr.treatment"
  • L'ordre suit l'ordre du facteur
  • Pour changer l'ordre : Tidyverse ou factor()
Modèles linéaires généralisés (GLM) en R

Attention : facteur vs numérique

  • R considère la variable comme numérique
    • p. 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
  • Il faut préciser factor ou character
    • p. 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"
Modèles linéaires généralisés (GLM) en R

Passons à la pratique !

Modèles linéaires généralisés (GLM) en R

Preparing Video For Download...