Перехрещені проти вкладених випадкових ефектів: як вони відрізняються і як їх правильно вказати в lme4?


88

Ось як я зрозумів вкладені та перехрещені випадкові ефекти:

Вкладені випадкові ефекти виникають, коли коефіцієнт нижчого рівня виявляється лише в межах певного рівня фактора верхнього рівня.

  • Наприклад, учні в межах занять у визначений час.
  • В lme4Я думав , що ми представляємо випадкові ефекти для вкладених даних в одному з двох еквівалентних способів:

    (1|class/pupil)  # or  
    (1|class) + (1|class:pupil)

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

  • Наприклад, є учні в класах, розмірами яких є кілька років.
  • В lme4, ми б написали:

    (1|class) + (1|pupil)

Однак, переглядаючи конкретний вкладений набір даних, я помітив, що обидві формули моделі дають однакові результати (код і вихід нижче). Однак я бачив інші набори даних, де дві формули давали різні результати. То що тут відбувається?

mydata <- read.csv("https://web.archive.org/web/20160624172041if_/http://www-personal.umich.edu/~bwest/classroom.csv")
# (the data is no longer at `http://www-personal.umich.edu/~bwest/classroom.csv`
# hence the link to web.archive.org)
# Crossed version: 
Linear mixed model fit by REML ['lmerMod']
Formula: mathgain ~ (1 | schoolid) + (1 | classid)
   Data: mydata

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups   Name        Variance Std.Dev.
 classid  (Intercept)   99.23   9.961  
 schoolid (Intercept)   77.49   8.803  
 Residual             1028.23  32.066  
Number of obs: 1190, groups:  classid, 312; schoolid, 107


# Nested version:
Formula: mathgain ~ (1 | schoolid/classid)

REML criterion at convergence: 11768.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.6441 -0.5984 -0.0336  0.5334  5.6335 

Random effects:
 Groups           Name        Variance Std.Dev.
 classid:schoolid (Intercept)   99.23   9.961  
 schoolid         (Intercept)   77.49   8.803  
 Residual                     1028.23  32.066  
Number of obs: 1190, groups:  classid:schoolid, 312; schoolid, 107

Відповіді:


148

(Це досить довга відповідь. У кінці є підсумок)

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

Спочатку зауважте, що:

Вкладення - це властивість даних, а точніше експериментальної конструкції, а не моделі.

Також,

Вкладені дані можна кодувати як мінімум двома різними способами, і це лежить в основі проблеми, яку ви знайшли.

Набір даних у вашому прикладі досить великий, тому я буду використовувати інший приклад шкіл з Інтернету, щоб пояснити проблеми. Але спочатку розглянемо наступний спрощений приклад:

введіть тут опис зображення

Тут у нас є вкладені в школах класи, що є звичним сценарієм. Важливим моментом є те, що між кожною школою класи мають однаковий ідентифікатор, хоча вони є різними, якщо вони вкладені . Class1з'являється в School1, School2і School3. Однак якщо дані вкладені, то Class1в School1- це не та сама одиниця вимірювання, як Class1в School2і School3. Якби вони були однаковими, то у нас була б така ситуація:

введіть тут опис зображення

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

(1|School/Class) або рівнозначно (1|School) + (1|Class:School)

і

(1|School) + (1|Class)

відповідно. Через неоднозначність наявності гніздування або схрещування випадкових ефектів, дуже важливо правильно вказати модель, оскільки ці моделі дадуть різні результати, як ми покажемо нижче. Більше того, неможливо дізнатися, лише перевіривши дані, чи є вкладені або перекреслені випадкові ефекти. Це можна визначити лише завдяки знанням даних та експериментальній конструкції.

Але спочатку розглянемо випадок, коли змінна класу кодується однозначно в школах:

введіть тут опис зображення

Більше не існує двозначності щодо гніздування чи схрещування. Гніздування явне. Розглянемо це на прикладі R, де у кожній школі є 6 шкіл (з позначкою I- VI) та 4 класи (позначені aяк d):

> dt <- read.table("http://bayes.acs.unt.edu:8083/BayesContent/class/Jon/R_SC/Module9/lmm.data.txt",
                   header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)

        class
school  a  b  c  d
   I   50 50 50 50
   II  50 50 50 50
   III 50 50 50 50
   IV  50 50 50 50
   V   50 50 50 50
   VI  50 50 50 50

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

> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)

Random effects:
 Groups       Name        Variance Std.Dev.
 class:school (Intercept)  8.2043  2.8643  
 school       (Intercept) 93.8421  9.6872  
 Residual                  0.9684  0.9841  
Number of obs: 1200, groups:  class:school, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117909  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)

Random effects:
 Groups   Name        Variance Std.Dev.
 school   (Intercept) 95.887   9.792   
 class    (Intercept)  5.790   2.406   
 Residual              2.787   1.669   
Number of obs: 1200, groups:  school, 6; class, 4

Fixed effects:
             Estimate Std. Error t value
(Intercept) 60.198841   4.212974  14.289
open         0.010834   0.008349   1.298
agree       -0.005420   0.009605  -0.564
social      -0.001762   0.003107  -0.567

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

Тепер, якщо ми введемо нову змінну для ідентифікатора класу:

> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)

      classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
   I    50  50  50  50    0    0    0    0     0     0     0     0    0    0
   II    0   0   0   0   50   50   50   50     0     0     0     0    0    0
   III   0   0   0   0    0    0    0    0    50    50    50    50    0    0
   IV    0   0   0   0    0    0    0    0     0     0     0     0   50   50
   V     0   0   0   0    0    0    0    0     0     0     0     0    0    0
   VI    0   0   0   0    0    0    0    0     0     0     0     0    0    0

      classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
   I      0    0   0   0   0   0    0    0    0    0
   II     0    0   0   0   0   0    0    0    0    0
   III    0    0   0   0   0   0    0    0    0    0
   IV    50   50   0   0   0   0    0    0    0    0
   V      0    0  50  50  50  50    0    0    0    0
   VI     0    0   0   0   0   0   50   50   50   50

Перехресна таблиця показує, що кожен рівень класу відбувається лише в одному рівні школи, відповідно до вашого визначення гніздування. Це також стосується ваших даних, однак важко показати це зі своїми даними, оскільки вони дуже рідкі. Обидві рецептури моделі тепер даватимуть однаковий вихід (такий, як вкладена модель m0вище):

> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)

Random effects:
 Groups         Name        Variance Std.Dev.
 classID:school (Intercept)  8.2043  2.8643  
 school         (Intercept) 93.8419  9.6872  
 Residual                    0.9684  0.9841  
Number of obs: 1200, groups:  classID:school, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117882  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)

Random effects:
 Groups   Name        Variance Std.Dev.
 classID  (Intercept)  8.2043  2.8643  
 school   (Intercept) 93.8419  9.6872  
 Residual              0.9684  0.9841  
Number of obs: 1200, groups:  classID, 24; school, 6

Fixed effects:
              Estimate Std. Error t value
(Intercept) 60.2378227  4.0117882  15.015
open         0.0061065  0.0049636   1.230
agree       -0.0076659  0.0056986  -1.345
social       0.0005404  0.0018524   0.292

Варто зазначити, що перехресні випадкові ефекти не повинні відбуватися в межах одного фактора - у вищезгаданому переправа була повністю в межах школи. Однак це не повинно бути так, і дуже часто це не так. Наприклад, дотримуючись шкільного сценарію, якби замість занять у школах ми мали учнів у межах шкіл, а нас також цікавили лікарі, за якими реєструвались школярі, тоді ми також мали б вкладати учнів до лікарів. Не існує гніздування шкіл у лікарях, або навпаки, тому це також є прикладом схрещених випадкових ефектів, і ми говоримо, що школи та лікарі схрещуються. Аналогічний сценарій, коли виникають перехресні випадкові ефекти, це коли окремі спостереження вкладаються одночасно в два фактори, що зазвичай відбувається при так званих повторних заходахдані предмета . Зазвичай кожен суб'єкт вимірюється / тестується кілька разів з / на різних предметах, і ці самі предмети вимірюються / перевіряються різними суб'єктами. Таким чином, спостереження кластеризуються всередині предметів і всередині предметів, але елементи не вкладаються всередині предметів або навпаки. Знову ми говоримо, що теми та предмети перекреслені .

Короткий зміст: TL; DR

Різниця між схрещеними та вкладеними випадковими ефектами полягає в тому, що вкладені випадкові ефекти виникають, коли один фактор (групування змінної) з'являється лише в межах певного рівня іншого фактора (групування змінної). Це вказано в lme4:

(1|group1/group2)

де group2вкладено всередині group1.

Перекреслені випадкові ефекти просто: не вкладені . Це може статися з трьома або більше групуючими змінними (факторами), коли один фактор окремо вкладений в обидва інші, або з двома або більше факторами, коли окремі спостереження вкладаються окремо в межах двох факторів. Вони вказані в lme4:

(1|group1) + (1|group2)


16
+6, це справді приємна відповідь. Нагадайте мені через пару днів, і я покладу на це щедрість.
gung

2
Відмінне пояснення. Чи існує назва третього типу експериментального дизайну, де ви створюєте унікальні рівні для двох факторів (можливо, вкладених), тож якщо я слідкував за групами, які купують мотоцикли у різних дилерів у різних містах, як би я повідомив читачам, що я в основному створили єдиний коефіцієнт рівня interaction(city, dealer)?
AdamO

2
+6, це така чудова відповідь, що я відчув, що можу поповнити багатство @ gung ще одним. До речі, я борюся з тим, що, ймовірно, є дуже базовим плутаниною ( ось мій Q ), і дуже вдячний би за вашу допомогу.
амеба

1
@RobertLong Схоже, що розрізнені сюжети (повторні заходи) проекти часто називають "вкладеними", хоча вони насправді не вкладені відповідно до вашої відповіді. Ця термінологічна невідповідність, ймовірно, сприяла моєму розгубленості у пов'язаному питанні. Було б чудово, якби ви могли це уточнити, тут чи там. Я навіть замислююся над тим, чи варто розміщувати окреме (не орієнтоване на R) термінологічне запитання про те, що вкладено у розділених сюжетах.
амеба

2
Оновити до мого попереднього коментаря. Я перевірив дві старі та авторитетні книги про експериментальний дизайн: Максвелл та Делані, 1990, «Проектування експериментів та аналіз даних», та «Монтгомері», 1976, «Дизайн та аналіз експериментів». Обидва говорять про вкладені конструкції і обидва говорять про повторні заходи, відомі також розділенням сюжетів; обидва використовують слово "вкладене" лише в тому сенсі, яким ви його використовуєте, і ніколи не називаєте повторні заходи як вкладеними. Тож я не думаю, що термінологічна різниця все-таки є.
амеба
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.