codage effets aléatoires dans modele mixte

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

myriam desanlis
Messages : 27
Enregistré le : 10 Avr 2009, 08:19

codage effets aléatoires dans modele mixte

Messagepar myriam desanlis » 23 Mai 2012, 12:55

Bonjour,

J'ai utilisé un dispositif en split-splot à 4 facteurs pour relever une variable quantitative LAI :
Bloc : 3 blocs
Con : une parcelle irriguée, l'autre sèche
Dens : une densité D1 et l'autre D2
Variete : 5 variétés

Je me suis aidée d'un topic du forum sur lequel j'ai trouvé cette doc : http://www3.imperial.ac.uk/portal/pls/p ... 171923.PDF
pour réaliser une anova

Code : Tout sélectionner

mod1=aov(donneeLAI$LAI~donneeLAI$Con*donneeLAI$Dens*donneeLAI$Variete+Error(donneeLAI$Bloc/donneeLAI$Con/donneeLAI$Dens/donneeLAI$Variete), data = donneeLAI)
> summary(mod1)

Error: donneeLAI$Bloc
          Df Sum Sq Mean Sq F value Pr(>F)
Residuals  2 5.2788  2.6394               

Error: donneeLAI$Bloc:donneeLAI$Con
              Df Sum Sq Mean Sq F value Pr(>F)
donneeLAI$Con  1 9.7741  9.7741   4.826 0.1592
Residuals      2 4.0506  2.0253               

Error: donneeLAI$Bloc:donneeLAI$Con:donneeLAI$Dens
                             Df Sum Sq Mean Sq F value    Pr(>F)   
donneeLAI$Dens                1 41.706  41.706 158.276 0.0002297 ***
donneeLAI$Con:donneeLAI$Dens  1 12.069  12.069  45.803 0.0024868 **
Residuals                     4  1.054   0.263                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Error: donneeLAI$Bloc:donneeLAI$Con:donneeLAI$Dens:donneeLAI$Variete
                                               Df  Sum Sq Mean Sq F value   Pr(>F)   
donneeLAI$Variete                               4 29.5575  7.3894 26.6258 8.77e-10 ***
donneeLAI$Con:donneeLAI$Variete                 4  0.5252  0.1313  0.4731  0.75509   
donneeLAI$Dens:donneeLAI$Variete                4  2.5815  0.6454  2.3255  0.07762 . 
donneeLAI$Con:donneeLAI$Dens:donneeLAI$Variete  4  1.2474  0.3119  1.1237  0.36271   
Residuals                                      32  8.8808  0.2775                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
Residuals 480 355.88 0.74142


Avec ce modèle il n'est pas possible de tester les hypothèses de l'anova (normalité avec Shapiro Test sur les résidus, homoscédasticité), existe-il un package ou autre qui permettent de réaliser les tests classiques liés à l'utilisation d'une anova?

Deuxième question, la variable que je teste (LAI) a été enregistrée à différentes dates aux mêmes endroits (ex : parcelle 1 date 1 puis parcelle 1 date 2...). Comment transcrire ceci dans mon modèle sous R?

myriam desanlis
Messages : 27
Enregistré le : 10 Avr 2009, 08:19

Messagepar myriam desanlis » 06 Juin 2012, 14:55

Bonjour,

je me permets de faire remonter un peu mon sujet, j'ai fait des recherches et découvert l'existence des anovas à mesures répétées, seulement je n'ai trouvé aucune doc pertinente sur leurs programmations sous R, qqun aurait-il le nom de la fonction ou de la doc qui lui est associée?

Merci d'avance

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 06 Juin 2012, 20:29

Bonsoir,

Voir les package nlme, lme4 qui implémentent les modèles mixtes, dénomination plus générale de l'ANOVA à mesures répétées.

Nicolas

myriam desanlis
Messages : 27
Enregistré le : 10 Avr 2009, 08:19

Messagepar myriam desanlis » 07 Juin 2012, 09:04

Bonjour,

merci pour l'info c'est exactement ce qui me convient! Par contre, j'ai un peu de mal à coder la partie aléatoire de mon modèle.
Tout d'abord, j'ai un jeu de données comme ceci :

