Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
r_atelier4 [2018/10/10 19:30]
katherinehebert [7.2 Jeu de données Dickcissel]
r_atelier4 [2021/10/13 23:51] (current)
lsherin
Line 1: Line 1:
 +<WRAP group>
 +<WRAP centeralign>​
 +<WRAP important>​
 +<wrap em> __AVIS IMPORTANT__ </​wrap> ​
 +
 +<wrap em> Depuis l'​automne 2021, ce wiki a été discontinué et n'est plus activement développé. </​wrap>​
 +
 +<wrap em> Tout le matériel mis à jour et les annonces pour la série d'​ateliers R du CSBQ se trouvent maintenant sur le [[https://​r.qcbs.ca/​fr/​workshops/​r-workshop-04/​|site web de la série d'​ateliers R du CSBQ]]. Veuillez mettre à jour vos signets en conséquence afin d'​éviter les documents périmés et/ou les liens brisés. </​wrap>​
 +
 +<wrap em> Merci de votre compréhension,​ </​wrap>​
 +
 +<wrap em> Vos coordonnateurs de la série d’ateliers R du CSBQ. </​wrap>​
 +
 +</​WRAP>​
 +</​WRAP>​
 +<WRAP clear></​WRAP>​
 +
 ======= Ateliers R du CSBQ ======= ======= Ateliers R du CSBQ =======
  
Line 12: Line 29:
 **Résumé :** Dans cet atelier, vous apprendrez comment effectuer des modèles linéaires fréquemment utilisés en écologie tels que la régression simple, l’analyse de variance (ANOVA), l’analyse de covariance (ANCOVA) et la régression multiple avec le logiciel R. Après avoir vérifié les postulats de ces modèles (visuellement et statistiquement) et transformé vos données si nécessaire,​ l’interprétation des résultats et leur représentation graphique n’auront plus de secrets pour vous! **Résumé :** Dans cet atelier, vous apprendrez comment effectuer des modèles linéaires fréquemment utilisés en écologie tels que la régression simple, l’analyse de variance (ANOVA), l’analyse de covariance (ANCOVA) et la régression multiple avec le logiciel R. Après avoir vérifié les postulats de ces modèles (visuellement et statistiquement) et transformé vos données si nécessaire,​ l’interprétation des résultats et leur représentation graphique n’auront plus de secrets pour vous!
  
