Modell mit gemischten Effekten und Verschachtelung

34

Ich habe Daten aus einem Experiment gesammelt, das wie folgt organisiert ist:

Zwei Standorte mit jeweils 30 Bäumen. 15 werden behandelt, 15 werden an jeder Stelle kontrolliert. Von jedem Baum nehmen wir drei Stängelstücke und drei Wurzelstücke, also 6 Proben der Stufe 1 pro Baum, die durch eine von zwei Faktorstufen (Wurzel, Stängel) dargestellt werden. Anschließend entnehmen wir aus diesen Stamm- / Wurzelproben zwei Proben, indem wir verschiedene Gewebe in der Probe zerlegen. Dies wird durch eine von zwei Faktorstufen für den Gewebetyp (Gewebetyp A, Gewebetyp B) dargestellt. Diese Proben werden als kontinuierliche Variable gemessen. Die Gesamtzahl der Beobachtungen beträgt 720; 2 Standorte * 30 Bäume * (drei Stammproben + drei Wurzelproben) * (eine Gewebe-A-Probe + eine Gewebe-B-Probe). Die Daten sehen so aus ...

        ï..Site Tree Treatment Organ Sample Tissue Total_Length
    1        L  LT1         T     R      1 Phloem           30
    2        L  LT1         T     R      1  Xylem           28
    3        L  LT1         T     R      2 Phloem           46
    4        L  LT1         T     R      2  Xylem           38
    5        L  LT1         T     R      3 Phloem          103
    6        L  LT1         T     R      3  Xylem           53
    7        L  LT1         T     S      1 Phloem           29
    8        L  LT1         T     S      1  Xylem           21
    9        L  LT1         T     S      2 Phloem           56
    10       L  LT1         T     S      2  Xylem           49
    11       L  LT1         T     S      3 Phloem           41
    12       L  LT1         T     S      3  Xylem           30

Ich versuche, mit R und lme4 ein Modell mit gemischten Effekten anzupassen, bin aber neu in gemischten Modellen. Ich möchte die Reaktion als Behandlung + Faktor 1 (Stamm, Wurzel) + Faktor 2 (Gewebe A, Gewebe B) mit zufälligen Effekten für die spezifischen Proben modellieren, die in den beiden Ebenen verschachtelt sind.

In R mache ich das mit lmer wie folgt

fit <- lmer(Response ~ Treatment + Organ + Tissue + (1|Tree/Organ/Sample)) 

Nach meinem Verständnis (... was nicht sicher ist und warum ich poste!) Lautet der Begriff:

(1|Tree/Organ/Sample)

Gibt an, dass 'Sample' in den Organ-Samples verschachtelt ist, die im Baum verschachtelt sind. Ist diese Art der Verschachtelung relevant / gültig? Entschuldigung, wenn diese Frage nicht klar ist, wenn ja, geben Sie bitte an, wo ich näher darauf eingehen kann.

Erik
quelle

Antworten:

33

Ich denke das ist richtig.

  • (1|Tree/Organ/Sample)expandiert zu / ist äquivalent zu (1|Tree)+(1|Tree:Organ)+(1|Tree:Organ:Sample)(wobei :eine Interaktion bezeichnet).
  • Die festen Faktoren Treatment, Organund Tissueautomatisch auf der richtigen Ebene behandelt bekommen.
  • Sie sollten den SiteEffekt wahrscheinlich als festen Effekt einbeziehen (konzeptionell handelt es sich um einen zufälligen Effekt, es ist jedoch nicht praktikabel, die Varianz zwischen Standorten mit nur zwei Standorten abzuschätzen). Dadurch wird die Varianz zwischen den Bäumen geringfügig verringert.
  • Sie sollten wahrscheinlich alle Daten in einen Datenrahmen einschließen und dies explizit lmerüber ein data=my.data.frameArgument übergeben.

Vielleicht finden Sie die FAQ zu glmm hilfreich (sie konzentriert sich auf GLMMs, enthält jedoch auch Informationen zu linearen gemischten Modellen).

Ben Bolker
quelle
Was wäre, wenn Erik eine Kovarianzstruktur für diese Abschnitte spezifizieren wollte? Man könnte also erwarten, dass eine Probe mit einem positiven Baumabschnitt auch einen positiven Organabschnitt aufweist. Kümmert sich die Verschachtelung automatisch um dieses Problem? Wenn nein, wie könnte man eine solche Struktur spezifizieren?
Sheridan Grant
Ich denke, wenn Sie versuchen, die Gleichungen für diesen Fall zu schreiben, werden Sie feststellen, dass es erledigt ist.
Ben Bolker
13

Ich habe diese Frage und die Antwort von Dr. Bolker gelesen und versucht, die Daten zu replizieren (es kümmert mich nicht viel, ehrlich gesagt, was "Länge" in biologischen Begriffen oder Einheiten bedeutet, und dann passe ich das Modell wie oben an. Die Ergebnisse veröffentliche ich hier Feedback bezüglich des möglichen Vorhandenseins von Missverständnissen einzuholen.

Den Code, mit dem ich diese fiktiven Daten generiert habe, finden Sie hier . Der Datensatz hat die innere Struktur des OP:

     site     tree treatment organ sample tissue    length
1    L       LT01         T  root      1  phloem  108.21230
2    L       LT01         T  root      1  xylem   138.54267
3    L       LT01         T  root      2  phloem   68.88804
4    L       LT01         T  root      2  xylem   107.91239
5    L       LT01         T  root      3  phloem   96.78523
6    L       LT01         T  root      3  xylem    88.93194
7    L       LT01         T  stem      1  phloem  101.84103
8    L       LT01         T  stem      1  xylem   118.30319

Die Struktur ist wie folgt:

 'data.frame':  360 obs. of  7 variables:
     $ site     : Factor w/ 2 levels "L","R": 1 1 1 1 1 1 1 1 1 1 ...
 $ tree     : Factor w/ 30 levels "LT01","LT02",..: 1 1 1 1 1 1 1 1 1 1 ...
     $ treatment: Factor w/ 2 levels "C","T": 2 2 2 2 2 2 2 2 2 2 ...
 $ organ    : Factor w/ 2 levels "root","stem": 1 1 1 1 1 1 2 2 2 2 ...
     $ sample   : num  1 1 2 2 3 3 1 1 2 2 ...
 $ tissue   : Factor w/ 2 levels "phloem","xylem": 1 2 1 2 1 2 1 2 1 2 ...
     $ length   : num  108.2 138.5 68.9 107.9 96.8 ...

Der Datensatz wurde wie folgt "manipuliert" (Rückmeldung hier erwünscht):

  1. Denn treatmentes gibt einen festen Effekt mit zwei unterschiedlichen Abschnitten für die Behandlung gegenüber Kontrollen ( 100gegenüber 70) und keinen zufälligen Effekten.
  2. Ich setze die Werte für tissuemit prominenten festen Effekten mit sehr unterschiedlichen Abschnitten für phloemversus xylem( 3versus 6) und für zufällige Effekte mit a sd = 3.
  3. organN(0,3)sd = 36rootstem
  4. Denn treewir haben nur zufällige Effekte mit a sd = 7.
  5. Denn sampleich habe versucht, nur zufällige Effekte mit einzustellen sd = 5.
  6. Für siteauch nur zufällige eff's mit sd = 3.

Aufgrund der Kategorisierung der Variablen wurden keine Steigungen festgelegt.

Die Ergebnisse des Mixed-Effects-Modells:

fit <- lmer(length ~ treatment + organ + tissue + (1|tree/organ/sample), data = trees) 

wurden:

 Random effects:
 Groups              Name        Variance  Std.Dev. 
 sample:(organ:tree) (Intercept) 9.534e-14 3.088e-07
 organ:tree          (Intercept) 0.000e+00 0.000e+00
 tree                (Intercept) 4.939e+01 7.027e+00
 Residual                        3.603e+02 1.898e+01
Number of obs: 360, groups:  sample:(organ:tree), 180; organ:tree, 60; tree, 30

Fixed effects:
            Estimate Std. Error       df t value Pr(>|t|)    
(Intercept)  79.8623     2.7011  52.5000  29.567  < 2e-16 ***
treatmentT   21.4368     3.2539  28.0000   6.588 3.82e-07 ***
organstem     0.1856     2.0008 328.0000   0.093    0.926    
tissuexylem   3.1820     2.0008 328.0000   1.590    0.113    
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Wie hat es geklappt:

  1. Denn treatmentder Abschnitt ohne Behandlung war 79.8623(ich stellte einen Mittelwert von auf 70), und mit Behandlung war es 79.8623 + 21.4368 = 101.2991(wir stellten einen Mittelwert von auf) 100.
  2. Denn tissuees gab einen 3.1820Beitrag zum Abfangen mit freundlicher Genehmigung von xylem, und ich hatte einen Unterschied zwischen phloemund xylemvon aufgestellt 3. Die zufälligen Effekte waren nicht Teil des Modells.
  3. Für organProben aus der stemerhöhten den Achsenabschnitt um 0.1856- ich hatte keinen Unterschied in festen Effekten zwischen stemund eingestellt root. Die Standardabweichung dessen, was ich als zufällige Effekte verwenden wollte, wurde nicht berücksichtigt.
  4. Die treezufälligen Effekte mit einer SD 7tauchten schön auf 7.027.
  5. Wie für sampledie Anfänge sdvon 5wurde underemphasized wie 3.088.
  6. site war nicht Teil des Modells.

Insgesamt scheint das Modell also mit der Struktur der Daten übereinzustimmen.

Antoni Parellada
quelle