Syntaxe modèle 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

Florian Heinze
Messages : 74
Enregistré le : 30 Mar 2009, 09:06

Syntaxe modèle mixte

Messagepar Florian Heinze » 20 Mai 2011, 10:19

Bonjour,

Je rencontre un problème dans la compréhension de la syntaxe d'un modèle mixte.
Je suis allé dans l'aide de lmer, et j'ai essayé de comprendre, après avoir lu l'article se référant au dataset 'sleepstudy'
http://onlinelibrary.wiley.com/doi/10.1 ... 0337.x/pdf la syntaxe indiquée en bas de page de cette même aide.

J'ai également regardé les sorties pour voir les valeurs retournées

Code : Tout sélectionner

> fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ; fm1

Linear mixed model fit by REML
Formula: Reaction ~ Days + (Days | Subject)
   Data: sleepstudy
  AIC  BIC logLik deviance REMLdev
 1756 1775 -871.8     1752    1744
Random effects:
 Groups   Name        Variance Std.Dev. Corr 
 Subject  (Intercept) 612.092  24.7405       
          Days         35.072   5.9221  0.066
 Residual             654.941  25.5918       
Number of obs: 180, groups: Subject, 18

Fixed effects:
            Estimate Std. Error t value
(Intercept)  251.405      6.825   36.84
Days          10.467      1.546    6.77

Correlation of Fixed Effects:
     (Intr)
Days -0.138

> fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy) ; fm2

Linear mixed model fit by REML
Formula: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject)
   Data: sleepstudy
  AIC  BIC logLik deviance REMLdev
 1754 1770 -871.8     1752    1744
Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept) 627.568  25.0513
 Subject  Days         35.858   5.9882
 Residual             653.584  25.5653
Number of obs: 180, groups: Subject, 18

Fixed effects:
            Estimate Std. Error t value
(Intercept)  251.405      6.885   36.51
Days          10.467      1.559    6.71

Correlation of Fixed Effects:
     (Intr)
Days -0.184


Et enfin, j'ai effectué ce que je pense être une comparaison des 2 modèles

Code : Tout sélectionner

> anova(fm1, fm2)
Data: sleepstudy
Models:
fm2: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject)
fm1: Reaction ~ Days + (Days | Subject)
    Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
fm2  5 1762.0 1778.0 -876.02                         
fm1  6 1764.0 1783.1 -875.99 0.0609      1      0.805


D'habitude, à la lecture d'un code, je comprends ce qu'on recherche, et comment, mais là je suis perdu à tous les niveaux.

Si j'ai bien compris qu'on cherchait à expliquer le temps de réaction moyen sur une série de test donnée chaque jour à chaque sujet, je ne comprends pas comment on fait "jouer" chaque variable (notamment (0 + Days | Subject) dans fm2 et (Days | Subject) dans fm1 me sont inintelligibles).

Et bien sûr, par conséquent, je ne sais absolument pas interpréter les sorties de ces 3 codes.

Quelqu'un pourrait-il m'éclairer ?

Cordialement.

Florian Heinze
Messages : 74
Enregistré le : 30 Mar 2009, 09:06

Messagepar Florian Heinze » 20 Mai 2011, 15:57

Bon, j'ai tenté d'avancer :

Code : Tout sélectionner

> fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)


Supposition 1 :
-Days représenterait l'effet fixe (là n'était évidemment pas mon problème)
-(Days|Subject) serait un effet Subject aléatoire à la fois sur l'intercept et la réponse à la variable Days

Code : Tout sélectionner

> fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)


Supposition 2 :
-Days représenterait toujours l'effet fixe
-(1|Subject) serait un effet Subject aléatoire seulement sur la position, la réponse à la variable Days étant identique pour tous les Subject
-(0+Days|Subject) serait un effet Subject aléatoire seulement sur la réponse à la variable Days, mais sans variation de l'ordonnée à l'origine des Subject

Quelqu'un peut-il critiquer ces tentatives d'interprétations (infirmer, confirmer, nuancer... et bien sûr davantage si je suis complètement à côté de la plaque), et le cas échéant, les reformuler pour qu'elles me semblent plus naturelles (en terme d'intercept, de pente, etc.) ?

Cordialement.

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 21 Mai 2011, 07:18

Florian Heinze a écrit :Bon, j'ai tenté d'avancer :

Code : Tout sélectionner

> fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)


Supposition 1 :
-Days représenterait l'effet fixe (là n'était évidemment pas mon problème)
-(Days|Subject) serait un effet Subject aléatoire à la fois sur l'intercept et la réponse à la variable Days

Code : Tout sélectionner

> fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)


Avec en plus une covariance entre Days et l'intercept pour le cas (Days|Subject), mais pas dans le cas (1|Subject) + (0+Days|Subject)

Supposition 2 :
-Days représenterait toujours l'effet fixe
-(1|Subject) serait un effet Subject aléatoire seulement sur la position, la réponse à la variable Days étant identique pour tous les Subject
-(0+Days|Subject) serait un effet Subject aléatoire seulement sur la réponse à la variable Days, mais sans variation de l'ordonnée à l'origine des Subject


Oui c'est ça.

Quelqu'un peut-il critiquer ces tentatives d'interprétations (infirmer, confirmer, nuancer... et bien sûr davantage si je suis complètement à côté de la plaque), et le cas échéant, les reformuler pour qu'elles me semblent plus naturelles (en terme d'intercept, de pente, etc.) ?

Cordialement.


Voir viewtopic.php?t=2589 = lien vers le draft d'un livre sur le package lme4. Les fonctions présentées dans ce livre ne sont pas toutes disponibles dans la version actuelle de lme4. Vous y aurez quand même ttes les explications sur la syntaxe des formules.
Renaud

Florian Heinze
Messages : 74
Enregistré le : 30 Mar 2009, 09:06

Messagepar Florian Heinze » 21 Mai 2011, 09:42

Merci beaucoup pour vos commentaires et votre lien.

En effet le draft aide beaucoup à la compréhension et le chapitre 4 vient de m'éclairer largement sur cet exemple précis.

Cordialement.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité