Использование lmer для линейной модели смешанного эффекта с повторными измерениями

41

РЕДАКТИРОВАТЬ 2: Первоначально я думал, что мне нужно запустить двухфакторный ANOVA с повторными измерениями на один фактор, но теперь я думаю, что линейная модель смешанного эффекта будет работать лучше для моих данных. Я думаю, что почти знаю, что должно произойти, но все еще смущен несколькими моментами.

Эксперименты, которые мне нужно проанализировать, выглядят так:

  • Предметы были отнесены к одной из нескольких групп лечения
  • Измерения каждого субъекта проводились в течение нескольких дней.
  • Так:
    • Предмет вложен в лечение
    • Лечение пересекается с днем

(каждому субъекту назначается только одна процедура, и измерения проводятся для каждого субъекта в каждый день)

Мой набор данных содержит следующую информацию:

  • Предмет = фактор блокировки (случайный фактор)
  • День = фактор в пределах объекта или повторных измерений (фиксированный коэффициент)
  • Лечение = между предметным фактором (фиксированный фактор)
  • Obs = измеренная (зависимая) переменная

ОБНОВЛЕНИЕ ОК, поэтому я пошел и поговорил со статистиком, но он пользователь SAS. Он считает, что модель должна быть:

Лечение + День + Предмет (Лечение) + День * Предмет (Лечение)

Очевидно, что его запись отличается от синтаксиса R, но эта модель должна учитывать:

  • Лечение (фиксированное)
  • День (фиксированный)
  • Лечение * Дневное общение
  • Предмет, вложенный в Лечение (случайный)
  • День пересекся с «Предметом в процессе лечения» (случайным образом)

Итак, правильный ли это синтаксис?

m4 <- lmer(Obs~Treatment*Day + (1+Treatment/Subject) + (1+Day*Treatment/Subject), mydata)

Я особенно обеспокоен тем, является ли День, пересеченный с частью "Предмет в Обращении", правильным. Кто-нибудь знаком с SAS или уверен, что они понимают, что происходит в его модели, может прокомментировать, соответствует ли моя грустная попытка синтаксиса R?

Вот мои предыдущие попытки построения модели и написания синтаксиса (обсуждаются в ответах и ​​комментариях):

m1 <- lmer(Obs ~ Treatment * Day + (1 | Subject), mydata)

Как мне справиться с тем, что субъект вложен в курс лечения? Чем m1отличается от:

m2 <- lmer(Obs ~ Treatment * Day + (Treatment|Subject), mydata)
m3 <- lmer(Obs ~ Treatment * Day + (Treatment:Subject), mydata)

и есть m2иm3 эквивалентны (а если нет, то почему)?

Кроме того, мне нужно использовать nlme вместо lme4, если я хочу указать структуру корреляции (например correlation = corAR1)? Согласно Повторным измерениям , для анализа повторных измерений с повторными измерениями по одному фактору важна ковариационная структура (характер корреляций между измерениями одного и того же субъекта).

Когда я пытался сделать ANOVA с повторными измерениями, я решил использовать SS типа II; это все еще актуально, и если да, то как мне указать это?

Вот пример того, как выглядят данные:

mydata <- data.frame(
  Subject  = c(13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 
               34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 
               19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
               40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 
               29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65), 
  Day       = c(rep(c("Day1", "Day3", "Day6"), each=28)), 
  Treatment = c(rep(c("B", "A", "C", "B", "C", "A", "A", "B", "A", "C", "B", "C", 
                      "A", "A", "B", "A", "C", "B", "C", "A", "A"), each = 4)), 
  Obs       = c(6.472687, 7.017110, 6.200715, 6.613928, 6.829968, 7.387583, 7.367293, 
                8.018853, 7.527408, 6.746739, 7.296910, 6.983360, 6.816621, 6.571689, 
                5.911261, 6.954988, 7.624122, 7.669865, 7.676225, 7.263593, 7.704737, 
                7.328716, 7.295610, 5.964180, 6.880814, 6.926342, 6.926342, 7.562293, 
                6.677607, 7.023526, 6.441864, 7.020875, 7.478931, 7.495336, 7.427709, 
                7.633020, 7.382091, 7.359731, 7.285889, 7.496863, 6.632403, 6.171196, 
                6.306012, 7.253833, 7.594852, 6.915225, 7.220147, 7.298227, 7.573612, 
                7.366550, 7.560513, 7.289078, 7.287802, 7.155336, 7.394452, 7.465383, 
                6.976048, 7.222966, 6.584153, 7.013223, 7.569905, 7.459185, 7.504068, 
                7.801867, 7.598728, 7.475841, 7.511873, 7.518384, 6.618589, 5.854754, 
                6.125749, 6.962720, 7.540600, 7.379861, 7.344189, 7.362815, 7.805802, 
                7.764172, 7.789844, 7.616437, NA, NA, NA, NA))
phosphorelated
источник

Ответы:

18

Я думаю, что ваш подход правильный. Модель m1определяет отдельный перехват для каждого предмета. Модель m2добавляет отдельный уклон для каждого предмета. Ваш наклон составляет несколько дней, так как испытуемые участвуют только в одной группе лечения. Если вы напишите модель m2следующим образом, более очевидно, что вы моделируете отдельный перехват и наклон для каждого субъекта.

m2 <- lmer(Obs ~ Treatment * Day + (1+Day|Subject), mydata)

Это эквивалентно:

m2 <- lmer(Obs ~ Treatment + Day + Treatment:Day + (1+Day|Subject), mydata)

Т.е. основные эффекты лечения, дня и взаимодействия между ними.

Я думаю, что вам не нужно беспокоиться о вложенности, если вы не повторяете ID объекта в группах лечения. Какая модель верна, действительно зависит от вашего вопроса исследования. Есть ли основания полагать, что наклоны испытуемых варьируются в дополнение к эффекту лечения? Вы можете запустить обе модели и сравнить их с тем, anova(m1,m2)чтобы увидеть, поддерживают ли данные какую-либо из них.

Я не уверен, что вы хотите выразить с помощью модели m3? Вложенности синтаксис использует /, например (1|group/subgroup).

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

user12719
источник
Это не правильно. Обработка - это переменная уровня 2, она не может быть вложена в Предметы.
Патрик Куломб
Об автокорреляции и количестве временных точек: в этом примере я показываю только три, но мои реальные данные содержат наблюдения за 8 разных дней, поэтому я думаю, что это, вероятно, будет проблемой. Есть идеи, как это вставить?
фосфорилированный
1
Кроме того, я теперь совершенно запутался в отношении вложенности; отличается (1 + лечение | субъект) от (1 + лечение / субъект)? Что означает "|" значит на простом английском? Я не понимаю объяснения, которые я прочитал.
фосфорилированный
Здравствуй. Что здесь "отдельный уклон для каждого предмета"? потому что субъект - это факторная переменная, а не непрерывная переменная.
Скан
12

Я не чувствую себя достаточно комфортно, чтобы комментировать вашу проблему с автокоррелированными ошибками (или о различных реализациях в lme4 и nlme), но я могу поговорить с остальными.

Ваша модель m1представляет собой модель случайного перехвата, где вы включили межуровневое взаимодействие между лечением и днем ​​(влияние дня может варьироваться между группами лечения). Для того, чтобы изменения во времени отличались между участниками (то есть, чтобы явно моделировать индивидуальные различия в изменениях во времени), вы также должны учитывать случайное влияние Дня . Для этого вы должны указать:

m2 <- lmer(Obs ~ Day + Treatment + Day:Treatment + (Day | Subject), mydata)

