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 [2016/10/21 10:45]
vincent_fugere [Ateliers R du CSBQ]
r_atelier4 [2018/10/24 10:08] (current)
mariehbrice
Line 8: Line 8:
 ====== Atelier 4 : Modèles linéaires ====== ====== Atelier 4 : Modèles linéaires ======
  
-Développé par : Catherine Baltazar, Bérenger Bourgeois, Zofia Taranu+Développé par : Catherine Baltazar, Bérenger Bourgeois, Zofia Taranu, Shaun Turney, Willian Vieira
  
-**Résumé :** Durant ​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/​Workshops/​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 :
   - [[http://​qcbs.ca/​wiki/​_media/​lm_f.r|Script R]]   - [[http://​qcbs.ca/​wiki/​_media/​lm_f.r|Script R]]
-  - [[http://​qcbs.ca/​wiki/​_media/​birdsdiet.csv| ​données ​birdsdiet]] +  - [[http://​qcbs.ca/​wiki/​_media/​birdsdiet.csv| ​Données ​birdsdiet]] 
-  - [[http://​qcbs.ca/​wiki/​_media/​dickcissel.csv| ​données ​dickcissel]] +  - [[http://​qcbs.ca/​wiki/​_media/​dickcissel.csv| ​Données ​dickcissel]] 
-  ​+  ​- [[http://​qcbs.ca/​wiki/​_media/​lm_adv.r|Script avancé (facultatif)]] 
 +  - [[http://​qcbs.ca/​wiki/​_media/​my.plotcorr.r|Fonction Plotcorr (facultatif)]]  
 +  - [[http://​qcbs.ca/​wiki/​_media/​col.plotcorr.r|Fonction Col plotcorr (facultatif)]] ​
 ===== Objectifs d'​apprentissage ===== ===== Objectifs d'​apprentissage =====
  
Line 28: Line 34:
   - Analyse de la covariance (ANCOVA)   - Analyse de la covariance (ANCOVA)
   - Régression linéaire multiple   - Régression linéaire multiple
-  ​Partition ​de la variance\\ //(section avancée ​et optionnelle)// +===== 1. Aperçu ===== 
-===== Aperçu ​=====+ 
 +====1.1 Définir la moyenne et la variation==== 
 + 
 +En science, on s'​intéresse souvent à déterminer les relations entre des variables. Dans cet atelier, nous apprendrons comment utiliser des modèles linéaires, un ensemble de modèles qui quantifie les relations entre des variables. 
 + 
 +On commencera par définir deux concepts-clés pour comprendre les modèles linéaires: la moyenne et la variation. La **moyenne** est une mesure ​de la valeur moyenne d'une population. Supposons que nous avons une variable aléatoire x, comme la grandeur des personnes dans une salle, et que nous voulons représenter les patrons de cette variable. En premier lieu, on peut utiliser la moyenne ​(qui peut être calculée de plusieurs manières). 
 + 
 +Par contre, la moyenne ne peut pas représenter une population au complet. On peut aussi décrire une population à l'aide de mesures de variation. La **variation** est la dispersion (ou l'​écart) des observations autour de la moyenne. Par exemple, il y a peu de variation si tout le monde dans une salle ont presque la même grandeur, ​et beaucoup de variation si plusieurs personnes sont de grandeurs très différentes. L'​écart moyen, la variance, l'​écart type, et le coefficient de variation (ou l'​écart type relatifsont tous des mesures de variation que nous définirons ci-dessous. On peut mesurer l'​écart de chaque élément par rapport à la moyenne: 
 + 
 +Avec l'​écart de tous les éléments, on peut calculer l'​**écart moyen**: 
 + 
 +Afin de transformer tous les variables en valeurs positives sans utiliser de valeurs absolues, on peut mettre chaque valeur au carré. On obtient alors la **variance**:​ 
 + 
 +Par contre, en mettant toutes les valeurs au carré, on change les unités de nos variables. Si on reprend notre exemple des grandeurs de personnes dans la salle, la variance sera en m<​sup>​2<​/sup>, une unité qui n'est plus pertinente pour notre question initiale. Pour transformer ces valeurs en unités appropriées,​ on peut calculer l'​**écart type**: 
 + 
 +Finalement, pour exprimer le **coefficient de variation** (également nommé l'​écart type relatif) en pourcentage,​ nous avons: 
 + 
 +====1.2 Les modèles linéaires==== 
 + 
 +Dans les modèles linéaires, on utilise les concepts de moyenne et de variation pour décrire la relation entre deux variables. On dit "​modèles linéaires",​ parce qu'ils décrivent la relation entre variables avec une droite: 
 + 
 +<m> {y_i} {β_0} + {β_1}{x_{i1}} + ... + {β_p}{x_{ip}} + {ε_i} </​m>​ 
 + 
 +où\\  
 + 
 +<​m>​{y_i}</​m>​ est la variable réponse,​\\ 
 +<​m>​{β_0}</​m>​ est l'​ordonnée à l'​origine de la droite de régression,​\\ 
 +<​m>​{β_1}</​m>​ est le coefficient de variation de la 1<​sup>​ère</​sup>​ variable explicative,​\\ 
 +<​m>​{β_p}</​m>​ est le coefficient de variation de la p<​sup>​ème</​sup>​ variable explicative,​\\ 
 +<​m>​{x_i1}</​m>​ est la variable explicative continue pour la première observation,​\\ 
 +<​m>​{x_ip}</​m>​ est la variable explicative continue pour la p<​sup>​ième</​sup>​ observation,​\\\\ 
 +<​m>​{ε_i}</​m>​ sont les résidus du modèle (i.e. la variance inexpliquée).\\ 
 + 
 +La **variable réponse** (<​m>​y</​m>​) est la variable que nous voulons expliquer, ou la variable dépendante. Il n'y a qu'une variable réponse. Les **variables explicatives** (<​m>​x</​m>​) sont des variables qui peuvent (potentiellement) expliquer la variable réponse. Celles-ci sont les variables indépendantes. On peut inclure une ou plusieurs variables explicatives. Par exemple, supposons que nous voulons expliquer la variation en grandeur des personnes dans cette salle. La grandeur est la variable réponse. Des variables explicatives peuvent être l'âge ou le sexe. 
 + 
 +Dans les modèles linéaires, les variables réponses doivent être continues, mais les variables explicatives peuvent être continues ou catégoriques. Une **variable continue** a une infinité de valeurs possibles. Une **variable catégorique** a un nombre limité de valeurs possibles. L'​âge,​ la température,​ et la latitude sont des variables continues. Le sexe, le stade de développement,​ et le pays sont des variables catégoriques. Pour les variables explicatives continues, le modèle linéaire évalue s'il y a une corrélation significative entre la variable réponse et la ou les variables explicatives. Pour les variables explicatives catégoriques,​ le modèle linéaire évalue si la valeur moyenne de la variable réponse diffère significativement entre les différents niveaux (ou groupes) des variables explicatives. Ceci deviendra plus clair en explorant les types de modèles linéaires dans les sections suivantes.  
 + 
 +Dans presque tous les cas, les variables explicatives n'​expliquent pas toute la variation dans la variable réponse. Par exemple, le sexe et l'âge ne ne seront pas assez pour prédire la grandeur de chaque personne parfaitement. La variation qui reste inexpliquée sont les **résidus**,​ ou l'​erreur. 
 + 
 +Le but d'un modèle linéaire est de trouver la meilleure estimation des paramètres (les variables β), puis d'​évaluer la qualité de l'​ajustement ("//​goodness of fit//"​) du modèle. Plusieurs méthodes ont été développées pour calculer l'​intercept et les coefficient de modèles linéaires. Le choix approprié dépend du modèle. Le concept général de ces méthodes consiste de minimiser les résidus.
  
-Les scientifiques sont souvent intéressés à déterminer les relations entre des variables. ​Selon la nature ​et le nombre de variables considérées,​ différents outils statistiques peuvent être utilisés pour évaluer ces relations. ​La table suivante dresse une liste de cinq types d'​analyses statistiques ​qui seront couverts durant ​cet atelier : +Selon le type et le nombre de variables ​explicatives ​considérées,​ différents outils statistiques peuvent être utilisés pour évaluer ces relations ​entre variablesLe tableau ci-dessous ​liste les 5 types d'​analyses statistiques ​abordées dans cet atelier:
  
 ^ Analyse statistique^ Type de variable\\ réponse Y^ Type de variable\\ explicative X^ Nombre de\\ variables explicatives ^ Nombre de\\ niveaux k^ ^ Analyse statistique^ Type de variable\\ réponse Y^ Type de variable\\ explicative X^ Nombre de\\ variables explicatives ^ Nombre de\\ niveaux k^
Line 39: Line 84:
 ^ 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 Conditions de base du modèle linéaire ====
  
-===== 1. Régression linéaire simple ===== +Pour être valide, ​les modèles linéaires s'​appuient sur 4 conditions de baseSi 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. ​
-Le but de cette analyse est de trouver une relation entre une variable réponse //y// et une variable explicative //x// en faisant passer une droite entre les donnéesLe modèle ​mathématique correspondant à une régression linéaire est représenté par l'​équation suivante :+
  
-<m> {y_i} = {β_0} + {β_1}{x_i} + {ε_i} </m>+  - Les résidus sont **indépendants** 
 +  - Les résidus suivent une **distribution normale** 
 +  - Les résidus ont une **moyenne de 0** 
 +  - Les résidus sont **homoscédastiques** (i.e. leur variance est constante)
  
-où\\ +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.
  
-<​m>​{β_0}</​m>​ est l'​ordonnée à l'​origine de la droite de régression,\\ +Dans les section suivantesnous ne répétons pas les conditions ci-dessus ​pour chaque modèle. **Prenez consciencepar contre, que ces conditions de base s'​appliquent à tous les modèles linéaires, incluant tous ceux qui seront abordés ci-dessous.**
-<​m>​{β_1}</​m>​ est la pente de la droite de régression,​\\ +
-<​m>​{x_i}</​m>​ est la variable explicative continue ​pour la i<​sup>​ième</​sup>​ observation,\\ +
-<​m>​{ε_i}</​m>​ sont les résidus du modèle (i.e. la variance inexpliquée).\\+
  
-L'​objectif est de trouver la meilleure estimation ​de ces deux paramètres de régression ​(i.e. la pente et l'ordonnée ​à l'origineet d'évaluer ​l'ajustement (i.egoodness of fit) du modèle de régressionBien que plusieurs méthodes aient été développées afin de calculer ​les coefficients de la pente et de l'​ordonnée à l'​origine ​d'un modèle ​de régression,​ la méthode des moindres carrés est la méthode la plus utilisée et correspond à la méthode ​par défaut ​de 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 pente (β<​sub>​1</​sub>​) et l'​ordonnée à l'​origine (β<​sub>​0</​sub>​) peuvent être calculées ​de la façon suivante :+====1.4 Statistiques ​de tests et p-values==== 
 + 
 +Une fois que le modèle a été exécuté dans R, on reçoit une **sortie du modèle** composé de plusieurs éléments. Comprendre chacun ​de ces éléments et identifier les éléments pertinents de la sortie demande un peu de pratique. La sortie inclut une estimation des paramètres ​(les variables β), ainsi que des statistiques ​de tests. Le statistique de test dépend du modèle linéaire employé ​(t est le statistique de test pour la régression linéaire et le test de t, et F est le statistique de test pour l'​ANOVA). 
 + 
 +Dans un modèle linéaire, l'​**hypothèse nulle** est typiquement qu'il n'y a aucune relation entre deux variables continues, out qu'il n'y a pas de différence entre les niveaux d'une variable catégorique**Plus ​la valeur absolue d'un statistique de test est grande, moins il est probable que l'​hypothèse nulle soit valide**. La probabilité exacte se trouve dans la sortie du modèle, ​et s'​appelle le **"​p-value"​**. On peut penser au p-value comme la probabilité que l'hypothèse nulle est valide, malgré que c'est une simplification. //(Plus précisément,​ le p-value est la probabilité que, étant donné que l'​hypothèse nulle est valide, la magnitude du statistique de test serait plus grande ou égale ​à le statistique de test réellement observé.)//​ Par convention, si un p-value est **inférieur à 0.05 (5%)**, ​l'hypothèse nulle est rejetée. Cette valeur de seuil s'​appelle **α** (alpha). Si on rejette l'hypothèse nulle, on dit alors que l'hypothèse contraire est soutenue: il y a une relation significative entre variables ou une différence significative entre groupes**Notez qu'on ne "​prouve"​ pas d'​hypothèses**,​ mais qu'on les soutient ou on les rejette. 
 + 
 +==== 1.5 Flux de travail ==== 
 + 
 +Dans cet atelier, nous explorerons plusieurs types de modèles linéaires. La création et l'​interprétation de chaque modèle diffère dans les détails, mais les principes généraux et le flux de travail s'​appliquent à tous les types. Pour chaque modèle, on suivra donc les étapes de travail suivantes:​ 
 +  - Visualiser les données (ceci peut aussi se faire plus tard) 
 +  - Créer un modèle 
 +  - Tester les 4 conditions de base du modèle 
 +  - Ajuster le modèle si les conditions ​de base ne sont pas respectées 
 +  - Interpréter les résultats du modèle 
 + 
 +===== 2Ré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. 
 + 
 +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éeet 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. ​ 
 + 
 +Cliquez ci-dessous pour plus de détails mathématiques. 
 + 
 +<​hidden>​ 
 +À l'aide de la méthode des moindres carrés, le coefficient de corrélation ​(β<​sub>​1</​sub>​) et l'​ordonnée à l'​origine (β<​sub>​0</​sub>​) peuvent être calculés ​de la façon suivante :
  
 <​m>​β_{1}={sum{i}{}{(x_{i}y_{i})}-overline{x}overline{y}}/​sum{i}{}{(x_{i}-overline{x})}^2 = {Cov(x,​y)}/​{Var(x)}</​m>​ <​m>​β_{1}={sum{i}{}{(x_{i}y_{i})}-overline{x}overline{y}}/​sum{i}{}{(x_{i}-overline{x})}^2 = {Cov(x,​y)}/​{Var(x)}</​m>​
Line 58: Line 129:
 <​m>​β_{0}=overline{y}-β_{1}overline{x}</​m>​ <​m>​β_{0}=overline{y}-β_{1}overline{x}</​m>​
  
-Afin d'​être valide, une régression linéaire doit respecter quatre suppositions de base sans lesquelles le modèle ne peut pas être interprété correctement. +</hidden
-==== 1.1 Suppositions de base ==== + 
-  - **Homoscédasticité**\\ Les variables explicatives doivent avoir une variance homogène (également appelée homoscédasticité),​ i.e. la dispersion des données doit être uniforme pour chaque valeur de x<​sub>​i</sub>. Cette supposition peut être vérifiée indirectement en représentant graphiquement la dispersion des résidus en fonction des valeurs prédites de la variable réponse.\\ Nous verrons plus loin qu'en cas d'​hétéroscédasticité,​ une transformation des données ou un modèle linéaire généralisé avec une distribution différente (Poisson, binomiale négative, etc.) peuvent être appliqués afin de mieux traduire la relation entre les variables. + 
-  - **Indépendance**\\ ​ Une régression linéaire peut seulement être appliquée à des données indépendantes. Ceci signifie qu'une valeur de y<​sub>​i</​sub>​ pour une valeur de x<​sub>​i</​sub>​ donnée ne doit pas être influencée par d'​autres valeurs de x<​sub>​i</​sub>​. Le non-respect de cette supposition peut se produire lorsqu'​il existe une forme de dépendance au sein des données telle qu'une corrélation spatiale ou temporelle. +==== 2.1 Effectuer un modèle linéaire ====
-  - **Influence**\\ Si des observations dans le jeu de données sont très différentes des autres observations,​ il peut y avoir des problèmes lors de la calibration du modèle, car ces observations vont fortement influencer la valeur de la pente et de l'​ordonnée à l'​origine.  +
-  - **Distribution normale**\\ Une régression linéaire devrait seulement être appliquée à des données suivant une distribution normale (variables réponse et explicative). +
-==== 1.2 Effectuer un modèle linéaire ====+
  
-Nous allons ​effectuer ​une première régression linéaire ​en analysant la relation entre l'​abondance maximale ​et la masse du jeu de données "​bird"​.+En utilisant le jeu de données ''​bird'',​ nous allons ​exécuter ​une première régression linéaire ​sur l'​abondance maximale ​en fonction de la masse.
  
-Dans R, une régression linéaire est codée ​à l'aide de la fonction ''​lm()''​ de la librairie stats : +Dans R, une régression linéaire est implémentée ​à l'aide de la fonction ''​lm()''​ de la librairie ​''​stats'' ​
  
 ''​lm (y ~ x)''​ ''​lm (y ~ x)''​
Line 75: Line 143:
  
 <code rsplus | Charger et explorer les données>​ <code rsplus | Charger et explorer les données>​
-# Chargez les librairies ​et le jeu de données bird+# Chargez les paquets ​et le jeu de données bird
 library(e1071) library(e1071)
 library(MASS) library(MASS)
Line 89: Line 157:
 </​code>​ </​code>​
  
-Le jeu de données bird contient sept variables :+Le jeu de données bird contient sept variables:
  
 ^ Nom de la variable^ Description^ Type^ ^ Nom de la variable^ Description^ Type^
 ^ Family ​  | Nom de la famille | Chaînes de caractères| ​ ^ Family ​  | Nom de la famille | Chaînes de caractères| ​
-^ MaxAbund | L'​abondance ​la plus élevée observée ​à\\ n'​importe quel site en Amérique du Nord|Continue/​numérique| +^ MaxAbund | Abondance ​la plus élevée observée\\ en Amérique du Nord|Continue/​numérique| 
-^ AvgAbund | L'​abondance ​moyenne sur tous les sites\\ en Amérique du Nord|Continue/​numérique|  +^ AvgAbund | Abondance ​moyenne sur tous les sites\\ en Amérique du Nord|Continue/​numérique|  
-^ Mass     ​| ​La taille ​corporelle en grammes| Continue/​numérique|+^ Mass     ​| ​Taille ​corporelle en grammes| Continue/​numérique|
 ^ Diet     | Type de nourriture consommée| Catégorique – 5 niveaux (Plant; PlantInsect;​\\ Insect; InsectVert; Vertebrate)| ^ Diet     | Type de nourriture consommée| Catégorique – 5 niveaux (Plant; PlantInsect;​\\ Insect; InsectVert; Vertebrate)|
 ^ Passerine| Est-ce un passereau?| Binaire (0/1)| ^ Passerine| Est-ce un passereau?| Binaire (0/1)|
 ^ Aquatic ​ | Est-ce un oiseau qui vit principalement dans ou près de l'​eau?​| Binaire (0/1)| ^ Aquatic ​ | Est-ce un oiseau qui vit principalement dans ou près de l'​eau?​| Binaire (0/1)|
 +
 +Notez que Family, Diet, Passerine, et Aquatic sont tous des variables catégoriques,​ malgré le fait qu'ils soient encodés de façons différentes (chaîne de caractères,​ catégorique,​ binaire).
  
 Nous sommes maintenant prêts à exécuter le modèle linéaire : Nous sommes maintenant prêts à exécuter le modèle linéaire :
Line 105: Line 175:
 lm1 <- lm(bird$MaxAbund ~ bird$Mass) # où Y ~ X signifie Y "en fonction de" X> lm1 <- lm(bird$MaxAbund ~ bird$Mass) # où Y ~ X signifie Y "en fonction de" X>
 </​code>​ </​code>​
-==== 1.3 Vérification ​des suppositions ​====+==== 2.2 Validation ​des conditions de base ====
  
 <code rsplus | Graphiques de diagnostic > <code rsplus | Graphiques de diagnostic >
Line 113: Line 183:
 </​code>​ </​code>​
  
-=== Homoscédasticité ====+=== Vérifier l'​indépendance ​===
  
-//Graphique des résidus ​en fonction des valeurs prédites// - Le premier graphique de diagnostic ​(créé avec la fonction ''​plot(lm1)''​) représente ​la dispersion des résidus en fonction des valeurs prédites par le modèle de régression linéaire. ​Ceci permet de vérifier si la condition d'​homoscédasticité est respectée : ce graphique devrait montrer une dispersion similaire le long des valeurs prédites (axe des x). Si la relation ​entre la variable réponse et la variable explicative n'est pas linéaire, ​ce graphique va nous l'indiquer.+Les modèles linéaires s'​appliquent seulement aux données indépendantes. En d'​autres mots, le //y<​sub>​i</​sub>//​ correspondant à une certaine valeur //​x<​sub>​i</​sub>//​ ne doit pas être influencée par d'​autres valeurs //​x<​sub>​i</​sub>//​. Si vos données contiennent une certaine forme de structure de dépendance,​ comme une corrélation spatiale ou temporelle, l'​hypothèse de l'​indépendance est invalide. 
 + 
 +Malheureusement,​ il n'​existe pas un graphique de diagnostique simple pour vérifier l'​indépendance. Au contraire, il faut considérer son jeu de données avec soin et prudence. ​ Est-ce qu'il y a un structure présente dans vos données qui crée une dépendance entre observations?​ Si les données s'​agissent d'une série temporelle (donc, les observations proviennent des mêmes sites à plusieurs reprises), ou que plusieurs observations proviennent d'un même organisme, l'​hypothèse d'​indépendance est invalide. Il faut donc choisir un autre type de modèle. 
 + 
 +\\  
 + 
 +===Vérifier l'​homoscédasticité et la moyenne résiduelle de 0=== 
 + 
 +//**Graphique des résidus ​vs. valeurs prédites**// - Le premier graphique de diagnostic ​est créé avec la fonction ''​plot(lm1)''​. Ce graphique illustre ​la dispersion des résidus en fonction des valeurs prédites par le modèle de régression linéaire. ​Chaque point représente ​la distance ​entre la variable réponse et la réponse prédite par le modèle.  
 +  * Si les résidus sont dispersés de façon **aléatoire autour de la ligne de 0**, la relation ​est linéaire ​et la moyenne des résidus est 0.  
 +  * Si les résidus forment une **bande horizontale** approximative autour de la ligne de 0la variance des résidus est homogène (donc, ils sont homoscédastiques). 
 +  * Si les résidus sont organisés **en forme d'entonnoir**,​ les résidus ne sont pas homoscédastiques.
  
 {{:​workshop_3_lm1_residuals_vs_fitted.png?​300|}} ​ {{:​workshop_3_lm1_residuals_vs_fitted.png?​300|}} ​
  
-//Graphique "​Scale-location"//​ - Le troisième graphique permet de vérifier si la dispersion des résidus augmente pour une valeur prédite donnée (i.e. ça identife ​si la dispersion des résidus est causée par la variable explicative). Si la dispersion augmente, la supposition ​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|}}
  
-=== Indépendance et distribution normale ===+\\ 
  
-//Diagramme quantile-quantile//​ -  ​L'​indépendance ​peut être évaluée à l'aide d'un diagramme quantile-quantile. Ceci permet de vérifier la distribution des résidus du modèle et de vérifier la normalité de la variable réponse. Ce graphique compare la distribution de probabilité des résidus du modèle à une distribution de probabilité de données normales. Si les résidus standardisés ​sont situés ​près d'une ligne 1:1, les résidus peuvent être considérés comme normalement distribués.+=== Vérifier la normalité des résidus === 
 + 
 +//**Diagramme quantile-quantile ​(Q-Q)**// -  ​La normalité des résidus ​peut être évaluée à l'aide d'un diagramme quantile-quantile. Ce graphique compare la distribution de probabilité des résidus du modèle à une distribution de probabilité de données normales. Si les résidus standardisés ​se trouvent ​près d'une ligne 1:1, les résidus peuvent être considérés comme normalement distribués.
  
 {{:​workshop_3_lm1_qq.png?​300|}} {{:​workshop_3_lm1_qq.png?​300|}}
Line 131: Line 215:
 Dans ce cas-ci, les points ne sont pas bien alignés sur la droite, ce qui suggère que les résidus ne sont pas distribués normalement. Dans ce cas-ci, les points ne sont pas bien alignés sur la droite, ce qui suggère que les résidus ne sont pas distribués normalement.
  
-=== Influence ===+\\  
 + 
 +=== 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 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.\\ ​
  
-//Résidus vs diagramme d'​influence//​ - L'​influence de certaines données peut être visualisée sur le quatrième graphique (i.e. résidus en fonction de l'​influence) qui identifie les numéros d'​observations avec une haute influence. 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|}}
-==== 1.4 La normalisation ​des données ====+==== 2.3 Normalisation ​des données ====
  
-Dans l'​exemple précédent,​ la variable réponse //​MaxAbund//​ et la variable explicative //Mass// n'​étaient pas distribuées normalement. L'​étape suivante est d'​essayer ​de normaliser les données à l'aide de transformations mathématiques. ​Afin d'évaluer la normalité d'une variable, on trace un histogramme avec la fonction ''​hist()''​ et on vérifie ​visuellement ​si 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 ​avec la fonction hist()>​ +<code rsplus | Vérifier la normalité des donnéesfonction hist()>​ 
-Grahpique ​Y ~ X avec une ligne de régression+Graphique ​Y ~ X et la ligne de régression
 plot(bird$MaxAbund ~ bird$Mass, pch=19, col="​coral",​ ylab="​Maximum Abundance", ​ plot(bird$MaxAbund ~ bird$Mass, pch=19, col="​coral",​ ylab="​Maximum Abundance", ​
      ​xlab="​Mass"​)      ​xlab="​Mass"​)
Line 155: Line 242:
 {{:​lm1_yvsx.png?​300|}} {{:​maxabund_hist.png?​300|}} {{:​mass_hist.png?​300|}} {{:​lm1_yvsx.png?​300|}} {{:​maxabund_hist.png?​300|}} {{:​mass_hist.png?​300|}}
  
-Une deuxième ​façon d'​évaluer la normalité des données est d'​utiliser le test de Shapiro-Wilk (fonction ''​shapiro.test()''​). Ce test compare la distribution des données observées à une distribution normale.+Une troisième ​façon d'​évaluer la normalité des données est d'​utiliser le test de Shapiro-Wilk (fonction ''​shapiro.test()''​), qui compare la distribution des données observées à une distribution normale.
  
-Les hypothèses nulle et contraire sont :+Les hypothèses nulle et contraire sont:
  
 H<​sub>​0</​sub>:​ les données observées sont distribuées normalement\\ H<​sub>​0</​sub>:​ les données observées sont distribuées normalement\\
Line 172: Line 259:
 </​code>​ </​code>​
  
-On peut également évaluer l'​asymétrie d'une distribution avec la fonction ''​Skewness''​ :+On peut également évaluer l'​asymétrie d'une distribution avec la fonction ''​skewness()''​ :
  
-<code rsplus| Tester la normalité ​avec la fonction skewness()> ​+<code rsplus| Tester la normalitéfonction skewness()> ​
 skewness(bird$MaxAbund) ​ skewness(bird$MaxAbund) ​
 skewness(bird$Mass) ​ skewness(bird$Mass) ​
Line 181: Line 268:
 </​code>​ </​code>​
  
-Les histogrammes,​ le test de Shapiro-Wilk et le coefficient d'​asymétrie indiquent tous que les variables ​ont besoin d'être transformées ​pour respecter la supposition ​de normalité (ex. une transformation ​logarithmique). +Les histogrammes,​ le test de Shapiro-Wilket le coefficient d'​asymétrie ​("​skewness"​) ​indiquent tous que les variables ​doivent ​être transformées ​afin de respecter la condition ​de normalité (e.g. une transformation ​log<​sub>​10</​sub>​). 
-==== 1.Transformation des données ==== +==== 2.Transformation des données ==== 
-Lorsque la supposition ​de normalité n'est pas respectée, les variables peuvent être transformées afin d'​améliorer la normalité de leur distribution en respectant ces règles :+ 
 +Lorsque la condition ​de normalité n'est pas respectée, les variables peuvent être transformées afin d'​améliorer la normalité de leur distribution en respectant ces règles :
  
 ^ Type de distribution^ Transformation^ Fonction R^ ^ Type de distribution^ Transformation^ Fonction R^
Line 192: Line 280:
 ^ Asymétrie négative importante | <​m>​log_10{(K-x)}</​m>​| log10(K - x)| ^ Asymétrie négative importante | <​m>​log_10{(K-x)}</​m>​| log10(K - x)|
    
-Dans notre cas, une transformation logarithmique (log<​sub>​10</​sub>​) devrait être utilisée et enregistrée dans le tableau de données ''​bird''​. Le modèle peut ainsi être exécuté, vérifié et interprété ​de nouveau.+Dans notre cas, une transformation logarithmique (log<​sub>​10</​sub>​) devrait être utilisée et enregistrée dans le tableau de données ''​bird''​. Le modèle peut ainsi être exécuté, vérifiéet interprété.
  
 <code rsplus | Transformation de données > <code rsplus | Transformation de données >
Line 207: Line 295:
 shapiro.test(bird$logMass);​ skewness(bird$logMass) shapiro.test(bird$logMass);​ skewness(bird$logMass)
  
-Refaites ​l'​analyse avec les transformations appropriées+Refaire ​l'​analyse avec les transformations appropriées
 lm2 <- lm(bird$logMaxAbund ~ bird$logMass) lm2 <- lm(bird$logMaxAbund ~ bird$logMass)
  
Line 218: Line 306:
 {{:​hist_logmaxabund.png?​300|}} {{:​hist_logmass.png?​300|}} {{:​hist_logmaxabund.png?​300|}} {{:​hist_logmass.png?​300|}}
 {{:​plot_lm2_.png?​550|}} {{:​plot_lm2_.png?​550|}}
-==== 1.Sortie du modèle ====+==== 2.Sortie du modèle ====
  
-Lorsque ​les suppositions ​de base ont été vérifiées, les résultats du modèle peuvent être interprétés. On obtient ​ces résultats avec la fonction ''​summary()''​.+Une fois que les hypothèses (ou conditions) ​de base ont été validées, les résultats du modèle peuvent être interprétés. On obtient ​nos résultats avec la fonction ''​summary()''​.
  
-<code rsplus | Sortie du modèle ​avec la fonction ​summary() >+<code rsplus | Sortie du modèlesummary() >
 # Examinons les coefficients du modèle ainsi que les valeurs de p # Examinons les coefficients du modèle ainsi que les valeurs de p
 summary(lm2) summary(lm2)
Line 237: Line 325:
 # etc. # etc.
  
-# Vous pouvez également vérifier l'​équation du coefficient de détermination par vous-mêmes :+# Vous pouvez également vérifier l'​équation du coefficient de détermination ​(R<​sup>​2</​sup>​)par vous-mêmes :
 SSE <- sum(resid(lm2)^2) SSE <- sum(resid(lm2)^2)
 SST <- sum((bird$logMaxAbund - mean(bird$logMaxAbund))^2) SST <- sum((bird$logMaxAbund - mean(bird$logMaxAbund))^2)
Line 259: Line 347:
   F-statistic:​ 4.075 on 1 and 52 DF,  p-value: 0.04869   F-statistic:​ 4.075 on 1 and 52 DF,  p-value: 0.04869
  
-Les coefficients de régression du modèle et leur erreur type associée apparraissent ​dans les deuxième et troisième colonnes respectivement. Donc,\\+Les **coefficients de régression** du modèle et leur **erreur type** se trouvent ​dans les deuxième et troisième colonnes ​du tableau de la régression, ​respectivement. Donc,\\
  
 β<​sub>​0</​sub>​ = 1.6724 ± 0.2472 est l'​ordonnée à l'​origine (± e.t.) du modèle de régression,​\\ ​ β<​sub>​0</​sub>​ = 1.6724 ± 0.2472 est l'​ordonnée à l'​origine (± e.t.) du modèle de régression,​\\ ​
Line 266: Line 354:
 et finalement : <m> </m> //​logMaxAbund//​ = 1.6724 (± 0.2472) - 0.2361 (± 0.1170) x //logMass// représente le modèle paramétré. et finalement : <m> </m> //​logMaxAbund//​ = 1.6724 (± 0.2472) - 0.2361 (± 0.1170) x //logMass// représente le modèle paramétré.
  
-Les valeurs de t et leurs valeurs de associées sont les résultats d'un test statistique. Ce test vérifie ​si les coefficients de régression ​sont significativement ​différents ​de zéro. Dans notre cas, on peut voir que la variable //logMass// a une influence significative sur la variable //​logMaxAbund//​ parce que la valeur de p associée à la pente du modèle de régression est inférieure à 0.05. De plus, la relation entre ces deux variables est négative, car la pente du modèle a une valeur négative.\\+Les valeurs de **t** et leurs **p-values** (dans les 4<​sup>​ème</​sup>​ et 5<​sup>​ème</​sup>​ colonnes du tableau, respectivement) testent ​si les coefficients de régression ​diffèrent ​significativement de zéro. Dans notre cas, on voit que la variable //logMass// a une influence significative sur la variable //​logMaxAbund//​ parce que le p-value ​associée à au coefficient de variation (i.e. la pentedu modèle de régression est inférieure à 0.05. De plus, la relation entre ces deux variables est négative, car le coefficient de variation ​du modèle a une valeur négative.\\
  
-Rappelez-vous qu'​une ​corrélation entre deux variables n'​implique pas nécessairement ​de relation de cause à effet. Inversement,​ l'​absence de corrélation entre deux variables n'​implique pas nécessairement une absence de relation entre ces deux variables; c'est le cas, par exemple, lorsque la relation n'est pas linéaire. ​+**Rappel:** Une corrélation entre deux variables n'​implique pas nécessairement ​une relation de causalité. Inversement,​ l'​absence de corrélation entre deux variables n'​implique pas nécessairement une absence de relation entre ces deux variables; c'est le cas, par exemple, lorsque la relation n'est pas linéaire. ​
  
-L'​ajustement d'un modèle de régression linéaire est donné par le **R<​sup>​2</​sup>​ ajusté** (ici 0.05484) ​et est calculé de la manière suivante :+L'​ajustement d'un modèle de régression linéaire est donné par le **R<​sup>​2</​sup>​ ajusté** (ici 0.05484). Cette valeur mesure ​la proportion de variation qui est expliquée par le modèle. ​
  
 +Pour plus de détails à propos de son calcul, cliquez ci-dessous:
 +<​hidden>​
 <m> overline{R}^2=1-(1-R^2){n-1}/​{n-p-1} </m> <m> overline{R}^2=1-(1-R^2){n-1}/​{n-p-1} </m>
    
Line 280: Line 370:
 <m> {SS_tot}=sum{i}{}{({y_i}-overline{y})}^2 </m> est la dispersion totale,\\ <m> {SS_tot}=sum{i}{}{({y_i}-overline{y})}^2 </m> est la dispersion totale,\\
 <m> {SS_reg}=sum{i}{}{(hat{y_i}-overline{y})}^2 </m> est la dispersion de la régression - aussi appelée la variance expliquée par le modèle. <m> {SS_reg}=sum{i}{}{(hat{y_i}-overline{y})}^2 </m> est la dispersion de la régression - aussi appelée la variance expliquée par le modèle.
 +</​hidden>​
 +\\ 
 +Le R<​sup>​2</​sup>​ ajusté varie entre 0 et 1. Plus ce coefficient est élevé (donc, plus qu'il s'​approche de 1), plus le modèle est bien ajusté aux données. Dans ce cas-ci, la relation entre les variables //​logMaxAbund//​ et //logMass// est très faible.\\ ​
  
-Le R<​sup>​2</​sup>​ ajusté varie entre 0 et 1. Plus ce coefficient est élevé, meilleur est l'​ajustment du modèle. Dans ce cas-ci, la relation entre les variables //​logMaxAbund//​ et //logMass// est très faible.\\ +La dernière ligne de la sortie du modèle représente la **statistique F** du modèle et le **p-value** qui est associée. Si la valeur de p est inférieure à 0.05, le modèle de régression décrit mieux la relation entre les variables qu'un modèle nul.\\ ​  
-La dernière ligne de la sortie du modèle représente la statistique F du modèle et la valeur de p y étant ​associée. Si la valeur de p est inférieure à 0.05, le modèle de régression décrit mieux la relation entre les variables qu'un modèle nul.\\ ​  +==== 2.6 Visualisation graphique ​====
-==== 1.7 Représentations graphiques ​====+
  
-Les résultats d'une régression linéaire sont généralement ​représentés ​par un graphique de la variable réponse en fonction des variables explicatives. Une droite de régression y est tracée (et, si nécessaire,​ les intervalles de confiance) avec le code R suivant :+Les résultats d'une régression linéaire sont généralement ​illustrés ​par un graphique de la variable réponse en fonction des variables explicatives. Une droite de régression y est tracée (et, si nécessaire,​ les intervalles de confiance) avec le code R suivant :
  
 <code rsplus | Tracer la régression Y ~ X avec une droite et des intervalles de confiance > <code rsplus | Tracer la régression Y ~ X avec une droite et des intervalles de confiance >
Line 304: Line 396:
  
 {{:​yvxx_lm2.png?​400|}} {{:​yvxx_lm2.png?​400|}}
-==== 1.Sous-ensembles ====+==== 2.Sous-ensembles ​d'​observations ​====
  
-Il est possible ​de réaliser une analyse sur seulement une partie des observations. Par exemple, on peut refaire l'​analyse de régression ​en ne considérant que les oiseaux terrestres.+Il est aussi possible ​d'​analyser ​seulement une partie des observations. Par exemple, on peut refaire l'​analyse de régression ​sur seulement ​les oiseaux terrestres.
  
 <code rsplus | Régression sur un sous-ensemble d'​observations > <code rsplus | Régression sur un sous-ensemble d'​observations >
Line 337: Line 429:
 ---- ----
  
-**Défi 1**+---**DÉFI 1**--- 
 + 
 +Examinez la relation entre //​log<​sub>​10</​sub>​(MaxAbund)//​ et //​log<​sub>​10</​sub>​(Mass)//​ pour les passereaux (i.e. passerine birds).\\ ​
  
-Examinez la relation entre //​log<​sub>​10</​sub>​(MaxAbund)//​ et //​log<​sub>​10</​sub>​(Mass)//​ pour les passereaux (i.e. passerine birds).\\ +''​Conseil :''​ La variable '​Passerine'​ est codée ​comme 0 et 1comme la variable '​Aquatic'​. Vous pouvez vérifier ​ceci avec la commande ''​str(bird)''​.
-''​Conseil :''​ La variable '​Passerine'​ est codée 0 et 1 comme la variable '​Aquatic'​. Vous pouvez ​le vérifier avec la commande ''​str(bird)''​.+
  
 ++++ Défi 1 : Solution |  ++++ Défi 1 : Solution | 
Line 378: Line 471:
 </​code>​ </​code>​
  
-**Conclusion :** Le meilleur modèle parmi les trois est lm3 (celui ​avec les oiseaux terrestres ​seulement)+**Conclusion :** Le meilleur modèle parmi les trois est lm3 (celui ​effectué sur seulement ​les oiseaux terrestres )
 {{:​lm2_lm3_lm4.png?​850|}} {{:​lm2_lm3_lm4.png?​850|}}
 ++++ ++++
  
 ---- ----
-===== 2Test de t ===== +===== 3ANOVA =====
-Le test de t de Student, ou tout simplement test de t, permet de comparer les valeurs d'une variable réponse continue répartie entre deux groupes (ou traitements). Le test de t permet de déterminer si la moyenne d'un groupe est différente de celle de l'​autre groupe. Le test de t est exprimé sous la forme suivante :+
  
-<m> {y_{ij}} = µ + {A_i} + {ε_{ij}} </m>+L'​analyse de la variance (ANOVA) est un type de modèle linéaire pour **une variable réponse continue**, et **une ou plusieurs variables explicatives catégoriques**. Les variables explicatives catégoriques peuvent comprendre plusieurs niveaux (ou groupes). Par exemple, une variable "​couleur"​ peut avoir 3 niveaux: vert, bleu, et jaune. L'​ANOVA teste si la moyenne de la variable réponse diffère entre ces niveaux ou groupes. Par exemple, si la masse des bleuets diffère selon leur couleur. ​
  
-où\\+Le calcul de l'​ANOVA se base sur la partition de la somme des carrés, et compare la **variance entre les traitements** à celle à l'​intérieur des traitements (i.e. la **variance intra-traitement**). Si la variance entre les traitements est supérieure à la variance intra-traitement,​ la variable explicative a un effet plus important que l'​erreur aléatoire (due à la variance intra-traitement). La variable explicative est donc susceptible d'​influencer significativement la variable réponse.
  
-µ est la moyenne ​de la variable réponse,​\\ +Dans un ANOVA, ​la comparaison ​de la variance entre les traitements à celle intra-traitement se fait en calculant la **statistique F**. Cette statistique correspond au ratio entre la moyenne des carrés des traitements (MS<sub>Trt</sub>) et la moyenne des carrés des erreurs (MS<sub>E</sub>). Ces deux termes sont obtenus en divisant leurs sommes des carrés respectives par leurs degrés de liberté, comme on le voit présenté typiquement dans un tableau d'​ANOVA ​(cliquez pour voir un tel tableau ci-dessous)Un **p-value** peut ensuite être calculée à partir de la statistique de F, qui suit une distribution de khi carré (χ<​sup>​2</​sup>​)
-<m>{A_i}</mcorrespond à l'​effet du groupe i,\\ +
-i prend la valeur de 1 ou 2,\\ +
-<m>{ε_{ij}}</mcorrespond aux résidus du modèle ​(i.e. la variance inexpliquée).+
  
-Les hypothèses statistiques du test de t évaluent ​la différence entre les deux groupes :+Cliquez pour plus de détails mathématiques. 
 +<​hidden>​ 
 +^ Source de\\ variation^ Degrés de\\ liberté (df)^ Somme des carrés\\ des écarts à la moyenne^ Moyenne des carrés ^ Statistique de F^ 
 +^ Total   ​|<​m>​ra-1</​m>​| <​m>​{SS_Tot}=sum{i,​j}{}({y_ij}-overline{y})^2</​m> ​             |     | |  
 +^ Facteur A|<​m>​a-1</​m>​| <​m>​{SS_FacteurA}= r sum{i}{}({overline{y}_i}-overline{y})^2</​m>​|<​m>​{MS_FacteurA}={SS_FacteurA}/​{a-1}</​m>​|<​m>​F={MS_FacteurA}/​{MS_E}</​m>​| 
 +^ Résidus ​  ​|<​m>​a(r-1)</​m>​| <​m>​{SS_E}= sum{i,​j}{}({y_ij}-{overline{y}_i})^2</​m> ​            ​|<​m>​{MS_E}={SS_E}/​{a(r-1)}</​m>​| |
  
-H<sub>0</sub>: µ<sub>1</sub= µ<sub>2</​sub>​\\ +a: nombre de niveaux de la variable explicative A; r: nombre de répétitions par traitement; ​<m>overline{y}</m>: moyenne globale de la variable réponse; ​<m>overline{y}</m><​sub>​i</​sub> ​: moyenne de la variable réponse du traitement i. 
-H<​sub>​1</sub>: µ<​sub>​1</​sub>​ ≠ µ<​sub>​2</​sub>+</hidden>
  
-où\\+==== 3.1 Types d'​ANOVA ====
  
-µ<​sub>​1</​sub>​ est la moyenne ​de la variable réponse pour le groupe 1,\\ +  - **ANOVA à un critère ​de classification**\\ Une variable explicative catégorique avec au moins niveaux. S'il n'y a que 2 niveaux, un test de t peut être utilisé. 
-µ<​sub>​2</sub> est la moyenne de la variable ​réponse ​pour le groupe 2.+  - **ANOVA à deux critères de classification** ​//​[[http://​qcbs.ca/​wiki/​r_atelier4#​anova_a_deux_criteres_de_classification|(voir ​la section ci-dessous)]]//​\\ - Deux variables explicatives catégoriques ou plus,\\ - Chaque facteur peut avoir plusieurs niveaux,\\ - Les interactions entre chaque ​variable ​explicative catégorique doivent être testées. 
 +  - **Mesures répétées**\\ L'​ANOVA peut être utilisée ​pour des mesures répétées,​ mais ce sujet n'est pas abordé dans cet atelierUn **modèle linéaire mixte** peut également être utilisé pour ce type de données //​[[http://​qcbs.ca/​wiki/​r_atelier6|(voir l'​atelier 6)]]//. 
 +==== 3.2 Test de t ====
  
-L'​hypothèse contraire H<​sub>​1</​sub>​ affirme qu'​il ​existe ​une différence entre les deux groupes au niveau de la variable réponse, ce qui constitue un test bilatéral +Si on a une variable explicative ayant seulement **2 niveaux**, on peut utiliser un test de t de Student pour déterminer s'​il ​y a une différence entre la moyenne des 2 niveauxSelon les donnéeson peut choisir ​de tester ​une **hypothèse ​unilatérale**: c'est-à-dire qu'on peut déterminer si la moyenne d'un groupe est plus grande ​que celle de l'​autre ​groupe, ​plutôt que de seulement détecter une différence entre les moyennes du groupe.
-Cependantsi le sens de la différence attendue est supportée par une hypothèse ​biologique, un test unilatéral peut être utilisé :\\ +
-  ​si on s'attend ​à ce que la variable réponse soit supérieure pour le groupe 1, alors H<​sub>​1</​sub>:​ µ<​sub>​1</​sub>​ > µ<​sub>​2</​sub>,​\\ +
-  * si on s'attend à ce que la variable réponse soit inférieure pour le groupe ​1alors H<​sub>​1</​sub>:​ µ<​sub>​1</​sub>​ < µ<​sub>​2</​sub>​.+
  
-La statistique t du test de t qui est utilisée pour déterminer la valeur de p est calculée de la manière suivante :\\ <m> t= (overline{y}_1-overline{y}_2)/​sqrt{{s_1}^2/​n_1 + {s_2}^2/​n_2} </m>+Cliquez ci-dessous pour plus de détails mathématiques. 
 +<​hidden>​ 
 +Pour le test de t, la statistique ​t qui est utilisée pour déterminer la valeur de p est calculée de la manière suivante :\\ <m> t= (overline{y}_1-overline{y}_2)/​sqrt{{s_1}^2/​n_1 + {s_2}^2/​n_2} </m>
  
 où  où 
Line 417: Line 512:
 s<​sub>​1</​sub><​sup>​2</​sup>​ et s<​sub>​2</​sub><​sup>​2</​sup>​ sont les variances de la variable réponse y pour les groupes 1 et 2 respectivement,​\\ s<​sub>​1</​sub><​sup>​2</​sup>​ et s<​sub>​2</​sub><​sup>​2</​sup>​ sont les variances de la variable réponse y pour les groupes 1 et 2 respectivement,​\\
 n<​sub>​1</​sub>​ et n<​sub>​2</​sub>​ sont les tailles d'​échantillons des groupes 1 et 2 respectivement. n<​sub>​1</​sub>​ et n<​sub>​2</​sub>​ sont les tailles d'​échantillons des groupes 1 et 2 respectivement.
 +</​hidden>​
 +
 +
 +Notez que le test de t est mathématiquement équivalent à une ANOVA à un critère de classification ayant deux niveaux.
 +\\ 
  
-==== 2.1 Suppositions ​de base ==== +=== Conditions ​de base === 
-Si les suppositions ​de base du test de t ne sont pas respectées,​ les résultats du test peuvent être erronés. ​Ces suppositions concernent ​la forme de la distribution des données ​:+Si les conditions ​de base du test de t ne sont pas respectées,​ les résultats du test peuvent être erronés. ​Voici quelques notes à propos de la validation ​de ces conditions de base:
  
-  - **Normalité des données**\\ Comme pour la régression linéaire simple, la variable réponse doit être distribuée normalement. Si cette condition n'est pas respectée, mais que la distribution est relativement symétrique,​ que la moyenne est près du centre de la distribution et que la distribution est unimodale, le test de t donnera un résultat valable en autant que la taille de l'​échantillon soit suffisante (règle empirique : ~30 observations). Si les données sont fortement asymétriques,​ il est nécessaire d'​avoir un très large échantillon pour que le test fonctionne. Dans ce cas-là, il est préférable d'​utiliser un test non-paramétrique.+  - **Normalité des données**\\ Comme pour la régression linéaire simple, la variable réponse doit être distribuée normalement. Si cette condition n'est pas respectée, mais que la distribution est relativement symétrique,​ que la moyenne est près du centre de la distributionet que la distribution est unimodale, le test de t donnera un résultat valable en autant que la taille de l'​échantillon soit suffisante (règle empirique : ~30 observations). Si les données sont fortement asymétriques,​ il est nécessaire d'​avoir un très large échantillon pour que le test fonctionne. Dans ce cas-là, il est préférable d'​utiliser un test non-paramétrique.
   - **Homoscédasticité**\\ Une autre supposition importante du test de t est que les variances des deux groupes sont égales. Ceci permet de calculer une variance combinée qui est utilisée pour calculer l'​erreur type de la différence des moyennes. Si les variances des deux groupes sont inégales, la probabilité de commettre une erreur de type I (i.e. rejeter l'​hypothèse nulle alors qu'​elle est vraie) est supérieure au seuil α.\\ La robustesse du test de t augmente avec la taille de l'​échantillon et est supérieure lorsque les groupes sont de même taille.\\ Il est possible d'​évaluer la différence de variance entre deux échantillons en se demandant quelle est la probabilité de tirer deux échantillons d'une population avec des variances identiques alors que les échantillons ont des variances de s<​sub>​1</​sub><​sup>​2</​sup>​ et s<​sub>​2</​sub><​sup>​2</​sup>​. \\ Pour ce faire, il faut effectuer un test de ratio des variances (i.e. un test de F).   - **Homoscédasticité**\\ Une autre supposition importante du test de t est que les variances des deux groupes sont égales. Ceci permet de calculer une variance combinée qui est utilisée pour calculer l'​erreur type de la différence des moyennes. Si les variances des deux groupes sont inégales, la probabilité de commettre une erreur de type I (i.e. rejeter l'​hypothèse nulle alors qu'​elle est vraie) est supérieure au seuil α.\\ La robustesse du test de t augmente avec la taille de l'​échantillon et est supérieure lorsque les groupes sont de même taille.\\ Il est possible d'​évaluer la différence de variance entre deux échantillons en se demandant quelle est la probabilité de tirer deux échantillons d'une population avec des variances identiques alors que les échantillons ont des variances de s<​sub>​1</​sub><​sup>​2</​sup>​ et s<​sub>​2</​sub><​sup>​2</​sup>​. \\ Pour ce faire, il faut effectuer un test de ratio des variances (i.e. un test de F).
  
-{{:​t-test_var.png?​450|}} 
  
-Pour l'​exemple ci-dessus, [[http://​en.wikipedia.org/​wiki/​Type_I_and_type_II_errors|l'​erreurs ​de type I]] est plus grande que la valeur α de l'​échantillon #1. Il faut donc conclure qu'on //ne peut pas rejeter// l'​hypothèse nulle, alors qu'en réalité, on aurait dû la rejeter !+=== Non-respect des conditions ​de base ===
  
-=== Non-respect des suppositions ===+Si les variances entre les groupes ne sont pas égales, il est possible de corriger la situation avec la [[http://​fr.wikipedia.org/​wiki/​Test_t_de_Welch|correction de Welch]]. Si les conditions de base ne sont toujours pas respectées,​ il faut utiliser la version non paramétrique du test de t : [[http://​en.wikipedia.org/​wiki/​Mann–Whitney_U_test|le test de Mann-Whitney]]. Finalement, si les deux groupes ne sont pas indépendants (e.g. mesures prises sur un même individu à deux périodes différentes),​ il faut utiliser un [[http://​en.wikipedia.org/​wiki/​Student'​s_t-test#​Paired_samples|test de t apparié]].
  
-Si les variances entre les groupes ne sont pas égales, il est possible de corriger la situation avec la [[http://​fr.wikipedia.org/​wiki/​Test_t_de_Welch|correction de Welch]]. Si les suppositions ne sont toujours pas respectées,​ il faut utiliser la version non paramétrique du test de t : [[http://​en.wikipedia.org/​wiki/​Mann–Whitney_U_test|le test de Mann-Whitney]]. Finalement, si les deux groupes ne sont pas indépendants (e.g. mesures prises sur un même individu à deux périodes différentes),​ il faut utiliser un [[http://​en.wikipedia.org/​wiki/​Student'​s_t-test#​Paired_samples|test de t apparié]]. 
-==== 2.2 Effectuer un test de t ==== 
  
-Dans R, les test de t sont exécutés avec la fonction ''​t.test''​. Par exemple, pour évaluer la différence de masse entre des oiseaux aquatiques et non aquatiques, ​vous devez utiliser le script suivant :\\+=== Effectuer un test de t === 
 + 
 +Dans R, le test de t est exécutés avec la fonction ''​t.test''​. Par exemple, pour évaluer la différence de masse entre des oiseaux aquatiques et non aquatiques, ​on peut utiliser le script suivant :\\
  
 <code rsplus | Test de t> <code rsplus | Test de t>
Line 467: Line 566:
  
 Ici, on voit que le test de ratio des variances n'est pas statistiquement différent de 1, ce qui signifie que les variances entre les groupes sont égales. Étant donné que notre valeur de p est inférieure à 0.05, l'​hypothèse nulle (i.e. l'​absence de différence de masse entre les deux groupes) est rejetée. ​ Ici, on voit que le test de ratio des variances n'est pas statistiquement différent de 1, ce qui signifie que les variances entre les groupes sont égales. Étant donné que notre valeur de p est inférieure à 0.05, l'​hypothèse nulle (i.e. l'​absence de différence de masse entre les deux groupes) est rejetée. ​
-==== 2.3 Effectuer un test de t avec la fonction lm() ====+ 
  
-Le test de t fait partie de la famille des modèles linéaires et est un cas spécifique de l'​ANOVA (voir plus bas) à un critère et deux niveaux. Ceci signifie qu'on peut effectuer un test de t avec la fonction ''​lm()''​ (qui signifie linear model) :+=== Test de t unilatéral ===
  
-<code rsplus | Le test de t comme modèle linéaire > +L'​argument //"alternative"// de la fonction ''​t.test()''​ permet d'​effectuer un test de t unilatéral. Par exemple, si on veut tester l'​hypothèse que les oiseaux terrestres sont plus légers que les oiseaux aquatiques, on peut écrire la commande de la façon suivante :
-ttest.lm1 <- lm(logMass ~ Aquatic, data=bird) +
-anova(ttest.lm1) # La fonction anova permet de visualier les résultats du test +
-</​code>​ +
- +
-    Analysis of Variance Table +
-    Response: logMass +
-              Df  Sum Sq  Mean Sq   F value    Pr(>​F) ​    +
-    Aquatic ​   1  19.015 ​ 19.0150 ​  ​60.385 ​    ​2.936e-10 *** +
-    Residuals 52  16.375 ​ 0.3149 ​                      +
-    --- +
-    Signif. codes: ​ 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 +
-     +
-Lorsque les variances sont égales (i.e., test de t à deux échantillons),​ il est possible de démontrer que t<​sup>​2</​sup>​ = F: +
- +
-<code rsplus | Équivalence entre t et F> +
-ttest1$statistic^2 +
-anova(ttest.lm1)$F +
-</​code>​ +
-==== 2.4 Test de t unilatéral ==== +
-L'​argument //​alternative//​ de la fonction ''​t.test()''​ permet d'​effectuer un test de t unilatéral. Par exemple, si on veut tester l'​hypothèse que les oiseaux terrestres sont plus légers que les oiseaux aquatiques, on doit écrire la commande de la façon suivante :+
  
 <code rsplus | Test de t unilatéral>​ <code rsplus | Test de t unilatéral>​
Line 499: Line 578:
 </​code>​ </​code>​
  
-Les résultats du test sont indiqués à la troisième ligne :+Dans la sortie R obtenue par ''​uni.ttest1'',​ les résultats du test sont indiqués à la troisième ligne :
  
   Two Sample t-test   Two Sample t-test
Line 512: Line 591:
                
 Dans ce cas-ci, la statistique du test de t est t = -7.7707 avec df = 52 degrés de liberté, ce qui donne une valeur de p = 1.468e-10. On rejette donc l'​hypothèse nulle. On peut conclure que les oiseaux aquatiques sont significativement plus lourds que les oiseaux terrestres. Dans ce cas-ci, la statistique du test de t est t = -7.7707 avec df = 52 degrés de liberté, ce qui donne une valeur de p = 1.468e-10. On rejette donc l'​hypothèse nulle. On peut conclure que les oiseaux aquatiques sont significativement plus lourds que les oiseaux terrestres.
-===== 3. ANOVA ===== 
-L'​analyse de la variance (ANOVA) est une généralisation du test de t de Student. L'​ANOVA permet de voir si la moyenne d'une variable continue est différente entre trois ou plusieurs groupes ou traitements (Rappelez-vous que le nombre de groupes est limité à deux pour le test de t). L'​ANOVA compare la variable réponse y entre les groupes (i.e. la variable explicative) de la manière suivante : 
  
-<m> {y_{ij}} = µ + {A_i} + {ε_{ij}} </m> 
  
-+=== Effectuer un test de t avec lm()===
  
-µ est la moyenne globale ​de la variable réponse,​\\ +Un test de t est un modèle linéaire et un cas spécifique d'​ANOVA avec une variable explicative ayant dexu niveaux. On peut alors effectuer un test de t avec la fonction ​''lm()''​ dans R.
-A<​sub>​i</​sub>​ est l'effet du groupe i pour le facteur A,\\ +
-i varie de 1 à n (n > 2),\\ +
-ε<​sub>​ij</​sub>​ sont les résidus du modèle (i.e. la variance inexpliquée).+
  
-L'​ANOVA tente de détecter des différences au niveau de la variable réponse y entre les groupes en posant les hypothèses suivantes :+<code rsplus | Test de t avec lm() > 
 +ttest.lm1 <- lm(logMass ~ Aquatic, data=bird) 
 +anova(ttest.lm1) 
 +</​code>​
  
-H<​sub>​0</​sub>​µ<sub>1</​sub>​ = µ<​sub>​2</​sub>​ =... = µ<​sub>​j</​sub>​ =... = µ<​sub>​n</​sub>​\\ +    Analysis of Variance Table 
-H<sub>1</sub>: il y a au moins une moyenne µ<​sub>​j</​sub>​ différente des autres+    ResponselogMass 
 +              Df  Sum Sq  Mean Sq   F value    Pr(>F)     
 +    Aquatic ​   ​ ​19.015 ​ 19.0150 ​  ​60.385 ​    2.936e-10 *** 
 +    Residuals 52  16.375  0.3149                       
 +    --- 
 +    Signifcodes: ​ 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
 +     
 +Quand les variances sont équivalents,​ on peut montrer que t<sup>2</sup= F:
  
-L'​ANOVA se base sur la partition de la somme des carrés des écarts à la moyenne pour déterminer si une hypothèse doit être acceptée ou rejetée. L'​ANOVA compare la variance entre les traitements à celle à l'​intérieur des traitements ​(i.e. la variance intra-traitement). Si la variance entre les traitements est supérieure à la variance intra-traitement,​ la variable explicative a un effet plus important que l'​erreur aléatoire (due à la variance intra-traitement). La variable explicative est donc susceptible d'​influencer significativement la variable réponse.+<code rsplus | > 
 +ttest1$statistic^2 
 +anova(ttest.lm1)$F 
 +</​code>​
  
-La comparaison de la variance entre les traitements à celle intra-traitement permet de calculer la statistique F. Cette statistique correspond au ratio entre la moyenne des carrés des traitements (MS<​sub>​Trt</​sub>​) et la moyenne des carrés des erreurs (MS<​sub>​E</​sub>​). Ces deux termes sont obtenus en divisant leurs sommes des carrés respectives par leurs degrés de liberté (voir table ci-dessous). Une valeur de p peut ensuite être calculée à partir de la statistique de F qui suit une distribution de khi carré (χ<​sup>​2</​sup>​). 
  
-^ Source de\\ variation^ Degrés de\\ liberté (df)^ Somme des carrés\\ des écarts à la moyenne^ Moyenne des carrés ^ Statistique de F^ +==== 3.3 Effectuer une ANOVA ====
-^ Total   ​|<​m>​ra-1</​m>​| <​m>​{SS_Tot}=sum{i,​j}{}({y_ij}-overline{y})^2</​m> ​             |     | |  +
-^ Facteur A|<​m>​a-1</​m>​| <​m>​{SS_FacteurA}r sum{i}{}({overline{y}_i}-overline{y})^2</​m>​|<​m>​{MS_FacteurA}={SS_FacteurA}/​{a-1}</​m>​|<​m>​F={MS_FacteurA}/​{MS_E}</​m>​| +
-^ Résidus ​  ​|<​m>​a(r-1)</​m>​| <​m>​{SS_E}sum{i,​j}{}({y_ij}-{overline{y}_i})^2</​m> ​            ​|<​m>​{MS_E}={SS_E}/​{a(r-1)}</​m>​| |+
  
-a: nombre ​de niveaux de la variable explicative A; r: nombre de répétitions par traitement; <​m>​overline{y}</​m>:​ moyenne globale de la variable réponse; <​m>​overline{y}</​m><​sub>​i</​sub>​ : moyenne de la variable réponse du traitement i. +Le test de s'applique ​seulement ​quand on a une seule variable explicative catégoriquequi comprend ​niveauxPour tous les autres ​modèles linéaires avec des variables explicatives catégoriqueson utilise ​une ANOVA.
- +
-==== 3.1 Types d'​ANOVA ==== +
-  - **ANOVA à un critère de classification**\\ Un facteur avec plus de deux niveaux +
-  - **ANOVA à deux critères de classification** //​[[http://​qcbs.ca/​wiki/​r_atelier4#​anova_a_deux_criteres_de_classification|(voir la section ci-dessous)]]//​\\ - Deux facteurs ou plus,\\ - Chaque facteur peut avoir de multiples niveaux,\\ - Les interactions entre chaque facteur doivent être testées. +
-  - **Mesures répétées**\\ L'​ANOVA peut être utilisée pour des mesures répétées,​ mais ce sujet n'est pas couvert dans cet atelier. Un **modèle linéaire mixte** peut également être utilisé pour ce type de données //​[[http://​qcbs.ca/​wiki/​r_atelier6|(voir l'​atelier 6)]]//. +
-==== 3.2 Suppositions de base ==== +
- +
-L'​ANOVA doit respecter quelques suppositions statistiques pour que les résultats soient valides. Ces suppositions peuvent être vérifiées visuellement ou par des tests statistiques. +
-  +
-  - **Distribution normale**\\ Les résidus d'un modèle d'​ANOVA peuvent être visualisés à l'aide d'un diagramme quantile-quantile. Les résidus sont considérés comme normalement distribués ​s'ils se répartissent le long de la droite 1:1. Si ce n'est pas le cas, les résultats de l'​ANOVA ne peuvent pas être interprétés. +
-  - **Homoscédasticité**\\ L'​ANOVA est valide ​seulement ​lorsque la variance des résidus est homogène entre les groupes. Cette homoscédasticité peut être vérifiée par un graphique des résidus en fonction des valeurs prédites ou par un diagramme diagnostic "​scale-location"​. Si ces graphiques montrent ​une dispersion équivalente des résidus pour chaque valeur préditela variance des résidus peut être considérée homogène.\\ Il est également possible d'​effectuer un test de Bartlett à l'aide de la fonction ''​bartlett.test()''​. Si la valeur de p de ce test est supérieure à 0.05, l'​hypothèse nulle H<​sub>​0</​sub>:​ s<​sub>​1</​sub><​sup>​2</​sup>​ = s<​sub>​2</​sub><​sup>​2</​sup>​ =... = s<​sub>​j</​sub><​sup>​2</​sup>​ =... = s<​sub>​n</​sub><​sup>​2</​sup>​ est acceptée (i.e. l'​homoscédasticité est respectée).\\ Une transformation de la variable réponse peut être utilisée si cette supposition n'est pas respectée. +
-  - **Additivité**\\ Les effets de deux facteurs sont additifs si l'​effet d'un facteur demeure constant pour tous les niveaux d'un autre facteur. Chaque facteur doit influencer la variable réponse de manière indépendante des autres ​facteurs. +
- +
-=== Non-respect ​des suppositions === +
- +
-Si les suppositions ne sont pas respectéesvous pouvez essayer ​une transformation sur la variable réponse. Ceci peut aider à normaliser les résidus, à égaliser les variances et à transformer un effet multiplicatif en effet additif. Si vous ne voulez pas transformer vos données, vous pouvez utiliser l'​équivalent non paramétrique de l'ANOVA : le [[http://en.wikipedia.org/​wiki/​Kruskal–Wallis_one-way_analysis_of_variance|test de Kruskal-Wallis ]]. +
-==== 3.3 Contrastes ==== +
- +
-  * Les contrastes sont des comparaisons de moyennes basées sur des hypothèses //a priori//, +
-  * Ces groupes peuvent être composés d'un ou plusieurs niveaux d'un facteur, +
-  * On peut tester une hypothèse simple (e.g. μ<​sub>​1</​sub>​ = μ<​sub>​2</​sub>​) ou des hypothèses plus complexes (e.g. (μ<​sub>​1</​sub>​ + μ<​sub>​2</​sub>​)/​3 == μ<​sub>​3</​sub>​). +
- +
-Le nombre de comparaisons doit être plus bas ou égal au nombre de degrés de liberté de l'​ANOVA. Ces comparaisons doivent être indépendantes l'une de l'​autre. Pour plus de détails, voyez la [[http://​qcbs.ca/​wiki/​r_atelier4#​contrastes_section_avancee_et_optionnelle| section avancée sur les contrastes]] plus bas.  +
-==== 3.4 Effectuer une ANOVA ====+
  
 Commençons tout d'​abord par visualiser les données avec la fonction ''​boxplot()''​. Rappelez-vous que, dans R, les groupes sont ordonnés par ordre alphabétique par défaut. Il est possible de réorganiser les groupes autrement. Par exemple, on peut les ordonner par ordre croissant de la médiane de chaque diète.\\ Une autre façon de visualiser les effets des facteurs est d'​utiliser la fonction ''​plot.design()''​. Cette fonction permet de représenter les valeurs moyennes des niveaux d'un facteur (par une ligne verticale) et la moyenne globale de la variable réponse (par une ligne horizontale). Commençons tout d'​abord par visualiser les données avec la fonction ''​boxplot()''​. Rappelez-vous que, dans R, les groupes sont ordonnés par ordre alphabétique par défaut. Il est possible de réorganiser les groupes autrement. Par exemple, on peut les ordonner par ordre croissant de la médiane de chaque diète.\\ Une autre façon de visualiser les effets des facteurs est d'​utiliser la fonction ''​plot.design()''​. Cette fonction permet de représenter les valeurs moyennes des niveaux d'un facteur (par une ligne verticale) et la moyenne globale de la variable réponse (par une ligne horizontale).
Line 591: Line 649:
 anova(anov1) ​ anova(anov1) ​
 </​code>​ </​code>​
-==== 3.5 Vérifications ​des suppositions ​====+ 
 +==== 3.4 Vérification ​des conditions de base ==== 
 + 
 +Comme la régression linéaire simple et le test de t, l'​ANOVA doit respecter 4 conditions statistiques pour que les résultats soient valides. Voici quelques conseils pour tester ces conditions pour une ANOVA: 
 +  
 +  - **Distribution normale**\\ Les résidus d'un modèle d'​ANOVA peuvent être visualisés à l'aide d'un diagramme quantile-quantile (Q-Q). Les résidus sont considérés comme normalement distribués s'ils se répartissent le long de la droite 1:1. Si ce n'est pas le cas, les résultats de l'​ANOVA ne peuvent pas être interprétés. 
 +  - **Homoscédasticité**\\ L'​ANOVA est valide seulement lorsque la variance des résidus est homogène entre les groupes. Cette homoscédasticité peut être vérifiée par un graphique des résidus en fonction des valeurs prédites ou par un diagramme diagnostic "​scale-location"​. Si ces graphiques montrent une dispersion équivalente des résidus pour chaque valeur prédite, la variance des résidus peut être considérée homogène.\\ Il est également possible d'​effectuer un test de Bartlett à l'aide de la fonction ''​bartlett.test()''​. Si la valeur de p de ce test est supérieure à 0.05, l'​hypothèse nulle H<​sub>​0</​sub>:​ s<​sub>​1</​sub><​sup>​2</​sup>​ = s<​sub>​2</​sub><​sup>​2</​sup>​ =... = s<​sub>​j</​sub><​sup>​2</​sup>​ =... = s<​sub>​n</​sub><​sup>​2</​sup>​ est acceptée (i.e. l'​homoscédasticité est respectée).\\ Une transformation de la variable réponse peut être utilisée si cette supposition n'est pas respectée. 
 +  - **Additivité**\\ Les effets de deux facteurs sont additifs si l'​effet d'un facteur demeure constant pour tous les niveaux d'un autre facteur. Chaque facteur doit influencer la variable réponse de manière indépendante des autres facteurs. 
 + 
 +Si les conditions ne sont pas respectées,​ vous pouvez essayer de transformer la variable réponse. Ceci peut aider à normaliser les résidus, à égaliser les variances, et à transformer un effet multiplicatif en effet additif. Si vous ne voulez pas (ou ne pouvez pas) transformer vos données, vous pouvez utiliser l'​équivalent non-paramétrique de l'​ANOVA : le [[http://​en.wikipedia.org/​wiki/​Kruskal–Wallis_one-way_analysis_of_variance|test de Kruskal-Wallis ]]. 
  
 <code rsplus| Diagnostic du modèle > <code rsplus| Diagnostic du modèle >
Line 607: Line 675:
  
 Idéalement,​ le premier graphique devrait montrer une dispersion similaire pour chaque niveau de diète. Toutefois, les tests de Shapiro et de Bartlett ne sont pas significatifs. On peut supposer que les résidus sont distribués normalement et que les variances sont égales. Idéalement,​ le premier graphique devrait montrer une dispersion similaire pour chaque niveau de diète. Toutefois, les tests de Shapiro et de Bartlett ne sont pas significatifs. On peut supposer que les résidus sont distribués normalement et que les variances sont égales.
-==== 3.Sortie du modèle ====+ 
 +==== 3.Sortie du modèle ==== 
 Lorsque le modèle d'​ANOVA a été validé, on peut interpréter les résultats correctement. La sortie du modèle fournie par R dépend de la fonction qui a été utilisée pour effectuer l'​ANOVA. Si la fonction ''​aov()''​ a été utilisée : Lorsque le modèle d'​ANOVA a été validé, on peut interpréter les résultats correctement. La sortie du modèle fournie par R dépend de la fonction qui a été utilisée pour effectuer l'​ANOVA. Si la fonction ''​aov()''​ a été utilisée :
  
Line 614: Line 684:
 </​code>​ </​code>​
  
-les résultats de l'​ANOVA peuvent être visualisés avec la fonction ''​summary()''​ :+Les résultats de l'​ANOVA peuvent être visualisés avec la fonction ''​summary()''​ :
 <code rsplus|> <code rsplus|>
 summary(aov1) summary(aov1)
Line 638: Line 708:
  
 Cette sortie de R représente le tableau de l'​ANOVA. On y retrouve les degrés de liberté, la somme des carrés, la moyenne de la somme des carrés, la statistique de F ainsi qu'une valeur de p. Dans l'​exemple de la diète des oiseaux, la diète influence significativement l'​abondance des oiseaux car la valeur de p est inférieure à 0.05. L'​hypothèse nulle est rejetée, ce qui signifie qu'au moins une des diètes influence l'​abondance différemment des autres diètes. Cette sortie de R représente le tableau de l'​ANOVA. On y retrouve les degrés de liberté, la somme des carrés, la moyenne de la somme des carrés, la statistique de F ainsi qu'une valeur de p. Dans l'​exemple de la diète des oiseaux, la diète influence significativement l'​abondance des oiseaux car la valeur de p est inférieure à 0.05. L'​hypothèse nulle est rejetée, ce qui signifie qu'au moins une des diètes influence l'​abondance différemment des autres diètes.
-==== 3.7 Tests complémentaires ==== 
  
-Si l'​hypothèse nulle est rejetée, il n'est pas possible de savoir quels niveaux de traitements sont différents ​des autres avec une simple ​ANOVA. ​Pour déterminer ​quels niveaux diffèrent des autres, ​il est nécessaire d'​effectuer un test post hoc. Ce test compare ​les combinaisons de niveaux ​deux à deux et identifie où se trouvent les différences. Il existe plusieurs tests post hoc (e.g. Fischer’s least significant difference, Duncan’s new multiple range test, Newman-Keuls method, Dunnett’s test, etc.), mais le test de Tukey est probablement celui qui est le plus utilisé. Dans R, on utilise la fonction ''​TukeyHSD()''​ pour effectuer ce test :+==== 3.6 Test complémentaire ==== 
 + 
 +Il est impossible d'identifier quel traitement diffère ​des autres avec une ANOVA. ​Elle ne permet que de déterminer ​s'il existe une différence entre niveaux. Pour identifier les niveaux qui diffèrent des autres, ​les tests post-hoc comparent ​les combinaisons de variables explicatives (i.e. les traitements) ​deux par deux. Il existe plusieurs tests post hoc (e.g. Fischer’s least significant difference, Duncan’s new multiple range test, Newman-Keuls method, Dunnett’s test, etc.), mais le test de Tukey est le plus couramment ​utilisé. Dans R, on utilise la fonction ''​TukeyHSD()''​ pour effectuer ce test :
  
 <code rsplus| Test de Tukey> <code rsplus| Test de Tukey>
Line 646: Line 717:
 TukeyHSD(aov(anov1),​ordered=T) TukeyHSD(aov(anov1),​ordered=T)
  
-# Cette comande ​est équivalente à la précédente :+# Cette commande ​est équivalente à la précédente :
 TukeyHSD(aov1,​ordered=T) ​ TukeyHSD(aov1,​ordered=T) ​
 </​code>​ </​code>​
  
-La sortie de R retourne ​un tableau qui fait la liste de toutes les combinaisons ​deux à deux des niveaux de la variable explicative et qui identifie quel(s) traitement(s) diffère(ent) des autres :\\+La sortie de R inclut ​un tableau qui liste toutes les combinaisons des niveaux de la variable explicative et qui identifie quel(s) traitement(s) diffère(ent) des autres :\\
  
   Tukey multiple comparisons of means 95% family-wise confidence level   Tukey multiple comparisons of means 95% family-wise confidence level
Line 669: Line 740:
  
 Dans ce cas-ci, la seule différence significative d'​abondance se retrouve entre les diètes "​PlantInsect"​ et  "​Vertebrate"​. Dans ce cas-ci, la seule différence significative d'​abondance se retrouve entre les diètes "​PlantInsect"​ et  "​Vertebrate"​.
-==== 3.8 Représentations graphiques ==== 
  
-Après avoir vérifié les suppositions de base, interprété les résultats et identifié les niveaux significatifs à l'aide de tests post hoc ou de contrastes, les résultats d'une ANOVA peuvent être représentés graphiquement à l'aide de la fonction ''​barplot()''​Avec cette fonction, R produit un graphique de la variable réponse en fonction ​des niveaux de traitement. Les erreurs types ainsi que des lettres (représentant le résultat d'un test post hoc) peuvent y être ajoutées.+==== 3.7 Visualisation ​des résultats====
  
-<code rsplus| ​Fonction barplot+Après avoir vérifié les conditions de base, interprété les résultats, et identifié les niveaux significatifs à l'aide de tests post-hoc ou de contrastes, les résultats d'une ANOVA peuvent être représentés graphiquement à l'aide de la fonction ''​barplot()''​. R produit donc un graphique de la variable réponse en fonction des niveaux de traitement, ou les erreurs types et le nom des niveaux du traitement (représentant le résultat d'un test post hoc) peuvent y être apposées. 
-Représentation graphique ​d'un modèle d'​ANOVA à l'aide de la fonction barplot()+ 
 +<code rsplus| ​Barplot
 +Visualisation ​d'un modèle d'​ANOVA à l'aide de la fonction barplot()
  
 sd <- tapply(bird$logMaxAbund,​list(bird$Diet),​sd) ​ sd <- tapply(bird$logMaxAbund,​list(bird$Diet),​sd) ​
Line 694: Line 766:
 {{:​lm_fig_12.png?​650|}} {{:​lm_fig_12.png?​650|}}
  
-==== 3.Contrastes (section avancée ​et optionnelle) ====+ 
 +==== 3.Contrastes (section avancée/​facultative) ====
  
 <​hidden>​ <​hidden>​
-Il est possible d'​afficher des résultats supplémentaires de l'​ANOVA qu'on appelle contrastes. Ceci permet de visualiser les estimations de paramètres pour chaque niveau de la variable catégorique en comparaison avec un niveau de référence. On peut afficher ces résultats avec la fonction ''​summmary.lm()''​ lorsque l'​ANOVA a été effectuée avec la fonction ''​aov()''​ et avec la fonction ''​summary()''​ lorsque l'​ANOVA a été effectuée avec la fonction ''​lm()''​. Cette sortie montre les résultats de la régression linéaire pour chaque niveau de la variable catégorique :+  * Les contrastes sont des comparaisons de moyennes basées sur des hypothèses //a priori//, 
 +  * Ces groupes peuvent être composés d'un ou plusieurs niveaux d'un facteur, 
 +  * On peut tester une hypothèse simple (e.g. μ<​sub>​1</​sub>​ = μ<​sub>​2</​sub>​) ou des hypothèses plus complexes (e.g. (μ<​sub>​1</​sub>​ + μ<​sub>​2</​sub>​)/​3 == μ<​sub>​3</​sub>​). 
 + 
 +Le nombre de comparaisons doit être plus petit ou égal au nombre de degrés de liberté de l'​ANOVA. Ces comparaisons doivent être indépendantes l'une de l'​autre. 
 + 
 +Il est possible d'​afficher des résultats supplémentaires de l'​ANOVA ​dans R, qu'on appelle contrastes. Ceci permet de visualiser les estimations de paramètres pour chaque niveau de la variable catégorique en comparaison avec un niveau de référence. On peut afficher ces résultats avec la fonction ''​summmary.lm()''​ lorsque l'​ANOVA a été effectuée avec la fonction ''​aov()''​ et avec la fonction ''​summary()''​ lorsque l'​ANOVA a été effectuée avec la fonction ''​lm()''​. Cette sortie montre les résultats de la régression linéaire pour chaque niveau de la variable catégorique :
  
   Call: lm(formula = logMaxAbund ~ Diet, data = bird)   Call: lm(formula = logMaxAbund ~ Diet, data = bird)
Line 788: Line 867:
 Les contrastes utilisés fréquemment sont déjà programmés dans R : contrastes de Helmert, contrastes polynomiaux,​ etc. (cf. ''​help(contrasts)''​). Les contrastes utilisés fréquemment sont déjà programmés dans R : contrastes de Helmert, contrastes polynomiaux,​ etc. (cf. ''​help(contrasts)''​).
 </​hidden>​ </​hidden>​
 +
 +----
  
 ===== 4. ANOVA à deux critères de classification ===== ===== 4. ANOVA à deux critères de classification =====
  
-Il est possible d'utiliser deux variables explicatives dans une ANOVA afin de mieux expliquer la variabilité d'une variable réponse (cf. section 3). Afin d'inclure ​une deuxième ​variable ​explicative dans une ANOVA, le modèle ​mathématique doit être réécrit ​de manière ​à inclure l'​interaction entre ces deux variables ​: +Jusqu'ici, les modèles ​ANOVA que nous avons explorés n'ont eu qu'​une ​seule variable ​catégorique,​ mais on peut aussi créer des modèles ​ANOVA avec plusieurs variables explicatives catégoriques. Quand il y a 2 variables explicatives catégoriques, le modèle ​est un **ANOVA à deux critères ​de classification**. Un ANOVA à deux critères de classification teste plusieurs **hypothèses**que la moyenne ​diffère entre les niveaux ​de la variable A, que la moyenne ne diffère pas entre les niveaux de la variable ​B; et qu'il n'y a pas d'​interaction entre les variables A et BUne **interaction significative** implique que la valeur moyenne ​de la variable réponse pour chaque niveau ​de la variable A change selon le niveau de la variable B. Par exemple, la relation entre la couleur ​d'​un ​fruit et sa masse dépend ​de l'espèce ​de la plantesi oui, on peut dire qu'il y a une interaction entre la couleur ​et l'​espèce.
- +
-<m> {y_{ijk}} = µ + {A_i} + {B_j} + {A_i}{B_j} + {ε_{ijk}} </​m>​ +
- +
-où  +
- +
-µ est la moyenne ​globale ​de la variable ​réponse,​\\ +
-A<​sub>​i</​sub>​ est l'​effet du niveau i du facteur ​A,\\ +
-B<​sub>​j</​sub>​ est l'effet du niveau j du facteur B,\\ +
-A<​sub>​i</​sub>​B<​sub>​j</​sub> ​ est l'​interaction entre les deux facteurs,​\\ +
-et j varient de 1 à n (n ≥ 2),\\ +
-ε<​sub>​ijk</​sub>​ sont les résidus du modèle.\\ +
- +
-Les hypothèses nulles d'une ANOVA à deux critères ​de classification sont légèrement différentes ​de celles ​d'une ANOVA à un critère ​de classification : +
- +
-H<​sub>​01</​sub>:​ Il n'y a pas de différence de moyenne parmi les niveaux du facteur A; µ<​sub>​a1</​sub>​ = µ<​sub>​a2</​sub>​ = ... = µ<​sub>​ai</​sub>​ =... = µ<​sub>​an</​sub>​\\ +
-H<​sub>​02</​sub>​Il n'y a pas de différence de moyenne parmi les niveaux du facteur B; µ<​sub>​b1</​sub>​ = µ<​sub>​b2</​sub>​ = ... = µ<​sub>​bi</​sub>​ =... = µ<​sub>​bm</​sub>​\\ +
-H<​sub>​03</​sub>:​ Il n'y a pas d'interaction entre les facteurs A et B.+
  
 +Cliquez ci-dessous pour plus des détails mathématiques.
 +<​hidden>​
 Le tableau de calcul de l'​ANOVA vu à la section précédente doit être modifié afin d'​inclure le deuxième facteur et l'​interaction entre ces deux facteurs : Le tableau de calcul de l'​ANOVA vu à la section précédente doit être modifié afin d'​inclure le deuxième facteur et l'​interaction entre ces deux facteurs :
  
Line 821: Line 887:
  
 a: nombre de niveaux de la variable explicative A; b: nombre de niveaux de la variable explicative B;  r: nombre de répétitions par traitement a: nombre de niveaux de la variable explicative A; b: nombre de niveaux de la variable explicative B;  r: nombre de répétitions par traitement
-==== Effectuer une ANOVA à deux critères de classification ====+</​hidden>​ 
 + 
 +==== 4.1 Effectuer une ANOVA à deux critères de classification ====
  
 Dans R, une ANOVA à deux critères de classification est effectuée de la même manière qu'une ANOVA à un critère de classification avec la fonction ''​lm()''​. ​ Dans R, une ANOVA à deux critères de classification est effectuée de la même manière qu'une ANOVA à un critère de classification avec la fonction ''​lm()''​. ​
Line 827: Line 895:
 ---- ----
  
-**Défi 2**+**DÉFI 2**
  
 Examinez les effets des facteurs "​Diet",​ "​Aquatic"​ et de leur interaction sur l'​abondance maximale d'​oiseaux. ​ Examinez les effets des facteurs "​Diet",​ "​Aquatic"​ et de leur interaction sur l'​abondance maximale d'​oiseaux. ​
Line 883: Line 951:
  
 ---- ----
 +
 ==== 4.2 Diagramme d'​interaction ==== ==== 4.2 Diagramme d'​interaction ====
  
Line 894: Line 963:
 {{:​interaction_plot.png?​650|}} {{:​interaction_plot.png?​650|}}
  
-Qu'​est-ce que le trou sur la ligne des oiseaux aquatiques ​signifie ​?+Que signifie ​le trou sur la ligne des oiseaux aquatiques?
  
 <code rsplus| Plan non équilibré>​ <code rsplus| Plan non équilibré>​
Line 906: Line 975:
   Vertebrate ​  ​5 ​ 7   Vertebrate ​  ​5 ​ 7
  
-Le plan est non équilibré : il y a un nombre inégal d'​observations entre les diètes pour les oiseaux aquatiques (représentés par le 1) et les oiseaux terrestres (représentés par le 0). Consultez la section avancée ci-dessous pour obtenir ​plus de détails sur les ANOVA à plan non équilibré.+Le plan est **non-équilibré**: il y a un nombre inégal d'​observations entre les diètes pour les oiseaux aquatiques (représentés par le 1) et les oiseaux terrestres (représentés par le 0). Consultez la section avancée ci-dessous pour plus de détails sur les ANOVA à plan non-équilibré.
  
 ---- ----
  
-**Défi 3**+**DÉFI 3**
  
 Tester le seuil de signification du facteur "​Aquatic"​ en comparant deux modèles nichés (i.e. avec et sans ce facteur). Tester le seuil de signification du facteur "​Aquatic"​ en comparant deux modèles nichés (i.e. avec et sans ce facteur).
Line 916: Line 985:
 ++++ Défi 3: Solution |  ++++ Défi 3: Solution | 
 <code rsplus> <code rsplus>
-anova(anov3,​anov5) # Souvenez-vous ​que anov3 est le modèle avec le facteur "​Diet"​ seulement.+anova(anov3,​anov5) # Rappel ​que anov3 est le modèle avec le facteur "​Diet"​ seulement.
 </​code>​ </​code>​
 ++++ ++++
  
 ---- ----
-===== 5. ANOVA non équilibrée (section avancée ​et optionnelle) =====+ 
 +===== 5. ANOVA non-équilibrée (section avancée/​facultative) =====
  
 <​hidden>​ <​hidden>​
-Les ANOVA à un et à deux critères de classification nous permettent de déterminer les effets de variables catégoriques sur une variable réponse continue lorsque nous avons un plan expérimental équilibré (i.e. lorsque le nombre de répétitions est égal pour chaque niveau de facteur). Cependant, ​la perte d'​unités expérimentales au cours d'une expérience ou des restrictions techniques dues au plan expérimental ​peuvent faire que le plan ne sera pas équilibré. Dans de telles situations, les résultats d'​ANOVA peuvent ​mener à des interprétations erronées ​en raison ​d'un mauvais calcul ​de la somme des carrés. Pour des plans expérimentaux non équilibrés,​ l'​ANOVA doit être modifiée pour prendre en compte les données manquantes.+Les ANOVA à un et à deux critères de classification nous permettent de déterminer les effets de variables catégoriques sur une variable réponse continue lorsque nous avons un plan expérimental ​**équilibré** (i.e. lorsque le nombre de répétitions est égal pour chaque niveau de facteur). Cependant, ​le plan peut devenir **non-équilibré** en raison d'​une ​perte d'​unités expérimentales au cours d'une expérience ou de restrictions techniques dues au plan expérimental. Dans de telles situations, les résultats d'​ANOVA peuvent ​être mal interprétés ​en raison ​de calculs erronés ​de la somme des carrés. Pour des plans expérimentaux non-équilibrés,​ l'​ANOVA doit être modifiée pour prendre en compte les données manquantes ​de la variable réponse.
  
-Le modèle mathématique,​ les hypothèses statistiques et les suppositions ​d'une ANOVA à plan non équilibré demeurent les mêmes que pour l'​ANOVA à plan équilibré. Le calcul de la somme des carrés, par contre, est différent.+Le modèle mathématique,​ les hypothèses statistiqueset les conditions de base d'une ANOVA à plan non-équilibré demeurent les mêmes que deux de l'​ANOVA à plan équilibré. Le calcul de la somme des carrés, par contre, est différent.
  
-Pour un plan expérimental non équilibré,​ les hypothèses statistiques sont les suivantes :+Pour un plan expérimental non-équilibré,​ les hypothèses statistiques sont les suivantes :
  
 H<​sub>​0</​sub>:​ µ<​sub>​1</​sub>​ = µ<​sub>​2</​sub>​ =... = µ<​sub>​i</​sub> ​ =... = µ<​sub>​n</​sub>​\\ H<​sub>​0</​sub>:​ µ<​sub>​1</​sub>​ = µ<​sub>​2</​sub>​ =... = µ<​sub>​i</​sub> ​ =... = µ<​sub>​n</​sub>​\\
Line 946: Line 1016:
 Ceci correspond à une somme des carrés séquentielle (aussi appelée de type I), car l'​effet d'un facteur B est calculé après avoir retiré l'​effet d'un facteur A. L'​interaction est calculée après avoir retiré les effets principaux de ces deux facteurs. Ces calculs dépendent de la taille de l'​échantillon,​ car l'​effet de chaque facteur est calculé après avoir retiré l'​effet du facteur précédent. Ceci correspond à une somme des carrés séquentielle (aussi appelée de type I), car l'​effet d'un facteur B est calculé après avoir retiré l'​effet d'un facteur A. L'​interaction est calculée après avoir retiré les effets principaux de ces deux facteurs. Ces calculs dépendent de la taille de l'​échantillon,​ car l'​effet de chaque facteur est calculé après avoir retiré l'​effet du facteur précédent.
  
-Dans le cas d'un plan expérimental non équilibré,​ les résultats d'​ANOVA dépendent de l'​ordre dans lequel chaque variable apparaît dans le modèle. Voyez comment les résultats diffèrent en comparant les deux modèles suivants :+Dans le cas d'un plan expérimental non-équilibré,​ les résultats d'​ANOVA dépendent de l'​ordre dans lequel chaque variable apparaît dans le modèle. Voyez comment les résultats diffèrent en comparant les deux modèles suivants :
  
 <code rsplus| ANOVA non équilibrée>​ <code rsplus| ANOVA non équilibrée>​
Line 955: Line 1025:
 </​code>​ </​code>​
  
-Bien que les variables explicatives soient les mêmes pour chaque modèle, les tableaux d'​ANOVA montrent des résultats différents à cause d'un plan non équilibré ​ (i.e. un nombre différent d'​observations pour les oiseaux aquatiques et terrestres).+Bien que les variables explicatives soient les mêmes pour chaque modèle, les tableaux d'​ANOVA montrent des résultats différents à cause d'un plan non-équilibré ​ (i.e. un nombre différent d'​observations pour les oiseaux aquatiques et terrestres).
  
-Pour les plans non équilibrés,​ une somme des carrés marginale (aussi appelée de type III) permet de calculer un effet principal après avoir retiré les effets des autres facteurs. Ceci rend le calcul indépendant de la taille des échantillons :+Pour les plans non-équilibrés,​ une somme des carrés marginale (aussi appelée de type III) permet de calculer un effet principal après avoir retiré les effets des autres facteurs. Ceci rend le calcul indépendant de la taille des échantillons :
  
 <​m>​{SS_FactorA}={SS(A|B,​AB)}=SS(A,​B,​AB)-SS(B,​AB)</​m>​\\ <​m>​{SS_FactorA}={SS(A|B,​AB)}=SS(A,​B,​AB)-SS(B,​AB)</​m>​\\
Line 975: Line 1045:
  
 </​hidden>​ </​hidden>​
-===== 6. ANCOVA ===== 
  
-L'​analyse de covariance (ANCOVA) est un mélange de régression linéaire et d'​ANOVA : on teste l'​effet d'une (ou plusieurs) variable catégorique et d'une (ou plusieurs) variable continue sur une variable réponse continue. Le modèle mathématique sous-jacent de l'​ANCOVA est définit de la manière suivante :+----
  
-<m> {y_ij} ​{µ} + {A_i} + {Β_i}({x_{ij}}-{overline{x}_i}) + {ε_ij} </m>+===== 6. ANCOVA =====
  
-+L'​analyse de covariance (ANCOVA) est un modèle linéaire qui teste l'​influence d'une (ou plusieurs) variable explicative catégorique sur une variable réponse continue. Chaque niveau de la variable catégorique est décrit par une pente (ou coefficient de variation) et une ordonnée à l'​origine. En plus de tester si la variable réponse diffère pour au moins un niveau de la variable catégorique,​ l'​ANCOVA teste aussi si la variable réponse est influencée par sa relation avec la variable continue (nommée la **covariable** dans une ANCOVA), et par une différence dans l'​influence de la variable continue sur la réponse (i.e. l'​interaction) entre les niveaux de groupe. Les hypothèses d'un ANCOVA sont alors: qu'il n'y a pas de différence de moyenne entre les niveaux de la variable catégorique;​ qu'il n'y a pas de correlation entre la variable réponse et la variable explicative catégorique;​ et qu'il n'y a pas d'​interaction entre les variables catégoriques et continues.
  
-µ est la moyenne globale ​de la variable réponse,​\\ +==== 6.1 Conditions ​de base ====
-A<​sub>​i</​sub>​ est l'​effet du facteur A,\\ +
-B<​sub>​i</​sub>​ est l'​effet de la variable continue,​\\ +
-x<​sub>​ij</​sub>​ est la covariable mesurée sur l'​observation y<​sub>​ij</​sub>,​\\ +
-<​m>​overline{x}</​m><​sub>​i</​sub>​ est la valeur moyenne de la covariable pour le groupe i,\\ +
-i varie de 1 à n (n > 2) traitements,​\\ +
-ε<​sub>​ij</​sub>​ sont les résidus du modèle.\\+
  
-Prenez note que le modèle est composé du terme A<​sub>​i</​sub>​ pour déterminer ​l'effet d'un traitement ou d'un facteur (comme dans une ANOVA) ainsi qu'un terme Β<​sub>​i</​sub>​ pour tenir compte de l'effet d'une covariable (i.e. la pente d'une variable comme dans une régression linéaire). Donc, chaque traitement ​peut être décrit par une pente et une ordonnée ​à l'origine. En plus de tester si la variable réponse est influencée par au moins un niveau ​de la variable catégorique,​ l'​ANCOVA teste également si la variable réponse est influencée par la variable continue (i.e. appelée covariable dans le cadre d'une ANCOVA). L'​ANCOVA teste également si les niveaux ​de la variable catégorique influencent la variable réponse différemment en fonction de la valeur de la variable continue (i.e. l'​interaction entre ces deux variables ​explicatives). ​Les hypothèses nulles de l'​ANCOVA ​sont définies ainsi :+Tout comme le test de t et l'​ANOVAl'ANCOVA doit respecter certaines conditions statistiques qu'on peut vérifier ​à l'aide de diagrammes ​de diagnostic:​ 
 +  - Les covariables ont toutes ​la **même étendue ​de valeurs** 
 +  - Les variables ​sont **//​fixes//​** 
 +  - Les variables catégoriques et continues ​sont **indépendantes**
  
-H<​sub>​01</​sub>:​ Il n'y a pas d'​effet de la variable catégorique (i.e. µ<​sub>​1</​sub>​ = µ<​sub>​2</​sub>​ =... = µ<​sub>​i</​sub>​ =... = µ<​sub>​n</​sub>​)\\ +**__Note :__** Un variable //fixe// est une variable d'​intérêt pour une étude (e.g. la masse des oiseaux). En comparaison,​ une variable aléatoire représente surtout une source de bruit qu'on veut contrôler (i.e. le site où les oiseaux ont été échantillonnés). Si votre modèle comporte des effets aléatoires,​ consultez l'​atelier sur les [[http://​qcbs.ca/​wiki/​r_atelier6|modèles linéaires mixtes]]!
-H<​sub>​02</​sub>:​ Il n'y a pas d'​effet de la variable continue (i.e. β = 0)\\ +
-H<​sub>​03</​sub>:​ Il n'y a pas d'​interaction entre la variable catégorique et la variable continue\\ +
- +
-==== 6.1 Suppositions de base ==== +
- +
-Tout comme le test de t et l'​ANOVA,​ l'​ANCOVA doit respecter certaines suppositions statistiques qu'on peut vérifier à l'aide de diagrammes de diagnostic : +
-  - Les résidus du modèle sont distribués normalement +
-  - Homoscédasticité de la variance résiduelle +
-    - Les résidus et les valeurs prédites sont indépendants,​  +
-    - La variance résiduelle et les valeurs prédites sont indépendantes +
-    - La variance égale entre les différents niveaux d'un facteur donné +
-  - Les covariables ont toutes la même étendue de valeurs +
-  - Les variables sont //fixes// +
-  - Les facteurs et les covariables sont indépendants +
- +
-**__Note :__** Un variable //fixe// est une variable d'​intérêt pour une étude (e.g. la masse des oiseaux). En comparaison,​ une variable aléatoire représente surtout une source de bruit qu'on veut contrôler (i.e. le site où les oiseaux ont été échantillonnés). Si votre modèle comporte des effets aléatoires,​ consultez l'​atelier sur les [[http://​qcbs.ca/​wiki/​r_atelier6|modèles linéaires mixtes]] !+
  
 ==== 6.2 Types d'​ANCOVA ==== ==== 6.2 Types d'​ANCOVA ====
  
-Il est possible d'​avoir plusieurs facteurs et variables au sein d'une même ANCOVA. ​Sachez cependant que l'​interprétation des résultats devient de plus en plus complexe à mesure que le nombre de covariables et de facteurs augmente.+Il est possible d'​avoir plusieurs facteurs ​(i.e. variables explicatives catégoriques) ​et covariables (i.e. variables ​explicatives continues) ​au sein d'une même ANCOVA. ​Par contre, ​l'​interprétation des résultats devient de plus en plus complexe à mesure que le nombre de covariables et de facteurs augmente.
  
-Les ANCOVA les plus fréquentes ​comportent :+Les ANCOVA les plus courantes ​comportent :
   - une covariable et un facteur   - une covariable et un facteur
   - une covariable et deux facteurs   - une covariable et deux facteurs
Line 1026: Line 1076:
   - des facteurs sur la relation existant entre les covariables et la variable réponse   - des facteurs sur la relation existant entre les covariables et la variable réponse
  
-Ces buts ne sont atteints que s'il n'y a pas d'​interaction significative entre le(s) facteur(s) et la(les) covariable(s)! Des exemples d'​interaction significative entre un facteur et une covariable (pour une ANCOVA avec un facteur et une covariable) sont illustrés ci-bas dans les deux derniers graphiques:+Ces buts ne sont atteints que s'il n'y a pas d'​interaction significative entre le(s) facteur(s) et la(les) covariable(s)! Des exemples d'​interaction significative entre un facteur et une covariable (pour une ANCOVA avec un facteur et une covariable) sont illustrés ci-dessous ​dans les deux derniers graphiques:
  
 {{:​ancova_schematic.png?​550|}} {{:​ancova_schematic.png?​550|}}
  
 La même logique s'​applique aux ANCOVAs à plusieurs facteurs et/ou covariables. La même logique s'​applique aux ANCOVAs à plusieurs facteurs et/ou covariables.
 +\\ 
  
 ==== 6.3 Effectuer une ANCOVA ==== ==== 6.3 Effectuer une ANCOVA ====
  
-Effectuer une ANCOVA dans R ressemble à une ANOVA à deux critères de classification : on utilise la fonction ''​lm()''​. Toutefois, au lieu d'​avoir deux variables catégoriques (e.g. "​Diet"​ et "​Aquatic"​),​ on utilise une variable catégorique et une variable continue.+Effectuer une ANCOVA dans R ressemble à une ANOVA à deux critères de classification : on utilise la fonction ''​lm()''​. Toutefois, au lieu d'​avoir deux variables catégoriques (e.g. "​Diet"​ et "​Aquatic"​),​ on utilise ​maintenant ​une variable catégorique et une variable continue.
  
 Par exemple, en utilisant le jeu de données CO2 (déjà inclus dans R) où la variable réponse est //uptake//, on peut effectuer une ANCOVA avec la variable continue //conc// et le facteur //​Treatment//​ : Par exemple, en utilisant le jeu de données CO2 (déjà inclus dans R) où la variable réponse est //uptake//, on peut effectuer une ANCOVA avec la variable continue //conc// et le facteur //​Treatment//​ :
Line 1064: Line 1115:
 ---- ----
  
-Défi 4+**DÉFI ​4**
  
-Effectuez une ANCOVA ​afin de tester ​l'​effet du facteur //Diet//, de la covariable //Mass// et de leur interaction sur la variable réponse //​MaxAbund//​.\\+Effectuez une ANCOVA ​qui teste l'​effet du facteur //Diet//, de la covariable //Mass//et de leur interaction sur la variable réponse //​MaxAbund//​.\\
  
 ++++ Défi 4: Solution |  ++++ Défi 4: Solution | 
Line 1123: Line 1174:
  
 ---- ----
- 
  
  
 ===== 7. Régression multiple ===== ===== 7. Régression multiple =====
  
-Une régression multiple teste les effets de plusieurs variables explicatives continues sur une variable réponse continue. ​La régression multiple se base sur le modèle mathématique suivant :+Une régression multiple teste les effets de plusieurs variables explicatives continues sur une variable réponse continue. ​
  
-<m> {y_i} {β_0} + {β_1}{x_{1i}} + {β_2}{x_{2i}} + {β_3}{x_{3i}} +... + {β_{n-1}}{x_{n-1}} + {β_n}{x_n} + {ε_i} </m>+==== 7.1 Conditions de base ====
  
-+En plus des conditions de base habituelles des modèles linéaires, il est important de tester pour **l'​orthogonalité** parce que ceci influence l'​interprétation du modèle. Les variables sont orthogonales quand les variables explicatives sont colinéaires. Si une variable explicative est corrélée avec une autre variable, elles expliquent probablement la même variabilité dans la variable réponse, et l'​effet d'une variable sera caché par l'​autre.S'​il existe une relation entre deux variables explicatives,​ elles sont donc **colinéaires**. ​
  
-β<​sub>​0</​sub>​ est l'​ordonnée ​à l'​origine de la droite,\\ +La colinéarité doit être évitée, car il ne sera pas possible de distinguer les effets propres ​à chaque variable. Voici quelques solutions possibles : 
-β<​sub>​1<​/sub> est l'​effet de la variable x<​sub>​1<​/sub> (i.e. la pente de la droite de régression de la variable x<​sub>​1<​/sub>​),​\\ +  - Gardez seulement **une** des variables colinéaires
-β<​sub>​2<​/sub> est l'effet de la variable x<​sub>​2<​/sub> (i.e. la pente de la droite de régression de la variable x<​sub>​2<​/sub>),\\ +  - Essayez une analyse multidimensionelle ​//[[http://​qcbs.ca/wiki/r_atelier9|(voir ​l'atelier 9)]]//, 
-ε<​sub>​i</​sub>​ sont les résidus du modèle (i.e. la variance inexpliquée).+  - Essayez une analyse pseudo-orthogonale.
  
-==== 7.1 Suppositions ​de base ====+La colinéarité entre variables explicatives peut être vérifiée à l'aide du **facteur d'​inflation ​de la variance** (VIF ou //"​variance inflation factor"//​) en utilisant la fonction ''​vif''​ du paquet ''​HH''​.
  
-La régression multiple doit respecter certaines suppositions afin d'être valide : +<code rsplus| Facteur ​d'inflation ​de la variance ​(VIF> 
-  - **Distribution normale ​de la variable réponse**\\ Ceci peut être vérifié par un test de Shapiro-Wilk (fonction ''​shapiro.test()''​). Une transformation peut être utilisée si les données ne sont pas distribuées normalement.\\ +vif(clDD ~ clFD + clTmi + clTma + clP + grass, data=Dickcissel
-  - **Orthogonalité**\\ Les variables explicatives ne doivent pas être colinéaires ​(i.e. ne doivent pas être fortement corrélées). Si une variable explicative est corrélée avec une autre, ces deux variables vont probablement expliquer la même variabilité de la variable réponse : l'​effet d'une variable va cacher l'​effet de l'​autre variable sur la variable réponse.\\ +</​code>​
-  - **Linéarité**\\ Les relations entre les variables doivent être linéaires.+
  
-Les résidus du modèle doivent respecter les mêmes suppositions que celles de la régression linéaire simple, soient ​: +qui produit ​la sortie suivante:
-  - Distribution normale des résidus +
-  - Indépendance des résidus en fonction des variables explicatives x<​sub>​i</​sub>​ (ou des valeurs prédites) +
-  - Indépendance de la variance des résidus en fonction des variables explicatives x<​sub>​i</​sub>​ (ou des valeurs prédites) +
-  - Pas d'​observations aberrantes (i.e. outliers)+
  
-=== Non-respect des suppositions ===+    clFD     ​ clTmi ​    ​ clTma ​      ​ clP ​    ​ grass  
 +   ​13.605855 ​ 9.566169 ​ 4.811837 ​ 3.196599 ​ 1.165775 
 + 
 +Les variables colinéaires ont un VIF plus grand que 5. La sortie R montre alors que //clDD//, //clFD//, et //clTmi// sont fortement colinéaires. Seulement une de ces variables explicatives peut être retenue dans le modèle de régression final.
  
-S'il existe une relation entre deux variables explicatives,​ elles sont colinéaires. La colinéarité doit être évitée, car il ne sera pas possible de distinguer les effets propres à chaque variable. Voici quelques solutions possibles : 
-  - Gardez seulement **une** des variables colinéaires,​ 
-  - Essayez une analyse multidimensionelle //​[[http://​qcbs.ca/​wiki/​r_atelier9|(voir l'​atelier 9)]]//, 
-  - Essayez une analyse pseudo-orthogonale. 
 ==== 7.2 Jeu de données Dickcissel ==== ==== 7.2 Jeu de données Dickcissel ====
  
Line 1170: Line 1214:
  
  
-Dans R, une régression multiple est effectuée à l'aide de la fonction ''​lm()''​ et les résultats peuvent être visualisés avec la fonction ''​summary()''​. En utilisant le jeu de données Dickcissel, on peut tester les effets du //climat//, de la //​productivité//​ et du //paysage// sur l'//​abondance//​ du Dickcissel ​en utilisant ​un modèle de régression multiple. ​+Dans R, une régression multiple est effectuée à l'aide de la fonction ''​lm()''​ et les résultats peuvent être visualisés avec la fonction ''​summary()''​. En utilisant le jeu de données Dickcissel, on peut tester les effets du //climat//, de la //​productivité//​ et du //paysage// sur l'//​abondance//​ du Dickcissel ​à l'aide d'un modèle de régression multiple. ​
  
 ---- ----
-Défi 5+**DÉFI ​5**
  
-Est-il nécessaire ​d'​appliquer une transformation à la variable réponse //abund// ?+Est-il nécessaire ​de transformer ​la variable réponse //abund// ?
  
 ++++ Défi 5: Solution| ++++ Défi 5: Solution|
Line 1185: Line 1229:
 </​code>​ </​code>​
  
-Il y a un grand nombre de zéros dans la distribution de la variable //abund//. On peut ajouter une constante avant d'​effectuer une transformation logarithmique étant donnée la forte asymétrie de la distribution :+Il y a plusieurs ​zéros dans la distribution de la variable //abund//. On peut ajouter une constante avant d'​effectuer une transformation logarithmiqueétant donnée la forte asymétrie de la distribution :
  
 <code rsplus> <code rsplus>
Line 1199: Line 1243:
 ---- ----
  
-Vous avez remarqué ​au défi 5 que la variable réponse //abund// n'a pas pu être normalisée. ​Ceci suggère qu'​il ​faudrait peut-être laisser tomber la supposition de normalité et passer à un [[http://​qcbs.ca/​wiki/​r_atelier7| modèle linéaire généralisé]],​ mais ceci ira à plus tard !+Dans le défi 5, vous avez probablement ​remarqué que la variable réponse //abund// n'a pas pu être normalisée. ​Il faudrait ​alors peut-être laisser tomber la supposition de normalité et passer à un [[http://​qcbs.ca/​wiki/​r_atelier7| modèle linéaire généralisé]],​ mais ceci ira à plus tard !
  
-Pour l'​instant,​ nous allons utiliser la variable //abund// non transformée et comparer l'​importance relative de trois variables explicatives (//​climat//,​ //​productivité//​ et //​paysage//​) sur l'//​abondance//​.+Pour l'​instant,​ nous allons utiliser la variable //abund// non-transformée et comparer l'​importance relative de trois variables explicatives (//​climat//,​ //​productivité//​ et //​paysage//​) sur l'//​abondance//​.
  
 <code rsplus| Régression multiple>​ <code rsplus| Régression multiple>​
Line 1238: Line 1282:
  
 {{: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 1268: Line 1312:
 ---- ----
  
-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 1322: Line 1366:
 </​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 1330: Line 1375:
 </​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 1353: Line 1398:
 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 1450: Line 1482:
  
 </​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.
 ** **
  
Line 1459: Line 1493:
   * Myers RH - Classical and Modern Regression with Application ​   * Myers RH - Classical and Modern Regression with Application ​
   * Gotelli NJ - A Primer of Ecological Statistics  ​   * Gotelli NJ - A Primer of Ecological Statistics  ​
 +
 +
 +