Code : Tout sélectionner

> donneeLAI
    Bloc Parcelle Dens Con date  LAI Variete
1      3       15   D2   I  8/6 2.01      ES
2      3       14   D2   I  8/6 1.77      NK
3      3       13   D2   I  8/6 2.14      KE
4      3       12   D2   I  8/6 2.00      LG
5      3       11   D2   I  8/6 2.41      SI
6      2       10   D2   I  8/6 2.19      NK
7      2        9   D2   I  8/6 2.42      LG
8      2        8   D2   I  8/6 2.56      SI
9      2        7   D2   I  8/6 2.02      KE
10     2        6   D2   I  8/6 2.08      ES
11     1        5   D2   I  8/6 2.18      SI
12     1        4   D2   I  8/6 2.46      KE
13     1        3   D2   I  8/6 1.61      LG
14     1        2   D2   I  8/6 2.08      ES
15     1        1   D2   I  8/6 1.74      NK
16     1       34   D1   I  8/6 1.99      NK
17     1       33   D1   I  8/6 1.86      ES
18     1       32   D1   I  8/6 1.50      LG


je cherche à déterminer si les facteurs Dens, Con et Variete ont un effet sur ma variable LAI (interaction entre les facteurs à tester).
J'ai utilisé le code suivant :

Code : Tout sélectionner

> mod1=lme(LAI~Con+Dens+Variete,random = ~1|Parcelle, data = donneeLAI)
> mod1
Linear mixed-effects model fit by REML
  Data: donneeLAI
  Log-restricted-likelihood: -690.7259
  Fixed: LAI ~ Con + Dens + Variete
(Intercept)        ConS      DensD2   VarieteKE   VarieteLG   VarieteNK   VarieteSI
 2.89207407  0.26907407 -0.55581481 -0.24314815 -0.47268519 -0.48287037  0.08305556

Random effects:
 Formula: ~1 | Parcelle
        (Intercept)  Residual
StdDev: 8.89247e-05 0.8571161

Number of Observations: 540
Number of Groups: 60


Est-ce bien ainsi qu'il faut coder l'effet aléatoire ou faut-il rajouter la date dans cet effet?
Si jamais je souhaite mettre le facteur bloc en effet aléatoire, comment faut-il le rajouter :

Code : Tout sélectionner

random= ~1|Parcelle/bloc
ou

Code : Tout sélectionner

random= ~1|bloc/Parcelle
ou autre?

Dernière question concernant l'interprétation des résultats :

Code : Tout sélectionner

> summary(mod1)
Linear mixed-effects model fit by REML
 Data: donneeLAI
       AIC      BIC    logLik
  1399.452 1437.958 -690.7259

Random effects:
 Formula: ~1 | Parcelle
        (Intercept)  Residual
StdDev: 8.89247e-05 0.8571161

Fixed effects: LAI ~ Con + Dens + Variete
                 Value  Std.Error  DF   t-value p-value
(Intercept)  2.8920741 0.09758696 480 29.635865  0.0000
ConS         0.2690741 0.07376881  53  3.647532  0.0006
DensD2      -0.5558148 0.07376881  53 -7.534550  0.0000
VarieteKE   -0.2431481 0.11663873  53 -2.084626  0.0419
VarieteLG   -0.4726852 0.11663873  53 -4.052558  0.0002
VarieteNK   -0.4828704 0.11663873  53 -4.139880  0.0001
VarieteSI    0.0830556 0.11663873  53  0.712075  0.4795
 Correlation:
          (Intr) ConS   DensD2 VartKE VartLG VartNK
ConS      -0.378                                   
DensD2    -0.378  0.000                           
VarieteKE -0.598  0.000  0.000                     
VarieteLG -0.598  0.000  0.000  0.500             
VarieteNK -0.598  0.000  0.000  0.500  0.500       
VarieteSI -0.598  0.000  0.000  0.500  0.500  0.500

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max
-2.96833036 -0.69053695  0.08296553  0.69753184  2.48741098

Number of Observations: 540
Number of Groups: 60


Le p.value permet de savoir si l'effet est significatif et pour savoir le classement des modalités, on regarde la valeur du Value, c'est bien ça?


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité