2017-10-19 8 views
1

Je voudrais effectuer une analyse des mesures répétées/données longitudinales au problème suivant:la meilleure structure pour une GLMM - 3 facteurs avec 1 longitudinal

« Il y a 16 arbres qui ont été analysés dans une une région et 16 dans une région B. Dans chaque région, 8 arbres ont été analysés en hiver et 8 en été, mais ils ne sont pas le même arbre. considérant que la perception starch's dans cinq profondeurs différentes sur chaque diamètre de l'arbre. »

tree Region season depth starch 
1  A  W  1  0.07 
1  A  W  2  0.10 
1  A  W  3  0.13 
1  A  W  4  0.16 
1  A  W  5  0.11 
2  A  W  1  0.07 
2  A  W  2  0.10 
2  A  W  3  0.13 
2  A  W  4  0.16 
2  A  W  5  0.11 
...  ...  ...  ...  ... 
17  B  S  1  0.06 
...  ...  ...  ...  ... 

Je pense que dans obtenir un ajustement sur un modèle mixte linéaire généralisé (GLMM) avec la distribution Gamma R. Comme je suis une sorte de débutant dans GLMM, je voudrais demander à quelqu'un comment j'effectue cet ajustement dans R afin de savoir si les régions, les saisons et le facteur de profondeur provoquent des effets différents dans la variable de réponse.

Il serait correct si je lance:

require(lme4) 
Mod1=glmer(starch~Region*season*depth+(1|tree),data=data,family="gamma") 
summary(Mod1) 
? 

Sinon, quelle serait la meilleure façon de la procédure à ce sujet? J'apprécie tellement si quelqu'un peut me donner une direction ou au moins une référence.

Nous vous remercions de votre aide @Ben Bolker et @flies. Les contributions affichées ont beaucoup aidé. Je confirmerais alors s'il est possible ou non de traiter la profondeur comme une interaction qualitative et Region * stage * depth. Faire ceci:

data = within (data, { 
Region = factor (Region) 
season = factor (season) 
depth = factor (depth) }) 
require (lme4) 
Mod1 = glmer (starch~Region*season*depth+(1|tree),data=data,family=Gamma(link="log")) 

summary (Mod1) 
library (car) 
Anova(mod1) 

Obtenir les résultats suivants:

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) 
glmerMod] 
Family:Gamma(log) 
Formula: starch ~Region*season*depth+(1|tree) 
    Date: data 

    AIC  BIC logLik deviance df.resid 
    -1358.4 -1290.7 701.2 -1402.4 138 

Scaled residuals: 
    Min 1Q Median 3Q Max 
-2.3398 -0.6699 -0.1065 0.6683 3.2020 

Random effects: 
Groups Name Variance Std.Dev. 
tree (Intercept) 7.171e-05 0.008468 
Residual 6.020e-04 0.024536 
Number of obs: 160, groups: tree, 32 

Fixed effects: 
       Estimate  Std. Error t value Pr (> | z |) 
(Intercept) -2.593064  0.009621  -269.51  <2e-16 *** 
RegionRP  0.260453  0.013607  19.14 <2e-16 *** 
seasonV  -0.193693  0.013607  -14.23 <2e-16 *** 
depth2  0.409813  0.011894  34.46 <2e-16 *** 
depth3  0.594269  0.011893  49.97 <2e-16 *** 
depth4  0.779051  0.011893  65.50 <2e-16 *** 
depth5  0.432146  0.011893  36.34 <2e-16 *** 
RegionRP:seasonV 0.088320 0.019243 4.59 4.44e-06 *** 
localRP:depth2  -0.065211 0.016820 -3.88 0.000106 *** 
localRP:depth3  -0.130185 0.016819 -7.74 9.92e-15 *** 
localRP:depth4  -0.190743 0.016820 -11.34 <2e-16 *** 
localRP:depth5  -0.067266 0.016820 -4.00 6.35e-05 *** 
seasonV:depth2  0.031624 0.016821  1.88 0.060103. 
seasonV:depth3  0.139424 0.016820  8.29 <2e-16 *** 
seasonV:depth4  0.147717 0.016820  8.78 <2e-16 *** 
seasonV:depth5  0.107589 0.016820  6.40 1.59e-10 *** 
RegionRP:seasonV:depth2 -0.018490 0.023787 -0.78 0.436970 
RegionRP:seasonV:depth3 -0.113810 0.023786 -4.78 1.71e-06 *** 
RegionRP:seasonV:depth4 -0.112337 0.023787 -4.72 2.33e-06 *** 
RegionRP:seasonV:depth5 -0.121932 0.023787 -5.13 2.96e-07 *** 
--- 
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1 

Analysis of Deviance Table (Type II Wald chisquare tests) 
    Response: starch 
          Chisq  Df Pr (> Chisq) 
    Region     872.9486 1 <2.2e-16 *** 
    season     282.9125 1 <2.2e-16 *** 
    depth    16726.2395 4 <2.2e-16 *** 
    Region:season   1.5641 1 0.2111 
    Region:depth   521.4171 4 <2.2e-16 *** 
    season:depth   85.5213 4 <2.2e-16 *** 
    Region:season:depth  49.1586 4 5.41e-10 *** 
    --- 
    Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1 

pourrait l'analyse ci-dessus être effectuée? Compte tenu du nombre de paramètres estimés, devriez-vous considérer la profondeur continue et le modèle additif?

+0

Il semble que 'Region' soit confondu par l'effet aléatoire' tree'. IDK comment 'lme4' gère cela. Mis à part quelques fautes de frappe, votre code semble correct ('region' devrait être' Region', 'mod1_glmer' devrait être' Mod1'). – flies

+0

Qu'essayez-vous d'apprendre de ce modèle? – flies

+0

vous pouvez utiliser la fonction d'édition pour corriger les fautes de frappe (ci-dessous les étiquettes) – flies

Répondre

2
  • vous avez besoin de family="Gamma" (les guillemets sont facultatifs mais doivent être en majuscules G). Je suggère souvent (1) d'utiliser le lien de journal (family=Gamma(link="log")) plutôt que le lien inverse par défaut et/ou (2) en utilisant un modèle mixte log-linéaire dans ce cas (lmer(log(starch)~...)). Les deux sont plus stables numériquement que le modèle Gamma par défaut, et les paramètres sont plus faciles à interpréter.
  • Contrairement à certains des commentaires ci-dessus, glmer traitera par défaut une variable numérique telle que la profondeur comme un prédicteur continu, ce qui signifie qu'il assumera une relation (log) -linéaire et n'adaptera qu'un seul paramètre. Vous ne serez pas en mesure de détecter «quelles profondeurs diffèrent», mais vous pourrez (avec un peu de chance) détecter un changement continu d'amidon à mesure que la profondeur change.
  • Si vous avez un total de 32 arbres, il est risqué (faible puissance) d'essayer d'ajuster un modèle avec plus de 3 ou 4 paramètres maximum (paramètres max ~ n/10; voir: ), à moins que vos mesures soient très précises et qu'il y ait une petite variation biologique. Le modèle complet à effets fixes Region*season*depth vous donne 8 paramètres (2 régions X 2 saisons X (ordonnée à l'origine, pente): pas les 20 discutés ci-dessus, car la profondeur est continue).
  • L'analyse des profondeurs indépendamment dans chaque région et saison est presque la même que l'ajustement du modèle avec toutes les interactions; Puisque vous n'avez que 8 arbres dans chaque combinaison région/saison, il sera difficile de trouver un modèle fiable.
  • Si vous êtes prêt à abandonner vos interactions et adapter le modèle additif Region + season + depth qui ne serait que quatre paramètres (ordonnée à l'origine + effet de la région (supposé constante à travers toutes les saisons et les profondeurs) + effet de saison (supposé constante .. .) + effet de la profondeur (supposée constante ...), plus le paramètre effet aléatoire qui estime la variabilité inter-arbres (après conditionnement sur les effets fixes) - encore un peu trop complexe mais peut-être vous pouvez vous en sortir (N'utilisez pas une procédure pas à pas où vous commencez avec un modèle trop complexe et réduisez-le à quelque chose qui semble raisonnable.Cela semble raisonnable à première vue, mais c'est une recette pour le désastre.)
  • N'oubliez pas de tracer vos données et vérifier les diagnostics graphiques pour le modèle
+0

Merci pour votre aide. Les contributions affichées ont beaucoup aidé. Je confirmerais alors s'il est possible ou non de traiter la profondeur comme une interaction qualitative et une interaction entre la région et le stade *. J'ai ajouté dans la question ci-dessus les commandes utilisées. Aurai-je des problèmes de cette façon? Merci d'avance. –

0

Nous vous remercions de votre aide @BenB et @flies. Les contributions affichées ont beaucoup aidé.

Je confirmerais alors s'il est possible ou non de traiter la profondeur comme une interaction qualitative et Region * stage * depth. Faire ceci:

data = within (data, { 
Region = factor (Region) 
season = factor (season) 
depth = factor (depth) }) 
require (lme4) 
Mod1 = glmer (starch~Region*season*depth+(1|tree),data=data,family=Gamma(link="log")) 

summary (Mod1) 
library (car) 
Anova(mod1) 

obtenir les résultats suivants:

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) 
glmerMod] 
Family:Gamma(log) 
Formula: starch ~Region*season*depth+(1|tree) 
    Date: data 

    AIC  BIC logLik deviance df.resid 
    -1358.4 -1290.7 701.2 -1402.4 138 

Scaled residuals: 
    Min 1Q Median 3Q Max 
-2.3398 -0.6699 -0.1065 0.6683 3.2020 

Random effects: 
Groups Name Variance Std.Dev. 
tree (Intercept) 7.171e-05 0.008468 
Residual 6.020e-04 0.024536 
Number of obs: 160, groups: tree, 32 

Fixed effects: 
       Estimate  Std. Error t value Pr (> | z |) 
(Intercept) -2.593064  0.009621  -269.51  <2e-16 *** 
RegionRP  0.260453  0.013607  19.14 <2e-16 *** 
seasonV  -0.193693  0.013607  -14.23 <2e-16 *** 
depth2  0.409813  0.011894  34.46 <2e-16 *** 
depth3  0.594269  0.011893  49.97 <2e-16 *** 
depth4  0.779051  0.011893  65.50 <2e-16 *** 
depth5  0.432146  0.011893  36.34 <2e-16 *** 
RegionRP:seasonV 0.088320 0.019243 4.59 4.44e-06 *** 
localRP:depth2  -0.065211 0.016820 -3.88 0.000106 *** 
localRP:depth3  -0.130185 0.016819 -7.74 9.92e-15 *** 
localRP:depth4  -0.190743 0.016820 -11.34 <2e-16 *** 
localRP:depth5  -0.067266 0.016820 -4.00 6.35e-05 *** 
seasonV:depth2  0.031624 0.016821  1.88 0.060103. 
seasonV:depth3  0.139424 0.016820  8.29 <2e-16 *** 
seasonV:depth4  0.147717 0.016820  8.78 <2e-16 *** 
seasonV:depth5  0.107589 0.016820  6.40 1.59e-10 *** 
RegionRP:seasonV:depth2 -0.018490 0.023787 -0.78 0.436970 
RegionRP:seasonV:depth3 -0.113810 0.023786 -4.78 1.71e-06 *** 
RegionRP:seasonV:depth4 -0.112337 0.023787 -4.72 2.33e-06 *** 
RegionRP:seasonV:depth5 -0.121932 0.023787 -5.13 2.96e-07 *** 
--- 
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1 

Analysis of Deviance Table (Type II Wald chisquare tests) 
    Response: starch 
          Chisq  Df Pr (> Chisq) 
    Region     872.9486 1 <2.2e-16 *** 
    season     282.9125 1 <2.2e-16 *** 
    depth    16726.2395 4 <2.2e-16 *** 
    Region:season   1.5641 1 0.2111 
    Region:depth   521.4171 4 <2.2e-16 *** 
    season:depth   85.5213 4 <2.2e-16 *** 
    Region:season:depth  49.1586 4 5.41e-10 *** 
    --- 
    Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1 

pourrait l'analyse ci-dessus être effectuée? Compte tenu du nombre de paramètres estimés, devriez-vous considérer la profondeur continue et le modèle additif?