Модель смешанных эффектов с вложенностью

34

У меня есть данные, собранные из эксперимента, организованного следующим образом:

Два участка, каждый с 30 деревьями. 15 лечат, 15 контролируют на каждом участке. Из каждого дерева мы отбираем три куска ствола и три куска корней, так что по 6 образцов первого уровня на дерево, которое представлено одним из двух уровней фактора (корень, стебель). Затем из этих образцов ствола / корня мы отбираем две пробы, рассекая разные ткани внутри пробы, что представлено одним из двух уровней факторов для типа ткани (тип ткани A, тип ткани B). Эти образцы измеряются как непрерывная переменная. Общее количество наблюдений составляет 720; 2 участка * 30 деревьев * (три образца ствола + три образца корня) * (один образец ткани A + один образец ткани B). Данные выглядят так ...

        ï..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

Я пытаюсь соответствовать модели смешанных эффектов, используя R и lme4, но я новичок в смешанных моделях. Я хотел бы смоделировать ответ как Обработка + Фактор уровня 1 (ствол, корень) + Фактор уровня 2 (ткань А, ткань В), со случайными эффектами для конкретных образцов, вложенных в эти два уровня.

В R я делаю это, используя lmer, следующим образом

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

Из моего понимания (... который не уверен, и почему я публикую!) Термин:

(1|Tree/Organ/Sample)

Указывает, что «Образец» вложен в образцы органов, которые вложены в дерево. Является ли этот вид вложений актуальным / действительным? Извините, если этот вопрос не ясен, если да, пожалуйста, укажите, где я могу уточнить.

Erik
источник

Ответы:

33

Я думаю, что это правильно.

  • (1|Tree/Organ/Sample)расширяется до / эквивалентно (1|Tree)+(1|Tree:Organ)+(1|Tree:Organ:Sample)(где :обозначает взаимодействие).
  • Фиксированные факторы Treatment, Organи Tissueавтоматически получить обрабатываются на правильном уровне.
  • Вероятно, вы должны включить Siteфиксированный эффект (концептуально это случайный эффект, но нецелесообразно пытаться оценить разницу между сайтами только с двумя сайтами); это немного уменьшит дисперсию между деревьями.
  • Вам, вероятно, следует включить все данные в фрейм данных и передать это явно lmerчерез data=my.data.frameаргумент.

Вам может пригодиться справка по glmm (она ориентирована на GLMM, но содержит информацию, относящуюся и к линейным смешанным моделям).

Бен Болкер
источник
Что, если Эрик хотел указать ковариационную структуру для этих перехватов? Т.е. можно ожидать, что образец с положительным перехватом дерева также будет иметь положительный перехват органа. Вложенность решает эту проблему автоматически? Если нет, то как можно определить такую ​​структуру?
Шеридан Грант
Я думаю, что если вы попытаетесь выписать уравнения для этого случая, вы обнаружите, что об этом позаботились.
Бен Болкер
13

Я прочитал этот вопрос и ответ д-ра Болкера и попытался воспроизвести данные (честно говоря, меня мало заботит вопрос о том, что представляет собой «длина» в биологических терминах или единицах, а затем подгоняю модель, как указано выше. Я публикую результаты здесь делиться и искать обратную связь относительно вероятного наличия недоразумений.

Код, который я использовал для генерации этих вымышленных данных, можно найти здесь , а набор данных имеет внутреннюю структуру 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

Структура выглядит следующим образом:

 '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 ...

Набор данных был «сфальсифицирован» (обратная связь приветствуется) следующим образом:

  1. Ведь treatmentсуществует фиксированный эффект с двумя различными перехватами для лечения и контроля ( 100против 70), и нет случайных эффектов.
  2. Я установил значения для tissueвидных фиксированных эффектов с очень разными перехватами для « phloemпротив» xylem3против» 6) и для случайных эффектов с «а» sd = 3.
  3. organN(0,3)sd = 36rootstem
  4. Ибо treeу нас просто есть случайные эффекты с sd = 7.
  5. Для sampleЯ пытался настроить только случайные эффекты sd = 5.
  6. Ибо siteтакже просто случайные эфф с sd = 3.

Из-за категорического характера переменных не было настроено никаких склонов.

Результаты модели смешанных эффектов:

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

мы:

 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

Как это получилось:

  1. Для treatmentперехвата без лечения было 79.8623(я установил среднее значение 70), а для лечения это было 79.8623 + 21.4368 = 101.2991(мы установили среднее значение) 100.
  2. Поскольку в перехвате tissueбыл 3.1820вклад xylem, и я установил разницу между phloemи xylemиз 3. Случайные эффекты не были частью модели.
  3. Для organобразцов из stemувеличенного перехвата 0.1856- я не установил разницы в фиксированных эффектах между stemи root. Стандартное отклонение того, что я хотел действовать как случайный эффект, не было отражено.
  4. В treeслучайные эффекты с сд от 7всплыли красиво , как 7.027.
  5. Что касается sample, начальная sdчасть 5была недооценена как 3.088.
  6. site не был частью модели.

Таким образом, в целом кажется, что модель соответствует структуре данных.

Антони Пареллада
источник