В этой модели:

  • Перехват, если прогнозируемая оценка для эталонной категории лечения в день = 0
  • Коэффициент для Дня - это прогнозируемое изменение во времени для каждого увеличения на 1 единицу в днях для эталонной категории лечения.
  • Коэффициенты для двух фиктивных кодов для групп лечения (автоматически создаваемых R) представляют собой прогнозируемую разницу между каждой оставшейся группой лечения и контрольной категорией в день = 0
  • Коэффициенты для двух слагаемых взаимодействия - это разница во влиянии времени (дня) на прогнозируемые оценки между контрольной категорией и оставшимися группами лечения.

Как перехваты, так и влияние Дня на балл являются случайными (каждому субъекту разрешено иметь разные прогнозируемые баллы в День = 0 и разные линейные изменения во времени). Ковариация между перехватами и склонами также моделируется (им разрешено коварироваться).

Как вы можете видеть, интерпретация коэффициентов для двух фиктивных переменных условна для Day = 0. Они сообщат вам, значительно ли отличается прогнозируемый балл в день = 0 для контрольной категории от двух оставшихся групп лечения. Поэтому, где вы решили центрировать свою переменную Day, очень важно. Если вы сконцентрируетесь на 1-м дне, то коэффициенты сообщат вам, существенно ли отличается прогнозируемый балл для справочной категории в 1-й день от прогнозируемого балла двух оставшихся групп. Таким образом, вы можете увидеть, есть ли ранее существовавшие различия между группами . Если вы сосредоточитесь на 3-й день, то коэффициенты сообщат вам, является ли прогнозируемый балл для справочной категории на 3-й день.значительно отличается от прогнозируемой оценки двух оставшихся групп. Таким образом, вы можете увидеть, есть ли различия между группами в конце вмешательства .

Наконец, обратите внимание, что предметы не вложены в обработку. Ваши три процедуры не являются случайными уровнями совокупности уровней, на которые вы хотите обобщить свои результаты - скорее, как вы упомянули, ваши уровни фиксированы, и вы хотите обобщить свои результаты только до этих уровней. (Не говоря уже о том, что не следует использовать многоуровневое моделирование, если у вас есть только 3 единицы верхнего уровня; см. Maas & Hox, 2005.) Вместо этого лечение является предиктором уровня 2, то есть предиктором, который принимает одно значение в течение дней (уровень-1 единиц) для каждого предмета. Следовательно, он просто включен как предиктор в вашу модель.

Ссылка:
Maas, CJM & Hox, JJ (2005). Достаточные размеры выборки для многоуровневого моделирования. Методология: Европейский журнал исследований методов поведенческих и социальных наук , 1 , 86-92.

Патрик Куломб
источник
1
Он не может быть оценен Лмером, потому что число случайных эффектов obs <= number и остаточная дисперсия, вероятно, неопределяемы.
Шугуан
Структура формулы в ответе верна. Чтобы переопределить ошибку, упомянутую @Shuguang, вам нужно добавить ...,control=lmerControl(check.nobs.vs.nRE="ignore"). см. эту ссылку для дальнейшего объяснения Бена Болкера.
NiuBiBang
Хорошие объяснения. Не могли бы вы объяснить немного больше, почему «Предметы не вложены в Обработка» и почему вы не создаете термин «+ (Обработка | Субъект)» и почему не просто (1 | Субъект) или даже (1 | Обработка * День )?
Скан
Технически вы можете вкладывать объекты в лечение, однако, если предиктор один и тот же, который будет одинаковым, независимо от того, сколько раз вы проводили эксперимент, это должен быть фиксированный (не случайный) эффект. Факторы, которые будут отличаться при каждом запуске эксперимента, такие как индивидуальные характеристики субъекта - например, их начальная ценность или их специфическая реакция на изменения в лечении с течением времени - являются случайными эффектами. (1 + Day|Subject)означает модель случайных уклонов, которая позволяет различным значениям начального значения (перехвата) каждого субъекта и скорости изменения результата.
Llewmills