-Lien vers la présentation Prezi associée ​: [[http://​prezi.com/​tbpa702q4uxr/​|Prezi]]+**Lien vers la nouvelle [[https://​qcbsrworkshops.github.io/​workshop04/​workshop04-fr/​workshop04-fr.html|présentation Rmarkdown]]** 
 + 
 +//S'il vous plaît essayez-la et dites aux coordonnateurs des ateliers R ce que vous en pensez!// 
 + 
 +Lien vers l'​ancienne ​[[http://​prezi.com/​tbpa702q4uxr/​|présentation ​Prezi]]
  
 Téléchargez les scripts R et les données pour cet atelier : Téléchargez les scripts R et les données pour cet atelier :
Line 80: Line 101:
 ^ ANCOVA ​             | :::        | Continue\\ ET catégorique| 2 ou plus| 2 ou plus| ^ ANCOVA ​             | :::        | Continue\\ ET catégorique| 2 ou plus| 2 ou plus|
 ^ Régression multiple | :::        | Continue| 2 ou plus| | ^ Régression multiple | :::        | Continue| 2 ou plus| |
-==== 1.3 Hypothèses ​de base du modèle linéaire ====+==== 1.3 Conditions ​de base du modèle linéaire ====
  
-Pour être valide, les modèles linéaires s'​appuient sur 4 hypothèses ​de base. Si les 4 hypothèses ​ne sont pas respectées,​ les résultats du modèle ne peuvent pas être interprétés de façon valable. ​+Pour être valide, les modèles linéaires s'​appuient sur 4 conditions ​de base. Si les 4 conditions ​ne sont pas respectées,​ les résultats du modèle ne peuvent pas être interprétés de façon valable. ​
  
   - Les résidus sont **indépendants**   - Les résidus sont **indépendants**
Line 89: Line 110:
   - Les résidus sont **homoscédastiques** (i.e. leur variance est constante)   - Les résidus sont **homoscédastiques** (i.e. leur variance est constante)
  
-Notez que ces 4 hypothèses ​concernent les résidus, et non les variables réponses ou explicatives. Les résidus doivent être indépendants,​ c'​est-à-dire qu'il n'y a pas de structure manquante dans le modèle (comme une autocorrélation spatiale ou temporelle). Les résidus doivent aussi suivre une distribution normale avec une moyenne de 0, signifiant que la majorité des résidus ont une valeur proche de 0 (i.e. l'​erreur est très petite) et que la distribution est symmétrique (i.e. la variable réponse est sous-estimée autant qu'​elle est surestimée). Les residus doivent être homoscédastiques,​ c'​est-à-dire que l'​erreur ne change pas beaucoup quand les variables explicatives changent de valeur.+Notez que ces 4 conditions ​concernent les résidus, et non les variables réponses ou explicatives. Les résidus doivent être indépendants,​ c'​est-à-dire qu'il n'y a pas de structure manquante dans le modèle (comme une autocorrélation spatiale ou temporelle). Les résidus doivent aussi suivre une distribution normale avec une moyenne de 0, signifiant que la majorité des résidus ont une valeur proche de 0 (i.e. l'​erreur est très petite) et que la distribution est symmétrique (i.e. la variable réponse est sous-estimée autant qu'​elle est surestimée). Les residus doivent être homoscédastiques,​ c'​est-à-dire que l'​erreur ne change pas beaucoup quand les variables explicatives changent de valeur.
  
-Dans les section suivantes, nous ne répétons pas les hypothèses ​ci-dessus pour chaque modèle. **Prenez conscience, par contre, que ces hypothèses ​de base s'​appliquent à tous les modèles linéaires, incluant tous ceux qui seront abordés ci-dessous.**+Dans les section suivantes, nous ne répétons pas les conditions ​ci-dessus pour chaque modèle. **Prenez conscience, par contre, que ces conditions ​de base s'​appliquent à tous les modèles linéaires, incluant tous ceux qui seront abordés ci-dessous.**
  
 ====1.4 Statistiques de tests et p-values==== ====1.4 Statistiques de tests et p-values====
Line 104: Line 125:
   - Visualiser les données (ceci peut aussi se faire plus tard)   - Visualiser les données (ceci peut aussi se faire plus tard)
   - Créer un modèle   - Créer un modèle
-  - Tester les 4 hypothèses ​de base du modèle +  - Tester les 4 conditions ​de base du modèle 
-  - Ajuster le modèle si les hypothèses ​de base ne sont pas respectées+  - Ajuster le modèle si les conditions ​de base ne sont pas respectées
   - Interpréter les résultats du modèle   - Interpréter les résultats du modèle
  
 ===== 2. Régression linéaire simple ===== ===== 2. Régression linéaire simple =====
  
-La régression linéaire simple est un type de modèle linéaire qui contient seulement une variable explicative continue. La régression détermine si les deux variables (1 explicative,​ et 1 réponse) sont significativement corrélés.+La régression linéaire simple est un type de modèle linéaire qui contient ​**seulement une variable explicative continue**. La régression détermine si les deux variables (1 explicative,​ et 1 réponse) sont significativement corrélés.
  
-Une régression linéaire simple concerne deux paramètres qui doivent être estimés: l'​ordonnée à l'​origine (β<​sub>​0</​sub>​) et un coefficient de corrélation (β<​sub>​1</​sub>​).  ​+Une régression linéaire simple concerne deux paramètres qui doivent être estimés: l'**ordonnée à l'​origine** (β<​sub>​0</​sub>​) et un **coefficient de corrélation** (β<​sub>​1</​sub>​).  ​
  
 La méthode des moindres carrés est la méthode la plus couramment utilisée, et est employée par défaut dans la fonction ''​lm()''​ dans R. La méthode des moindres carrés fait passer une droite de manière à minimiser la somme des distances verticales au carré entre la droite et les données observées : autrement dit, la méthode vise à minimiser les résidus. ​ La méthode des moindres carrés est la méthode la plus couramment utilisée, et est employée par défaut dans la fonction ''​lm()''​ dans R. La méthode des moindres carrés fait passer une droite de manière à minimiser la somme des distances verticales au carré entre la droite et les données observées : autrement dit, la méthode vise à minimiser les résidus. ​
Line 171: Line 192:
 lm1 <- lm(birdMaxAbund birdMass) # où Y ~ X signifie Y "en fonction de" X> lm1 <- lm(birdMaxAbund birdMass) # où Y ~ X signifie Y "en fonction de" X>
 </​code>​ </​code>​
-==== 2.2 Validation des hypothèses ​de base ====+==== 2.2 Validation des conditions ​de base ====
  
 <code rsplus | Graphiques de diagnostic > <code rsplus | Graphiques de diagnostic >
Line 197: Line 218:
  
 \\  \\ 
-//​**Graphique "​Scale-location"​**//​ - Le troisième graphique de diagnostique permet de vérifier si la dispersion des résidus augmente pour une valeur prédite donnée (i.e. si la dispersion des résidus est causée par la variable explicative). Si la dispersion augmente, ​l'​hypothèse ​de base d'​homoscédasticité n'est pas respectée.+//​**Graphique "​Scale-location"​**//​ - Le troisième graphique de diagnostique permet de vérifier si la dispersion des résidus augmente pour une valeur prédite donnée (i.e. si la dispersion des résidus est causée par la variable explicative). Si la dispersion augmente, ​la condition ​de base d'​homoscédasticité n'est pas respectée.
  
 {{:​workshop_3_lm1_scale-location.png?​300|}} {{:​workshop_3_lm1_scale-location.png?​300|}}
Line 215: Line 236:
 === Influence des observations aberrantes=== === Influence des observations aberrantes===
  
-//​**Diagramme de résidus vs. influence**//​ - En plus de valider les hypothèses de bases ci-dessus, on s'​intéresse aussi à déterminer si certaines observations ont une forte influence. Bien qu'on ne teste pas un test d'​hypothèse ​de base, ceci peut influencer notre interprétation des données. Si une ou certaines observations sont aberrantes (dont, si elles ont des valeurs très différentes des autres), le modèle peut être mal ajusté en raison de leur influence exagérée sur la calculation du modèle. Si (et seulement si!) ces observations correspondent à des erreurs de mesure ou à des exceptions, elles peuvent être retirées du jeu de données.\\ ​+//​**Diagramme de résidus vs. influence**//​ - En plus de valider les hypothèses de bases ci-dessus, on s'​intéresse aussi à déterminer si certaines observations ont une forte influence. Bien qu'on ne teste pas un test de condition ​de base, ceci peut influencer notre interprétation des données. Si une ou certaines observations sont aberrantes (dont, si elles ont des valeurs très différentes des autres), le modèle peut être mal ajusté en raison de leur influence exagérée sur la calculation du modèle. Si (et seulement si!) ces observations correspondent à des erreurs de mesure ou à des exceptions, elles peuvent être retirées du jeu de données.\\ ​
  
 {{:​workshop_3_lm1_leverage.png?​300|}} {{:​workshop_3_lm1_leverage.png?​300|}}
 ==== 2.3 Normalisation des données ==== ==== 2.3 Normalisation des données ====
  
-Dans l'​exemple précédent,​ les résidus du modèle ne suivaient pas une distribution normale, alors l'​hypothèse ​de base de normalité est invalide. On peut quand même utiliser un modèle linéaire si on réussit à normaliser les données, afin de respecter la condition de normalité. L'​étape suivante est donc de normaliser les données à l'aide de transformations mathématiques. Souvent, si on normalise les variables explicatives et/ou réponses, les résidus suivent une distribution normale. En plus des diagramme QQ, on peut évaluer la normalité d'une variable en traçant un histogramme avec la fonction ''​hist()'',​ et en vérifiant visuellement que la variable suit une distribution normale. Par exemple :+Dans l'​exemple précédent,​ les résidus du modèle ne suivaient pas une distribution normale, alors la condition ​de base de normalité est invalide. On peut quand même utiliser un modèle linéaire si on réussit à normaliser les données, afin de respecter la condition de normalité. L'​étape suivante est donc de normaliser les données à l'aide de transformations mathématiques. Souvent, si on normalise les variables explicatives et/ou réponses, les résidus suivent une distribution normale. En plus des diagramme QQ, on peut évaluer la normalité d'une variable en traçant un histogramme avec la fonction ''​hist()'',​ et en vérifiant visuellement que la variable suit une distribution normale. Par exemple :
  
 <code rsplus | Vérifier la normalité des données: fonction hist()> <code rsplus | Vérifier la normalité des données: fonction hist()>
Line 1278: Line 1299:
  
 {{:lm_fig 13.png?​850|}} {{:lm_fig 13.png?​850|}}
-==== 7.3 Régression polynomiale (section avancée ​et optionnelle) ====+==== 7.3 Régression polynomiale (section avancée/​facultative) ====
  
 <​hidden>​ <​hidden>​
-Les relations entre des variables réponses et des variables explicatives ne sont pas toujours linéaires. Dans ce cas, une régression linéaire qui correspond à une droite reliant deux variables ​ne peut pas bien représenter la relation ​existant ​entre ces deux variables. Une régression polynomiale ​peut être utilisée afin de tracer une courbe polynomiale entre la variable réponse et la variable explicative. Ceci permet de représenter une relation non linéaire basée sur le modèle mathématique suivant :+Les relations entre variables réponses et variables explicatives ne sont pas toujours linéaires. Dans ce cas, une régression linéairequi correspond à une droite reliant deux variables, est incapable de représenter la relation entre ces deux variables. Une régression polynomiale ​permet ​de tracer une courbe polynomiale entre la variable réponse et la variable explicative, et permet de représenter une relation non linéaire basée sur le modèle mathématique suivant :
  
 <m> {y_i} = {β_0} + {β_1}{x_i} + {β_2}{{x_i}^2} + {β_3}{{x_i}^3} + {ε_i} </m> pour un polynôme de degré 3\\ <m> {y_i} = {β_0} + {β_1}{x_i} + {β_2}{{x_i}^2} + {β_3}{{x_i}^3} + {ε_i} </m> pour un polynôme de degré 3\\
Line 1308: Line 1329:
 ---- ----
  
-Défi 7+**DÉFI ​7**
  
 Comparez les différents modèles polynomiaux de l'​exemple précédent et déterminez quel modèle est le plus approprié. Extrayez le R carré ajusté, les coefficients de régression et les valeurs de p de ce modèle. Comparez les différents modèles polynomiaux de l'​exemple précédent et déterminez quel modèle est le plus approprié. Extrayez le R carré ajusté, les coefficients de régression et les valeurs de p de ce modèle.
Line 1362: Line 1383:
 </​hidden>​ </​hidden>​
 ==== 7.4 Régression pas à pas ==== ==== 7.4 Régression pas à pas ====
-Afin d'​obtenir un modèle de régression multiple "​optimal",​ on peut débuter ​avec un modèle qui inclut toutes les variables explicatives et retirer les variables non significatives ​en procédant à une sélection pas à pas. Les variables non significatives sont retirées une à la fois et l'​ajustement de chaque modèle successif est évalué à l'aide de l'AIC [[http://​fr.wikipedia.org/​wiki/​Crit%C3%A8re_d%27information_d%27Akaike|(Critère d'​information d'​Akaike)]],​ jusqu'​à ce que toutes les variables explicatives soient significatives. Prenez note qu'une valeur plus basse d'AIC indique un meilleur ajustement (i.e. le meilleur modèle est celui avec la valeur d'AIC la plus basse). Dans R, la sélection pas à pas est effectuée à l'aide de la fonction ''​step()''​ :+<​hidden>​ 
 +Afin d'​obtenir un modèle de régression multiple "​optimal",​ on peut commencer ​avec un modèle qui inclut toutes les variables explicatives et retirer les variables non significativesprocédant ​donc à une **sélection pas à pas**. Les variables non significatives sont retirées une à la fois et l'​ajustement de chaque modèle successif est évalué à l'aide de l'AIC [[http://​fr.wikipedia.org/​wiki/​Crit%C3%A8re_d%27information_d%27Akaike|(Critère d'​information d'​Akaike)]],​ jusqu'​à ce que toutes les variables explicatives soient significatives. Prenez note qu'une valeur plus basse d'AIC indique un meilleur ajustement (i.e. le meilleur modèle est celui avec la valeur d'AIC la plus basse). Dans R, la sélection pas à pas est effectuée à l'aide de la fonction ''​step()''​ :
  
 <code rsplus| Régression pas à pas> <code rsplus| Régression pas à pas>
Line 1370: Line 1392:
 </​code>​ </​code>​
  
-Les résultats indiquent que seulement ​six variables sont significatives parmi les treize ​variables de départ :+Les résultats indiquent que seulement ​variables sont significatives parmi les 13 variables de départ :
  
    Call: lm(formula = abund ~ clDD + clFD + clTmi + clTma + clP + grass, ​ data = Dickcissel)    Call: lm(formula = abund ~ clDD + clFD + clTmi + clTma + clP + grass, ​ data = Dickcissel)
Line 1393: Line 1415:
 Le modèle explique maintenant 31.44% de la variabilité de l'​abondance. La variable explicative la plus significative est clTmi.\\ Le modèle explique maintenant 31.44% de la variabilité de l'​abondance. La variable explicative la plus significative est clTmi.\\
 Cependant, certaines des variables explicatives sont corrélées entre elles et devraient être retirées du modèle final afin de ne pas inclure de variables qui n'​apportent pas d'​information nouvelle. ​ Cependant, certaines des variables explicatives sont corrélées entre elles et devraient être retirées du modèle final afin de ne pas inclure de variables qui n'​apportent pas d'​information nouvelle. ​
 +</​hidden>​
  
-==== 7.5 Inflation de la variance ==== +===== 8. Partition de la variation (section avancée/​facultative) =====
- +
-La colinéarité entre des variables explicatives peut être évaluée en calculant un facteur d'​inflation de la variance à l'aide de la fonction ''​vif()''​ de la librairie ''​HH''​ : +
- +
-<code rsplus| Facteur d'​inflation de la variance>​ +
-vif(clDD ~ clFD + clTmi + clTma + clP + grass, data=Dickcissel) +
-</​code>​ +
- +
-ce qui donne la sortie suivante : +
- +
-    clFD     ​ clTmi ​    ​ clTma ​      ​ clP ​    ​ grass  +
-   ​13.605855 ​ 9.566169 ​ 4.811837 ​ 3.196599 ​ 1.165775 +
- +
-On considère qu'un facteur d'​inflation de la variance supérieur à cinq indique que les variables sont colinéaires. La sortie de R indique que les variables //clDD//, //clFD// et //clTmi// sont fortement colinéaires. Seulement une des trois variables doit être retenue dans le modèle de régression final. +
-===== 8. Partition de la variation (section ​optionnelle et avancée) =====+
 <​hidden>​ <​hidden>​
-Afin d'​évaluer la contribution relative de deux ou plusieurs variables explicatives à décrire ​la variabilité d'une variable réponse, on peut utiliser la fonction ''​varpart()''​ de la librairie "​vegan"​. Cette fonction permet de subdiviser la variation expliquée de la réponse variable entre différents groupes de variables explicatives. Par exemple, dans le jeu de données Dickcissel, on peut évaluer les contributions relatives des données climatiques et du paysage de la manière suivante :+Afin d'​évaluer la contribution relative de deux ou plusieurs variables explicatives à la variabilité d'une variable réponse, on peut utiliser la fonction ''​varpart()''​ de la librairie "​vegan"​. Cette fonction permet de subdiviser la variation expliquée de la réponse variable entre différents groupes de variables explicatives. Par exemple, dans le jeu de données Dickcissel, on peut évaluer les contributions relatives des données climatiques et du paysage de la manière suivante :
  
 <code rsplus| Partition de la variation>​ <code rsplus| Partition de la variation>​
Line 1490: Line 1499:
  
 </​hidden>​ </​hidden>​
-\\+ 
 +---- 
 ===== Allez plus loin ! ===== ===== Allez plus loin ! =====
  
-**Super ! Vous êtes maintenant prêts à effectuer des régressions,​ des ANOVA et des ANCOVA sur vos propres données. Cependant, rappelez-vous de toujours spécifier vos modèles correctement et de vérifier leurs suppositions ​avant d'​interpréter les résultats en fonction des caractéristiques écologiques de vos données.+**Super ! Vous êtes maintenant prêts à effectuer des régressions,​ des ANOVA et des ANCOVA sur vos propres données. Cependant, rappelez-vous de toujours spécifier vos modèles correctement et de vérifier leurs conditions de base avant d'​interpréter les résultats en fonction des caractéristiques écologiques de vos données.
 ** **