Module R’Stat1 : ANCOVA

Novembre 2019 ; IRD-Montpellier-France

CC BY-NC-ND 3.0

ANCOVA

L’analyse de la covariance (ANCOVA) est une technique qui combine certaines des caractéristiques de l’analyse de la variance et de la régression linéaire. L’idée à la base de l’analyse de la covariance est d’ajouter à un modèle d’analyse de la variance, associé à une ou plusieurs variables qualitatives, une ou plusieurs variables quantitatives qui pourraient être liées à la réponse étudiée.” Frédéric Bertrand Univ. de Technologie de Troyes

Une covariable, c’est une variable quantitative qui est ajoutée au modèle d’ANOVA. Les covariables doivent avoir un lien avec la variable à expliquer, sinon cela n’apporte rien au modèle ANOVA. Par exemple si l’on s’intéressse à l’impact de diverses barres énergétiques sur les performances de sportifs, une covariable pourrait être l’âge des sportifs. La covariable doit être indépendante des traitements au risque de masquer les effets de ceux-ci. Il est bon de représenter graphiquement la covariable en fonction des facteurs pour le vérifier.

En bref : ANCOVA = ANOVA + au moins une variable quantitative explicative

Données mtcars depuis tutorialsPoint

Récupération des données

The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).

  • mpg: Miles/(US) gallon
  • hp: Gross horsepower
  • am: Transmission (0 = automatic, 1 = manual)

## 'data.frame':    32 obs. of  3 variables:
##  $ am : Factor w/ 2 levels "0","1": 2 2 2 1 1 1 1 1 1 1 ...
##  $ mpg: num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ hp : num  110 110 93 110 175 105 245 62 95 123 ...

ANOVA

##             Df Sum Sq Mean Sq F value   Pr(>F)    
## mtcars$am    1  405.2   405.2   16.86 0.000285 ***
## Residuals   30  720.9    24.0                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANCOVA

##                     Df Sum Sq Mean Sq F value   Pr(>F)    
## mtcars$am            1  405.2   405.2  46.221 2.20e-07 ***
## mtcars$hp            1  475.5   475.5  54.242 5.09e-08 ***
## mtcars$am:mtcars$hp  1    0.0     0.0   0.001    0.981    
## Residuals           28  245.4     8.8                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pas d’effet significatif de l’interaction.

##             Df Sum Sq Mean Sq F value   Pr(>F)    
## mtcars$am    1  405.2   405.2   47.87 1.33e-07 ***
## mtcars$hp    1  475.5   475.5   56.18 2.92e-08 ***
## Residuals   29  245.4     8.5                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

On compare les deux modèles : la simplification est justifiée.

## Analysis of Variance Table
## 
## Model 1: mtcars$mpg ~ mtcars$am * mtcars$hp
## Model 2: mtcars$mpg ~ mtcars$am + mtcars$hp
##   Res.Df    RSS Df  Sum of Sq     F Pr(>F)
## 1     28 245.43                           
## 2     29 245.44 -1 -0.0052515 6e-04 0.9806

On compare avec le modèle ANOVA : rédcution très forte du pouvoir explicatif du modèle sur la consommation si on enlève l’information de la puissance de la voiture.

## Analysis of Variance Table
## 
## Model 1: mtcars$mpg ~ mtcars$am
## Model 2: mtcars$mpg ~ mtcars$am + mtcars$hp
##   Res.Df    RSS Df Sum of Sq      F   Pr(>F)    
## 1     30 720.90                                 
## 2     29 245.44  1    475.46 56.178 2.92e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Données regrowth depuis The R Book

Récupération des données

  • Root : taille de l’arbre
  • Fruit : récolte / rendement
  • Grazing : attaques par des animaux (herbivorie)

Graphiques

Il semblerait que les arbres attaqués donnent un meilleur rendement ?

ANCOVA

##                    Df Sum Sq Mean Sq F value   Pr(>F)    
## rg$Grazing          1   2910    2910  62.380 2.26e-09 ***
## rg$Root             1  19149   19149 410.420  < 2e-16 ***
## rg$Grazing:rg$Root  1      5       5   0.103     0.75    
## Residuals          36   1680      47                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

##             Df Sum Sq Mean Sq F value  Pr(>F)    
## rg$Grazing   1   2910    2910   63.93 1.4e-09 ***
## rg$Root      1  19149   19149  420.62 < 2e-16 ***
## Residuals   37   1684      46                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

## Analysis of Variance Table
## 
## Model 1: rg$Fruit ~ rg$Grazing * rg$Root
## Model 2: rg$Fruit ~ rg$Grazing + rg$Root
##   Res.Df    RSS Df Sum of Sq      F Pr(>F)
## 1     36 1679.7                           
## 2     37 1684.5 -1   -4.8122 0.1031   0.75

Est-ce que ne considérer que la taille de l’arbre ne serait pas suffisant ?

##             Df Sum Sq Mean Sq F value  Pr(>F)    
## rg$Root      1  16795   16795   91.84 1.1e-11 ***
## Residuals   38   6949     183                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

## Analysis of Variance Table
## 
## Model 1: rg$Fruit ~ rg$Grazing + rg$Root
## Model 2: rg$Fruit ~ rg$Root
##   Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
## 1     37 1684.5                                  
## 2     38 6948.8 -1   -5264.4 115.63 6.107e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Vérification avec step

## Start:  AIC=157.5
## rg$Fruit ~ rg$Grazing * rg$Root
## 
##                      Df Sum of Sq    RSS    AIC
## - rg$Grazing:rg$Root  1    4.8122 1684.5 155.61
## <none>                            1679.7 157.50
## 
## Step:  AIC=155.61
## rg$Fruit ~ rg$Grazing + rg$Root
## 
##              Df Sum of Sq     RSS    AIC
## <none>                     1684.5 155.61
## - rg$Grazing  1    5264.4  6948.8 210.30
## - rg$Root     1   19148.9 20833.4 254.22
## Call:
##    aov(formula = rg$Fruit ~ rg$Grazing + rg$Root)
## 
## Terms:
##                 rg$Grazing   rg$Root Residuals
## Sum of Squares    2910.436 19148.939  1684.461
## Deg. of Freedom          1         1        37
## 
## Residual standard error: 6.747294
## Estimated effects may be unbalanced

Conclusion

L’absence de covariable aurait conduit à une erreur d’interprétation, d’où l’importance du design expérimental.

ANCOVA 2 facteurs : TD The R Book p 548

Les séries temporelles