Використання lmer для лінійної моделі змішаного ефекту повторних заходів


41

EDIT 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))

Відповіді:


18

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

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

Це еквівалентно:

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

Тобто основні наслідки лікування, день та взаємодія між ними.

Я думаю, що вам не потрібно турбуватися про гніздування, доки ви не повторите ідентифікатори предмета в групах лікування. Яка модель правильна, насправді залежить від вашого дослідницького питання. Чи є підстави вважати, що нахили випробовуваних змінюються на додаток до ефекту від лікування? Ви можете запустити обидві моделі та порівняти їх, anova(m1,m2)щоб побачити, чи підтримують дані будь-яку.

Я не впевнений, що ви хочете висловити моделлю m3? Синтаксис введення використовує a /, напр (1|group/subgroup).

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


Це неправильно. Обробка є змінною рівня 2, її не можна вкладати в Предмети.
Патрік Куломбе

Про автокореляцію та кількість часових точок: у цьому прикладі я показую лише три, але мої реальні дані містять спостереження за 8 різних днів, тому я думаю, що це, мабуть, буде проблемою. Будь-які ідеї, як це вкласти?
фосфорельовано

1
Також я зараз досить розгублений щодо гніздування; відрізняється (1 + лікування | суб'єкт) від (1 + лікування / суб'єкт)? Що означає "|" значить, простою англійською? Я не розумію прочитаних пояснень.
фосфорований

Привіт. Що тут "окремий нахил для кожного предмета"? тому що суб'єкт - факторна змінна, а не суцільна змінна.
скан

12

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

Ваша модель m1- модель з випадковим перехопленням, де ви включили взаємодію між рівнем лікування та день (ефект Дня може змінюватись між групами лікування). Для того, щоб зміни в часі могли відрізнятися між учасниками (тобто чітко моделювати індивідуальні відмінності змін у часі), вам також потрібно дозволити, щоб ефект Дня був випадковим . Для цього слід вказати:

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

У цій моделі:

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

Як перехоплення, так і вплив дня на бал є випадковими (для кожного суб'єкта дозволено мати різний прогнозований бал в день = 0 і різну лінійну зміну з часом). Моделюється також коваріація між перехопленнями і схилами (їм дозволяється коваріація).

Як бачимо, інтерпретація коефіцієнтів для двох змінних манекенів умовна на день = 0. Вони підкажуть, чи прогнозований показник на день = 0 для референтної категорії суттєво відрізняється від двох інших груп лікування. Тому там, де ви вирішили зосередити свою змінну Day, важливо. Якщо ви орієнтуєтесь на перший день, то коефіцієнти означають, чи прогнозований бал для еталонної категорії на 1 день суттєво відрізняється від прогнозованого балу для двох інших груп. Таким чином, ви могли побачити, чи існують попередні відмінності між групами . Якщо ви зосереджуєтесь на 3-й день, то коефіцієнти означають, чи прогнозований бал для еталонної категорії на 3-й деньістотно відрізняється від прогнозованого балу двох решти груп. Таким чином, ви могли побачити, чи є відмінності між групами в кінці втручання .

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

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


1
Це не може бути оцінено за допомогою lmer, оскільки кількість одиниць <= кількість випадкових ефектів та залишкової дисперсії, ймовірно, не можна визначити.
Шугуан

Структура формули у відповіді правильна. Щоб змінити помилку, згадану @Shuguang, вам потрібно буде додати ...,control=lmerControl(check.nobs.vs.nRE="ignore"). див. це посилання для подальшого пояснення Бен Болкер.
NiuBiBang

Приємні пояснення. Поясніть, будь ласка, трохи більше, чому "Суб'єкти не вкладені в" Лікування "і чому ви не створюєте термін помилки + (Лікування | Тема), а чому не просто (1 | Тема) чи навіть (1 | Лікування * День )?
скан

Технічно ви могли гніздити суб'єктів на лікуванні, однак якщо передбачувач був таким, який би був однаковим незалежно від того, скільки разів ви проводили експеримент, це має бути фіксованим (а не випадковим) ефектом. Фактори, які були б різними щоразу, коли ви проводили експеримент, такі як індивідуальні особливості суб'єкта - наприклад, їх вихідна цінність або їх ідіосинкратична реакція на зміни в лікуванні з часом - є випадковими наслідками. (1 + Day|Subject)означає випадкову модель нахилів, яка дозволяє початковому значенню кожного суб'єкта (Перехоплення) та швидкості зміни результату бути різними.
llewmills
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.