Introduction au GLM
Très récemment, dans le cadre d’une prestation d’assistance en biostatistique, j’ai été amené à présenter les GLM (modèles linéaires généralisés ou generalized linear models). La personne avec qui j’ai travaillé n’avait jamais étudié ces modèles à la fac. On lui avait seulement parlé des ANOVA et des régressions linéaires, autrement dit des modèles utilisables lorsque la variable réponse est de type numérique continu (comme une masse, ou une taille, par exemple).
Or, dans ses données, la variable réponse était de type « comptage », il s’agissait d’un nombre d’insectes observés (on parle d’abondance en écologie).
Par le passé, ce type de données était analysé en utilisant des modèles linéaire classiques après transformation logarithmique des comptages. Cette vielle approche, a au moins deux défauts : une puissance statistique diminuée, et une interprétabilité pas toujours évidente (cf l’article de warton et al).
Aujourd’hui, cette approche n’est plus suffisante, et si vous voulez fournir une analyse statistique de qualité, vous devrez passer par l’utilisation des GLM.
Puisque ces modèles sont souvent méconnus des débutants en statistiques, et qu’ils font souvent un peu peur, j’ai eu envie d’essayer d’écrire un article d’introduction, et de montrer qu’en pratique, ils ne sont pas si compliqué que ça!
Rappel sur les modèles linéaires
Avant de parler des GLM, il me semble nécessaire de faire quelques rappels sur les modèles linéaires classiques.
Formulation des modèles linéaires classiques
Les modèles linéaires classiques, sont des modèles mathématiques utilisés pour évaluer les effets de variables prédictives (de type numérique ou catégorielle) sur une variable réponse qui, elle, est obligatoirement de type numérique continue (comme une masse ou une taille par exemple).
La régression linéaire simple, est un modèle linéaire dans lequel une seule variable prédictive est considérée, et celle-ci est de type numérique continue. Pour donner un exemple, une régression linéaire simple peut être employée pour évaluer la relation entre la taille (variable réponse) et le poids (variable prédictive) d’une population donnée (les enfants de 12 ans par exemple).
L’équation de ce modèle linéaire est :
\[ Taille_i = \beta_0 +\beta_1 \;\ast \text{Poids_i}\; + e_{i} \]
i représente l’indice des individus, beta_0 l’ordonnée à l’origine, beta_1 la pente et e_i les erreurs (l’écart entre la taille prédite par beta_0+ beta_1 * poids, et la taille réellement observée). Beta_0 et beta_1 sont des paramètres estimés à partir des données.
De même, une ANOVA à un facteur est un modèle linéaire, qui comporte également une seule variable prédictive, mais ici elle est de type catégorielle. Par exemple, une ANOVA peut être employée pour évaluer si les longueures des sépales de trois espèces d’iris sont différentes. Ce modèle spécifie une moyenne par groupe (ici l’espèce), son équation est :
\[y_{ij} = \overline{y_i} + e_{ij} = µ\;+a_i + e_{ij} \]
i est l’indice de l’espèce, j l’indice des individus dans une espèce donnée. y_barre_i est la moyenne des longueurs des sépale pour l’espèce i. µ est alors la moyenne générale (grand mean), alpha_i l’écart entre la moyenne générale et la moyenne de l’espèce i, et eij les erreurs
(l’écart entre la longueur des s »pales d’une fleur et la moyenne de son espèce)
De façon générale, c’est à dire quelle que soit la nature des variables prédictive (numérique ou catégorielle), et leur nombre (une ou plusieurs comme dans le cas de la régression linéaire multiple, par exemple) l’équation du modèle linéaire est :
\[ y_{ij} = \sum_{j=1}^{p}\;\beta_j\;X_{ij} \;+ e_{ij} \]
Cela signifie que les réponses (y_ij) sont prédites par une combinaison linéaire (addition) des variables prédictives (Xj), auxquelles s’ajoutent les erreurs.
Autrement dit, pour chaque y observé, un y moyen est prédit en sommant les effets des variables prédictives. On peut donc écrire :
\[ µ_y = \sum_{j=1}^{p}\;\beta_j\;X_{ij} \]
Remarque : Cette dernière formulation est importante pour comprendre les GLM.
Les hypothèses du modèle linéaire
- les résidus sont indépendants,
- les résidus suivent une loi normale de moyenne nulle et de variance résiduelle,
- les résidus sont homogènes.
En résumé
Pour résumer, les modèles linéaires :
- s’utilisent uniquement lorsque la variable réponse est de type numérique continue
- spécifient que les réponses sont prédites par une combinaison linéaire (addition) des variables prédictives, auxquelles s’ajoutent les erreurs
- sont sous-tendus par les hypothèses d’indépendance, de normalité et d’homogénéité des résidus.
Remarque : les résidus sont les estimations des erreurs.
Et les GLM alors ?
Les GLM sont une extension des modèles linéaires classiques qui peuvent être utilisés lorsque les réponses ne sont pas de type numérique continues.
Quand utiliser un GLM ?
Les GLM sont principalement utilisés dans deux situations :
- Lorsque les données sont de type comptage (nombre d’oeufs pondus, nombre de larve présentes etc..),
- Lorsque les données sont de type binaire (Malade/non malade ou mort/vivant)
Lorsque les réponses sont de type comptage
Les réponses de type comptage sont bornées en 0 et ne comportent que des valeurs entières positives. Elle suivent théoriquement une distribution de Poisson de paramètre Lambda.
De plus, par définition la variance de réponses distribuées selon une loi de Poisson n’est pas constante, mais égale à la moyenne, elle-même égale au paramètre Lambda (c’est la théorie qui le dit). Cela est aussi vrai pour les résidus. Cela signifie que, en théorie, la variance des résidus augmente, de façon proportionnelle, avec les valeurs de réponses prédites (fitted). Ceci va à l’encontre de l’hypothèse d’homogénéité des modèles linéaires classiques.
Lorsqu’un GLM est utilisé pour analyser des données de comptage, cette approche est parfois nommée « régression de Poisson » (même si la ou les variables prédictives sont catégorielles et que le modèle s’apparente à une ANOVA)
Lorsque les réponses sont de type catégoriel binaire
Lorsque les données sont catégorielles binaires, il est encore plus évident que les erreurs ne peuvent pas suivre une loi normale de moyenne nulle et de variance constante, puisque la réponse est « oui » ou « non ». Ce type de données suit une distribution Binomiale, de paramètres « n » et p ». Comme nous le verrons plus loin, dans ce cas, une transformation (de la réponse) va permettre de passer du « oui » / « non » à une probabilité d’être « oui ».
Lorsqu’un GLM est employé pour analyser des réponses catégorielles binaires, on parle de régression logistique.
Remarque : les glm peuvent également être employés lorsque les réponses sont des proportions.
Comment ça marche les GLM ?
Les modèles linéaires généralisés reposent sur 3 éléments:
- Un prédicteur linéaire
- Une fonction de lien
- Une structure des erreurs
Le prédicteur linéaire
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
La fonction de lien
La structure d'erreur
A une fonction de lien donnée, correspond généralement une structure d’erreur particulière.Il s’agit d’une famille de distribution des erreurs. Par exemple, pour les données de comptage, la fonction de lien est le log et la structure d’erreur correspondante est la distribution de Poisson.
Cette structure d’erreur, permet notamment de spécifier correctement la relation entre la moyenne et la variance. Cette relation est utilisée par l’approche de maximum de vraisemblance pour estimer les coefficients des paramètres (les beta) du GLM.
Ici un tableau récapitulatif des structures d’erreur, fonctions de lien, fonctions de moyennes et fonctions de variance des données de type numériques continues non bornée, de comptage et binaire.
Remarque : un GLM avec une structure d’erreur gaussienne et une fonction de lien « identité », correspond à un modèle linéaire classique.
Maximum de vraisemblance et déviance
Les coefficients des paramètres d’un GLM sont estimés par la méthode du maximum de vraisemblance, qui fait appelle à la notion de déviance. La déviance est en quelque sorte une généralisation de la variance.
Pour plus de détail, je vous recommande le chapitre » Deviance : Measuring the goodness of fit of a GLM » (p516) du Rbook version2.
GLM avec R
Pour utiliser un GLM avec R, il suffit d’employer la fonction glm() du package stats qui est chargé par défaut, à chaque ouverture de session R. Cette fonction s’utilise globalement comme la fonction lm(), excepté qu’elle dispose en plus de l’argument « family » qui permet de spécifier à la fois la fonction de lien et la structure d’erreur désirée.
Les options disponibles de l’argument family sont :
Un exemple avec des données de comptage, et une analyse de type ANOVA à un facteur :
## counts treatment
## 1 18 T1
## 2 17 T1
## 3 15 T1
## 4 16 T2
## 5 13 T2
## 6 12 T2
## 7 17 T3
## 8 4 T3
## 9 8 T3
Conclusion
counts_glm <- glm(counts~treatment, data=counts_df, family=poisson)
summary(counts_glm)
##
## Call:
## glm(formula = counts ~ treatment, family = poisson, data = counts_df)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max ## -2.0674 -0.4605 -0.1818 0.3224 2.1278
##
## Coefficients: ## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.8134 0.1414 19.894 <2e-16 ***
## treatmentT2 -0.1985 0.2107 -0.942 0.3462
## treatmentT3 -0.5447 0.2334 -2.334 0.0196 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 15.700 on 8 degrees of freedom
## Residual deviance: 10.013 on 6 degrees of freedom
## AIC: 55.246
##
## Number of Fisher Scoring iterations: 5
Si la théorie des GLM vous échappe encore un peu, de mon point de vu, ce n’est pas très gênant. Ce qui est important de retenir c’est que lorsque les données observées sont de type « comptage » ou de type « binaire », et bien il faut utiliser un GLM et pas un modèle linéaire classique. Vous pouvez aussi retenir que les GLM permettent d’évaluer les effets d’une ou plusieurs variables prédictives, de type numérique continue ou de type catégoriel, sur des réponses de type comptage, de type binaire ou encore des proportions.
Cet article avait seulement pour but d’introduire les GLM. J’aborderai les régressions de Poisson et logistique, en détail, dans de prochains articles « Tutoriel ».
Pour celles et ceux qui voudraient dores et déjà en savoir plus, je vous recommande les chapitres dédiés aux GLM du « R book » et du livre « R in action« . Je vous recommande aussi ce document en français, rédigé par Jonathan Lenoir, qui m’a aidé à écrire cet article :
Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee
Crédits photos : Geralt
Très bonne révision pour le week-end. On aurra toujours besoin de vos idées analytiques. Merci claire
Merci Claire. Très article et super cool.
merci beaucoup
merci bien.
Merci pour votre pedagogie
Bonsoir,
Article au top merci à vous et merci pour les fiches de révisions à dispo gratuitement !
Est-ce qu’un article sur : les modèles linéaires généralisés à effets mixtes glmer() pourrait être fait ?
Merci Claire ,je me mets vraiment à jour lorsque je lis vos articles.c’est très bien expliqué. j’apprécie grande ment
Bonjour Claire et merci
J’ai juste un doute sur l’indice dans une formule (partie 1.1 Formulation des modèles linéaires classiques) juste avant « Remarque : Cette dernière formulation est importante pour comprendre les GLM. »: ce n’est pas mu indice i qu’il faudrait lire à la place de mu indice y ? (dans un cas je comprends la formule dans l’autre … pas !)
Bien cordialement
Bonjour,
D’après ma compréhension, c’est bien mu indice y, ça représente la réponse prédite (donc y) moyenne (le mu).
Article au top, blog complet et très bien expliqué ! Merci pour les fiches gratuites !!
Bonjour,
Merci beaucoup pour votre super article! J’ai pour ma part un souci avec l’analyse des résultats obtenus… Est-ce qu’avec l’exemple que vous avez donné, il est possible de tirer une conclusion sur l’efficacité des traitement? Peut-on conclure que les traitements 1 et 3 donnent un résultat significativement différent? est-ce possible de faire un test post-hoc par après (classification des moyennes)?
Bonjour,
Les p-values ne sont pas ajustées pour prendre en considération les comparaisons multiples.
Pour cela, je vous recommande de consulter l’article : Tutoriel : GLM sur données de comptage (régression de Poisson) avec R
Bonjour,
Merci beaucoup pour cette introduction au GLM très claire et rassurante !
Les fiches sont un bonheur, pour quelqu’un qui a du mal avec les statistiques c’est une mine d’or.
Un article absolument superbe. Mille mercis 🙏
Un million de fois merci pour cet article, et pour tous les autres. Je me suis mis à R récemment et je suis tombé par hasard sur votre Blog. Quelle chance ! Au delà de l’utilisation de R, c’est un vrai bonheur de d’avoir des articles statistiques aussi clairs, qui plus est en français. J’aurais aimé que mes cours de stats soient aussi accessibles. En attendant, je reprend du plaisir à travailler les stats, il n’est jamais trop tard pour une réconciliation ! Je me délecte à l’avance des prochaines heures de lectures et de travail sur R. Encore: Merci !!
Tutoriel très intéressant. Merci bien
Que signifie z-value
Bonjour,
Les valeurs z dans les résultats d’un modèle linéaire généralisé (GLM) jouent un rôle similaire à celui des valeurs t dans les modèles de régression linéaire classiques. Voici quelques points clés pour comprendre ces valeurs z :
Mesure de Significativité : La valeur z est une mesure statistique qui indique la distance entre la valeur estimée d’un coefficient et sa valeur hypothétique (souvent zéro) en termes d’erreurs standard. Une valeur z élevée (en valeur absolue) suggère que le coefficient est significativement différent de la valeur hypothétique.
Calcul : La valeur z est calculée en divisant l’estimation du coefficient par son erreur standard. Mathématiquement, cela se formule comme :
z= Estimation du Coefficient / Erreur Standard
Hypothèse Nulle : La valeur z est utilisée pour tester l’hypothèse nulle que le coefficient est égal à zéro (c’est-à-dire, pas d’effet). Si la valeur z est grande en valeur absolue, cela signifie qu’il est peu probable que le coefficient soit zéro, et donc, que la variable correspondante a un effet significatif sur la variable dépendante.
P-valeur : La valeur z est associée à une p-valeur, qui est la probabilité d’observer une valeur aussi extrême que la valeur z observée si l’hypothèse nulle est vraie. Une petite p-valeur (généralement inférieure à 0,05) indique que l’effet est statistiquement significatif.
Bonne continuation