Чи має сенс фіксований ефект вкладатись у випадковий, або як кодувати повторні заходи в R (aov та lmer)?


23

Я переглядав цей огляд формул lm / lmer R від @conjugateprior і збентежився наступним записом:

Тепер припустимо, що A є випадковим, але B є фіксованим, а B вкладений у межах A.

aov(Y ~ B + Error(A/B), data=d)

Нижче подано аналогічну змішану формулу моделі lmer(Y ~ B + (1 | A:B), data=d) для того ж випадку.

Я не зовсім розумію, що це означає. В експерименті, де суб'єкти поділяються на кілька груп, у нас був би випадковий фактор (суб'єкти), вкладений у фіксований фактор (групи). Але як фіксований фактор може бути вкладений у випадковий коефіцієнт? Щось виправлене вкладене в випадкові предмети? Чи можливо це навіть? Якщо це неможливо, чи мають ці формули R сенс?


Цей огляд згадується буде частково , на підставі сторінок особистісно-проекту з ведення ANOVA в R спиралася на цьому підручнику на повторних вимірів в R . Там наведено наступний приклад для повторних заходів ANOVA:

aov(Recall ~ Valence + Error(Subject/Valence), data.ex3)

Тут випробовувані представлені словами різної валентності (коефіцієнт з трьома рівнями) та вимірюється час їх відкликання. Кожен предмет представлений словами всіх трьох рівнів валентності. Я не бачу нічого вкладеного в цій конструкції (вона виглядає схрещеною, як на чудову відповідь тут ), і тому я б наївно вважав, що Error(Subject)або (1 | Subject)повинен бути відповідним випадковим терміном у цьому випадку. Subject/Valence«Гніздування» (?) Збиває з пантелику.

Зауважте, я розумію, що Valenceце суб'єктний фактор. Але я думаю, що це не "вкладений" фактор у предметах (тому що всі предмети мають усі три рівні Valence).


Оновлення. Я вивчаю питання щодо CV щодо кодування повторних заходів ANOVA в Р.

  • Тут застосовується наступне для фіксованих в межах предмета / повторних заходів А та випадкових випадків subject:

    summary(aov(Y ~ A + Error(subject/A), data = d))
    anova(lme(Y ~ A, random = ~1|subject, data = d))
  • Ось два фіксованих ефекту A і B в межах предмета / повторних заходів:

    summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))
    lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d) 
  • Ось три внутрішні суб'єктні ефекти A, B і C:

    summary(aov(Y ~ A*B*C + Error(subject/(A*B*C)), data=d))
    lmer(Y ~ A*B*C + (1|subject) + (0+A|subject) + (0+B|subject) + (0+C|subject) + (0+A:B|subject) + (0+A:C|subject) + (0+B:C|subject), data = d)

Мої запитання:

  1. Чому Error(subject/A)і ні Error(subject)?
  2. Є чи це (1|subject)або (1|subject)+(1|A:subject)або просто (1|A:subject)?
  3. Це (1|subject) + (1|A:subject)чи (1|subject) + (0+A|subject), а чому не просто (A|subject)?

До цього часу я бачив деякі теми, які стверджують, що деякі з цих рівноправностей є рівнозначними (наприклад, перший: твердження про те, що вони однакові, але протилежне твердження щодо SO ; третє: вид твердження, що вони однакові ). Чи вони?


2
Лише короткий коментар, щоб сказати, що, кажучи строго концептуально , на мою думку, практично ніколи не має сенсу мати фіксований фактор, вкладений у випадковий фактор. Я прочитав принаймні одного автора підручника так само, як сказати (наразі не пам'ятаю посилання). Зважаючи на це, можливо, деякі технічні характеристики, про які ви писали вище, виявляються статистично еквівалентними моделям, які мають більше сенсу ... Мені доведеться більше думати про це і трохи пограти з цим.
Джейк Вестфалл

4
Насправді, я думаю, це має сенс, якщо ви подумаєте про те, як R інтерпретує синтаксис A / B: він просто розширює це на A + A: B. Отже, якщо ми розглядаємо випадковий термін, подібний до subject/conditionцього, це концептуально сумнівно, оскільки, здається, це дозволяє припустити, що умови вкладені у суб'єктів, коли явно все навпаки, але модель, яка насправді підходить subject + subject:condition, є ідеально правильною моделлю з випадковими суб'єктними ефектами і випадкові об'єкти X нахили.
Джейк Вестфалл

@JakeWestfall Спасибі, це так, як я зараз про це думаю, але я дуже хотів би, щоб хтось це правильно пояснив. Насправді я здивований, що це виявляється нетривіальним питанням; Я б очікував, що ти будеш одним із людей, який відповів би відразу. Але це полегшення, оскільки спочатку я вважав, що моя плутанина повинна бути німою. До речі, чи є якісь стандартні посилання на lmта aovформули? Якщо я хочу мати авторитетне джерело про те, що саме aovробить (чи це обгортка lm?) Та як Error()працюють умови, де я повинен шукати?
каже амеба Відновити Моніку

1
@amoeba Так, aovце обгортка lmв тому сенсі, яка lmвикористовується для розміщення найменших квадратів, але aovвиконує додаткову роботу (зокрема, переклад цього Errorтерміна lm). Авторитетним джерелом є вихідний код або, можливо, посилання, наведене у help("aov"): Chambers et al (1992). Але я не маю доступу до цієї посилання, тому я заглянув у вихідний код.
Роланд

Відповіді:


12

У змішаних моделях трактування факторів як фіксованих, так і випадкових, особливо в поєднанні з тим, перехрещені вони, частково схрещені або вкладені, можуть призвести до великої плутанини. Крім того, виявляються відмінності в термінології між тим, що мається на увазі під гніздуванням у світі анова / розроблених експериментів та змішаним / багаторівневим моделем.

Я не знаю, що знаю всі відповіді, і моя відповідь не буде повною (і може спричинити додаткові запитання), але я спробую вирішити деякі питання тут:

Чи має сенс фіксований ефект вкладатись у випадковий, або як кодувати повторні заходи в R (aov та lmer)?

(назва питання)

Ні, я не вірю, що це має сенс. Коли ми маємо справу з неодноразовими заходами, то, як правило, те, що заходи повторюються, буде випадковим, давайте просто назвемо це Subject, іlme4 ми хочемо включити Subjectз правого боку одну або декілька |у випадкову частину формула. Якщо у нас є інші випадкові ефекти, то вони або перекреслені, частково схрещені або вкладені - і моя відповідь на це питання вирішує це.

Проблема цих експериментів, призначених для інноваційного типу, виглядає як те, як поводитися з факторами, які, як правило, вважаються фіксованими, в ситуації повторних заходів, і питання цього органу в ОП говорять про це:

Чому Помилка (тема / А), а не Помилка (тема)?

Я зазвичай не використовую, aov()щоб я міг щось пропустити, але, для мене, Error(subject/A)це дуже оману у випадку пов'язаного питання . Error(subject)насправді призводить до абсолютно однакових результатів.

Це (1 | предмет) або (1 | предмет) + (1 | А: предмет) чи просто (1 | А: предмет)?

Це стосується цього питання. У цьому випадку всі наступні формулювання випадкових ефектів призводять до абсолютно однакового результату:

(1|subject)
(1|A:subject)
(1|subject) + (1|A:subject)
(1|subject) + (1|A:subject) + (1|B:subject)

Однак це тому, що модельований набір даних у запитанні не має змін у межах нічого, він просто створений за допомогою Y = rnorm(48). Якщо ми візьмемо реальний набір даних, такий як cakeнабір даних у lme4, ми виявимо, що це, як правило, не так. З документації, ось експериментальна установка:

Дані про кут поломки шоколадних тортів зроблені за трьома різними рецептами і випікаються при шести різних температурах. Це розбиття за сюжетним дизайном, рецепти яких складають цілі одиниці, а різні температури застосовуються до підрозділів (у межах реплік). Експериментальні примітки дозволяють припустити, що нумерація реплік представляє тимчасове впорядкування.

Кадр даних з 270 спостереженнями за наступними 5 змінними.

replicate коефіцієнт з рівнями від 1 до 15

recipe коефіцієнт з рівнями А, В і С

temperature впорядкований коефіцієнт з рівнями 175 <185 <195 <205 <215 <225

temp числове значення температури випічки (градуси F).

angle числовий вектор, що дає кут, під яким зламався пиріг.

Отже, ми повторили заходи всередині replicate, і нас також цікавлять виправлені фактори ( recipeі temperatureми можемо їх ігнорувати, tempоскільки це просто інше кодування temperature), і ми можемо візуалізувати ситуацію, використовуючи xtabs:

> xtabs(~recipe+replicate,data=cake)

     replicate
recipe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     A 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     B 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     C 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6

Якби recipeбув випадковий ефект, ми б сказали, що це перехрещені випадкові ефекти. Ні в якому разі не recipe Aналежить до replicate 1будь-якої іншої копії.

> xtabs(~temp+replicate,data=cake)

     replicate
temp  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  175 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  185 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  195 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  205 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  215 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  225 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3

Аналогічно для temp.

Отже, перша модель, яка нам може підійти, це:

> lmm1 <-  lmer(angle ~ recipe * temperature + (1|replicate), cake, REML= FALSE)

Це буде розглядати кожне replicateяк єдине джерело випадкових змін (крім залишків, звичайно). Але між рецептами можуть бути випадкові відмінності. Тож ми можемо спокуситись включити recipeяк ще один (перекреслений) випадковий ефект, але це було б непродумано, оскільки у нас є лише 3 рівніrecipe тому ми не можемо очікувати, що модель добре оцінить компоненти дисперсії. Тож замість цього ми можемо використовувати replicate:recipeяк змінну групування, яка дозволить нам розглядати кожну комбінацію репліка та рецепта як окремий фактор групування. Тож якщо з вищенаведеною моделлю у нас було б 15 випадкових перехоплювачів для рівнів, replicateми тепер матимемо 45 випадкових перехоплення для кожної з окремих комбінацій:

lmm3 <-  lmer(angle ~ recipe * temperature + (1|replicate:recipe) , cake, REML= FALSE)

Зауважимо, що зараз у нас є (дуже трохи) різні результати, що вказують на те, що існує деяка випадкова мінливість завдяки рецепту, але не дуже багато.

Так само ми могли б зробити те саме temperature.

Тепер, повертаючись до свого питання, ви також запитуєте

Чому (1|subject) + (1|A:subject)і ні, (1|subject) + (0+A|subject)а то й просто (A|subject)?

Я не впевнений, звідки це (використовуючи випадкові нахили) - це, схоже, не виникає у двох пов'язаних питаннях - але моя проблема (1|subject) + (1|A:subject)полягає в тому, що це точно те саме, (1|subject/A)що означає, що Aвкладено всередині subject, що в черга означає (для мене), що кожен рівень Aвідбувається в 1 і лише 1 рівні, subjectщо тут явно не так.

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


Велике спасибі (+1). Я не впевнений, що я розумію cakeнабір даних. Здається, що реплікація вкладена в рецепт; причина xtabsне показує, це саме причина, яку ви описуєте у своїй вкладеній проти схрещеної відповіді: реплікація плутано кодується як 1-15, а не як 1-45. На кожен рецепт було зроблено 15 «реплікацій» з 6 пирогами; потім кожен пиріг випікався при різній температурі. Отже, рецепт - це суб'єктний фактор, а температура - фактор. Отже, відповідно до вашої відповіді, так і має бути (1|recipe/replicate). Ні?(1|replicate:recipe)ймовірно еквівалент.
амеба каже, що повернеться до Моніки

Я сфокусував своє питання лише на темах, що стосуються предметів, тому це було б як обмеження cakeлише одного рецепта. Щодо третього моменту, який, на вашу думку, ви не впевнені, звідки воно походить, будь ласка, перегляньте останнє посилання в моєму запитанні із прикладом трьох факторів, що знаходяться в предметі. Дивіться також схвалений коментар Джейка під цим Q, де він згадує випадкові нахили.
амеба каже, що повернеться до Моніки

А щодо aovвас вірно, що, здається, це Error(subject/A)і Error(subject)дасть ті самі результати, якщо інших факторів немає, але візьміть приклад із пов'язаної нитки з двома факторами, а там Error(subject/(A*B))і Error(subject)не є рівнозначними. Моє теперішнє розуміння - це тому, що перший включає випадкові нахили.
амеба каже, що поверніть Моніку

@amoeba cakeнабір даних не був хорошим робочим прикладом. Мої вибачення. Я загляну в це трохи глибше і, мабуть, спробую знайти кращу для ілюстрації.
Роберт Лонг

Спасибі. Чекаємо будь-яких оновлень, а також оновлення, яке готує Placidia. Тим часом, я думаю, що я буду тут щедротою.
амеба каже: Відновити Моніку

3

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

Цей веб-сайт дає корисну поділу різниці між вкладеними та повторними проектами заходів. Цікаво, що автор показує очікувані середні квадрати для фіксованих у межах фіксованих, випадкових у фіксованих та випадкових у випадкових, але не фіксованих у межах випадкових. Важко уявити, що це означало б - якщо фактори рівня А обираються випадковим чином, то випадковість тепер керує вибором факторів рівня B. Якщо 5 шкіл обрані навмання зі шкільної ради, і тоді 3 вчителі Вибрані з кожної школи (вчителі, які вкладаються в школи), рівні коефіцієнта "вчитель" тепер є випадковим відбором вчителів зі шкільної ради внаслідок випадкового відбору шкіл. Я не можу «виправити» викладачів, які будуть мати в експерименті.


2
+1, велике спасибі Все у вашій відповіді має для мене сенс. Однак я думаю, що ми повинні погодитися з тим, що слово "вкладене" вживається у двох різних сенсах, і це викликає плутанину. @RobertLong каже, що A вкладається в B, коли кожен рівень B відбувається разом з різними рівнями класів AEg, які вкладені в школах, які вкладені в містах і т.д. Ви говорите, що час вкладений у сюжети, але всі рівні часу відбуваються з усіма предметами, тому Роберт сказав, що вони перекреслені! Це інше «вкладене». Правильно?
амеба каже, що поверніть Моніку

1
У вашому прикладі зрозуміло, що час та лікування є фіксованими наслідками, але далеко не ясно, що час укладений у пацієнтів. Надайте, будь ласка, визначення поняття "вкладене"?
Джо Кінг

Моя помилка. Мене плутають гнізда і повторні заходи. Я змінив свою відповідь - знову !.
Placidia

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

2
Коли я це писав, я зрозумів, що випадкові ефекти в повторних заходах вкладені, і я хочу перевірити, як працює математика та ступеня свободи. Я посилю свою відповідь, коли буду впевнений, що це я прибив!
Placidia
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.