Що робити зі співвідношенням випадкових ефектів, що дорівнює 1 або -1?


9

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

Model: Y ~ X*Cond + (X*Cond|subj)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects  

Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         CondB            0.54367  0.7373   -0.37  0.37      
         X:CondB          0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
CondB            -0.19707    0.06382   -3.09  0.00202 ** 
X:CondB           0.22809    0.05356    4.26 2.06e-05 ***

Передбачувана причина цих ідеальних кореляцій полягає в тому, що ми створили занадто складну модель для даних, які ми маємо. Поширена порада, що дається в цих ситуаціях, - це (наприклад, Matuschek et al., 2017; paper ), щоб зафіксувати переомерені коефіцієнти до 0, оскільки такі вироджені моделі мають тенденцію до зниження потужності. Якщо ми спостерігаємо помітну зміну фіксованих ефектів у зменшеній моделі, ми повинні прийняти це; якщо немає змін, то немає жодної проблеми у прийнятті оригіналу.

Однак припустимо, що нас цікавлять не лише фіксовані ефекти, контрольовані для RE (випадкові ефекти), а й структура RE. У даному випадку теоретично обґрунтовано припустити, що Interceptі нахил Xмає ненульовий негативний кореляційний зв’язок. Випливає кілька питань:

  1. Що робити в таких ситуаціях? Чи слід повідомити про ідеальну кореляцію і сказати, що наші дані недостатньо хороші, щоб оцінити "реальну" кореляцію? Або ми повинні повідомити про модель кореляції 0? Або ми можемо спробувати встановити якусь іншу кореляцію на 0 з надією, що "важливий" вже не буде ідеальним? Я не думаю, що тут є стовідсоткові правильні відповіді, я б хотів би почути вашу думку.

  2. Як написати код, який фіксує співвідношення двох конкретних випадкових ефектів до 0, не впливаючи на кореляції між іншими параметрами?


Пакет nlme забезпечує точний контроль щодо дисперсійно-коваріаційної матриці випадкових ефектів. Мені ніколи насправді цього не потрібно було, але я б перечитав моделі змішаних ефектів у S та S-PLUS (Pinheiro та Bates, 2000), якщо б це було.
Роланд

3
Радикальна альтернатива регуляризоване модель, тобто підібрати модель байєсівської з кілька інформативних апріорних на випадкових ефектів структур (наприклад , через blme, MCMCglmm, rstanarm, brms...)
Бен Bolker

@BenBolker Ben. Я не впевнений, що це радикальна ідея, оскільки примірка нерегульованої моделі може бути більш радикальним способом підходити до моделі;)
D_Williams

Спасибі, хлопці, всі за чудові відповіді ... На жаль, я був в автономному режимі пару днів, але повернувся.
User33268

Відповіді:


13

Сингулярні коваріаційні матриці випадкових ефектів

Отримання оцінки кореляції випадкових ефектів +1 або -1 означає, що алгоритм оптимізації досяг "межі": кореляції не можуть бути вище +1 або нижче -1. Навіть якщо явних помилок конвергенції чи попереджень немає, це потенційно вказує на деякі проблеми з конвергенцією, оскільки ми не очікуємо, що справжня кореляція лежить на межі. Як ви вже говорили, це зазвичай означає, що недостатньо даних для надійної оцінки всіх параметрів. Матущек та ін. 2017 рік кажуть, що в цій ситуації влада може бути поставлена ​​під загрозу.

Ще один спосіб досягти межі - це отримати оцінку дисперсії 0: Чому я отримую нульову дисперсію випадкового ефекту в моїй змішаній моделі, незважаючи на певні зміни в даних?

Обидві ситуації можна розглядати як отримання виродженої матриці коваріації випадкових ефектів (у вашому прикладі вихідна матриця коваріації становить ); нульова дисперсія або досконала кореляція означає, що матриця коваріації не є повним рангом і [принаймні] одна з її власних значень дорівнює нулю. Це спостереження одразу підказує, що існують інші , більш складні способи отримати вироджену матрицю коваріації: можна мати кратну матричну коваріаційну матрицю без нулів або досконалих кореляцій, але, тим не менш, дефіцит за рангом (сингулярний). Бейтс та ін. 2015-х парамімонічні змішані моделі4×44×4(неопублікований додрук) рекомендують використовувати аналіз основних компонентів (PCA), щоб перевірити, чи отримана коваріаційна матриця є сингулярною. Якщо це так, вони пропонують поставитися до цієї ситуації так само, як і до вищеописаних сингулярних ситуацій.

То що робити?

Якщо недостатньо даних, щоб надійно оцінити всі параметри моделі, то слід розглянути можливість спрощення моделі. Беручи вашу прикладну модель, X*Cond + (X*Cond|subj)існують різні можливі способи її спрощення:

  1. Видаліть один із випадкових ефектів, як правило, кореляцію найвищого порядку:

    X*Cond + (X+Cond|subj)
  2. Позбавтеся від усіх параметрів кореляції:

    X*Cond + (X*Cond||subj)

    Оновлення: як зазначає @Henrik, ||синтаксис видалить кореляції лише у тому випадку, якщо всі змінні зліва від нього будуть числовими. Якщо Condзадіяні категоричні змінні (наприклад, ), скоріше слід скористатися його зручним afexпакетом (або громіздким ручним способом обходу). Дивіться його відповідь для отримання більш детальної інформації.

  3. Позбавтеся деяких параметрів кореляції, розбивши термін на кілька, наприклад:

    X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
  4. Обмежте матрицю коваріації якимось конкретним способом, наприклад, встановивши одну конкретну кореляцію (ту, яка потрапила на межу) до нуля, як ви пропонуєте. Немає вбудованого способу lme4цього досягти. Дивіться відповідь @ BenBolker на SO для демонстрації того, як цього досягти за допомогою розумного злому.

Всупереч сказаному , я не думаю, що Matuschek та ін. 2017 конкретно рекомендую №4. Суть Матушека та ін. 2017 та Bates та ін. 2015 рік, здається, починається з максимальної моделі a la Barr et al. 2013 року, а потім зменшує складність, поки матриця коваріації не стане повною. (Більше того, вони часто рекомендують ще більше зменшити складність, щоб збільшити потужність.) Оновлення: На противагу цьому, Барр та ін. рекомендують ТІЛЬКО зменшити складність, якщо модель не збіглася; вони готові переносити сингулярні матриці коваріації. Дивіться відповідь @ Генріка.

Якщо хтось погоджується з Бейтсом / Матушеком, то я вважаю, що добре спробувати різні способи зменшення складності, щоб знайти той, який виконує роботу, роблячи «найменший збиток». Дивлячись на мій список вище, оригінальна матриця коваріації має 10 параметрів; №1 має 6 параметрів, №2 має 4 параметри, №3 має 7 параметрів. Яка модель позбудеться ідеальних кореляцій, неможливо сказати, не підходячи до них.

Але що робити, якщо вас цікавить цей параметр?

Вищенаведене обговорення розглядає матрицю коваріації випадкових ефектів як параметр неприємності. Ви ставите цікаве питання, що робити, якщо вас конкретно цікавить параметр кореляції, який вам доведеться "відмовити", щоб отримати повноцінне повноцінне рішення.

Зауважте, що фіксація параметра кореляції в нулі не обов'язково дасть BLUPs ( ranef), які є некорельованими; насправді, вони можуть навіть не так сильно постраждати (див . відповідь Плацидії для демонстрації ). Таким чином, одним із варіантів було б переглянути співвідношення BLUP та повідомити про це.

Іншим, можливо, менш привабливим варіантом буде використання трактування subjectяк фіксованого ефекту Y~X*cond*subj, отримання оцінок для кожного предмета та обчислення кореляції між ними. Це еквівалентно виконанню окремих Y~X*condрегресій для кожного предмета окремо та отримання кореляційних оцінок з них.


Дивіться також розділ про особливі моделі у змішаній моделі Бен Болкер:

Дуже часто зустрічаються переобладнані змішані моделі, що призводять до поодиноких пристосувань. Технічно сингулярність означає, що деякі параметри (дисперсія-коваріантність Чолеського), що відповідають діагональним елементам коефіцієнта Холеського, дорівнюють нулю, що є межею можливого простору, або рівнозначно, що матриця дисперсії-коваріації має деякий нуль власні значення (тобто є позитивним напівдефінітом, а не позитивним певним), або (майже еквівалентно), що деякі відхилення оцінюються як нульові, а частина кореляцій оцінюється як +/- 1.θ


1
Мій приклад показує, що для (Machine||Worker) lmerоцінок на одну дисперсію більше, ніж для (Machine|Worker). Тож, що lmerстосується ||факторів, не можна описати «це лише усуває кореляції між факторами, але не між рівнями категоріального фактора». Він змінює структуру випадкових ефектів дещо дивно (вона розширюється (Machine||Worker)до (1|Worker) + (0+Machine|Worker), отже, додаткової дисперсії). Не соромтеся змінити мою редакцію. Моя головна думка полягає в тому, що в цих твердженнях слід чітко розрізняти числові і категоріальні коваріати.
Генрік

1
Ні, також не працює з бінарними змінними, дивіться самі: machines2 <- subset(Machines, Machine %in% c("A", "B")); summary(lmer(score ~ Machine + (Machine || Worker), data=machines2)). Загалом, це не працює з факторами, зумовленими цим розширенням, і способом, який Rстосується факторів у model.matrix.
Генрік

@amoeba: Я думаю, ви зробили цікавий момент, запропонувавши звернутися до ranefзначень для вивчення кореляції між випадковими ефектами. Я не надто заглиблююся в цю тему, але знаю, що зазвичай не рекомендується працювати з витягнутими значеннями ranef, а, скоріше, з оціночними кореляціями та відхиленнями. Яка ваша думка з цього приводу? Плюс до цього, я не знаю, як можна було б пояснити рецензенту, що кореляція в моделі не постулюється, але ми все-таки обчислюємо співвідношення вилучених значень. Це не має сенсу
User33268

1
@RockyRaccoon Так, я вважаю, що краще використовувати / повідомити про оціночний показник кореляції, але тут ми говоримо про ситуацію, коли ми, мабуть, не можемо її оцінити, оскільки вона збігається до 1. Ось що я б написав у статті: "Повна модель сходилась до рішення з corr = 1, тож, слідуючи порадам у [цитатах], ми використовували зменшену модель [деталі]. Кореляція між випадковими ефектами BLUPs у цій моделі становила 0,9 ". Знову ж таки, коли ви не включаєте кореляцію, ви не обмежуєте модель трактувати їх як некорельовані! Ви просто не чітко моделюєте це співвідношення.
амеба

У мене є ще одне питання: чи мають значення варіації, близькі до нуля, і досконалі та близькі до досконалої кореляції випадкових ефектів щось про реальне значення параметрів? Наприклад, чи співвідношення -1 означає, що реальна кореляція є щонайменше негативною та / або що вона принаймні не нульовою? Більш конкретно, якщо ми спробуємо оцінити кореляцію, яка насправді дорівнює 0, чи можливо, ми отримали б оцінку -1?
User33268

9

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


Придушення параметрів кореляції (варіанти 2 та 3 у відповіді амеби) за допомогою ||лише для числових коваріатів в lmerфакторах, а не для факторів. Це детально обговорюється з кодом Рейнгольда Клігеля .

Однак мій afexпакет забезпечує функцію придушення кореляції також серед факторів, якщо аргумент expand_re = TRUEу виклику до mixed()(див. Також функцію lmer_alt()). Це по суті робиться так, реалізуючи підхід, обговорений Рейнгольдом Клігелем (тобто, перетворення факторів на числові коваріати та уточнення структури випадкових ефектів на них).

Простий приклад:

library("afex")
data("Machines", package = "MEMSS") # same data as in Kliegl code

# with correlation:
summary(lmer(score ~ Machine + (Machine  | Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr       
#  Worker   (Intercept) 16.6405  4.0793              
#           MachineB    34.5467  5.8776    0.48      
#           MachineC    13.6150  3.6899   -0.37  0.30
#  Residual              0.9246  0.9616              
# Number of obs: 54, groups:  Worker, 6

## crazy results:
summary(lmer(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr     
#  Worker   (Intercept)  0.2576  0.5076            
#  Worker.1 MachineA    16.3829  4.0476            
#           MachineB    74.1381  8.6103   0.80     
#           MachineC    19.0099  4.3600   0.62 0.77
#  Residual              0.9246  0.9616            
# Number of obs: 54, groups:  Worker, 6

## as expected:
summary(lmer_alt(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  16.600   4.0743  
#  Worker.1 re1.MachineB 34.684   5.8894  
#  Worker.2 re1.MachineC 13.301   3.6471  
#  Residual               0.926   0.9623  
# Number of obs: 54, groups:  Worker, 6

Для тих, хто не знає afex, основна функціональність для змішаних моделей полягає у наданні p-значень для фіксованих ефектів, наприклад:

(m1 <- mixed(score ~ Machine + (Machine  || Worker), data=Machines, expand_re = TRUE))
# Mixed Model Anova Table (Type 3 tests, KR-method)
# 
# Model: score ~ Machine + (Machine || Worker)
# Data: Machines
#    Effect      df        F p.value
# 1 Machine 2, 5.98 20.96 **    .002
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

summary(m1)  
# [...]
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  27.4947  5.2435  
#  Worker.1 re1.Machine1  6.6794  2.5845  
#  Worker.2 re1.Machine2 13.8015  3.7150  
#  Residual               0.9265  0.9626  
# Number of obs: 54, groups:  Worker, 6
# [...]

Дейл Барр від Barr et al. (2013) документ більш обережно рекомендує зменшити структуру випадкових ефектів, ніж представлений у відповіді амеби. У недавньому обміні Twitter він написав:

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

Тож рекомендується обережність.


Як один із рецензентів, я також можу дати деяке розуміння того, чому ми Bates та ін. (2015) папір залишився неопублікованим. У мене та інших двох рецензентів (які підписали, але тут залишатимуться без імені), ми мали певну критику щодо підходу PCA (здається безпринципним, і немає доказів того, що він є вищим за потужністю). Крім того, я вважаю, що всі троє критикували те, що в документі не було зосереджено уваги на питанні того, як визначити структуру випадкових ефектів, а також намагається запровадити ГУММ. Таким чином, документ Bates et al (2015) потрапив у Matuschek et al. (2017) документ, в якому розглядається питання структури випадкових ефектів за допомогою моделювання та Baayen et al. (2017) документ, що представляє GAMM.

Мій повний огляд Bates та ін. проект можна знайти тут . IIRC, інші огляди мали подібні основні моменти.


ДОБРЕ. Тоді я можу вставити деякі невеликі зміни / оновлення, щоб уточнити деякі моменти, які ви вносите. Щодо переддруку Бейтса, то він може бути неоптимальним у різних аспектах. Але я повністю згоден з Bates та співавт. що сингулярні матриці коваріації є точно такою ж проблемою , що і кореляції + 1 / -1. Математично різниці просто немає. Тож якщо ми приймемо, що досконалі кореляції компрометують владу, то ми повинні дуже обережно ставитися до єдиного кова. навіть за відсутності явних симуляцій, що це показують. Я не згоден, що це "безпринципно".
амеба

@amoeba в lmer_altосновному працює точно так само lmer(або навіть glmer) з тією лише різницею, що дозволяє ||синтаксис. Тож я не впевнений, чому ви хотіли б уникнути afexбудь-якої ціни. Він повинен працювати навіть без приєднання (тобто afex::lmer_alt(...)).
Генрік

@amoeba Це, в основному, підхід, описаний у коді Рейнгольдом Кліглом (тобто розширення випадкових ефектів). Для кожного терміна випадкових ефектів формули створюється матриця моделі (тобто перетворює фактори в числові коваріати). Потім ця модель.matrix переходить cbindдо даних. Потім термін випадкових ефектів у формулі замінюється новим, у якому кожен із новостворених стовпців з'єднується з +. Дивіться рядки 690 до 730 в github.com/singmann/afex/blob/master/R/mixed.R
Генрік

Що стосується категоричних змінних зліва від ||, це справді важливий момент, дякую, що виклали його та пояснили мені (я відредагував свою відповідь, щоб це відобразив). Мені подобається ця функціональність lmer_altв afex. Я просто зазначу тут для повноти, що для отримання однакового виводу з ванільним lmerвикликом без додаткової попередньої обробки можна, наприклад, вказати (1+dummy(Machine,'B')+dummy(Machine,'C') || Worker). Це явно стає дуже громіздким, коли категоріальна змінна має багато рівнів.
амеба

2
@amoeba Важливо зауважити, що підхід із використанням dummy()працює лише з контрастами лікування за замовчуванням, а не тоді, коли випадкові ефекти використовують контрасти суми до нуля (які слід використовувати, якщо модель має взаємодії). Ви можете, наприклад, бачити, що якщо ви порівнюєте компоненти дисперсії у прикладі вище для lmer_altдзвінка з mixedвикликом.
Генрік

1

У мене теж була ця проблема при використанні максимальної оцінки ймовірності - я використовую лише алгоритм Goldstein IGLS, реалізований через програмне забезпечення MLwiN, а не LME4 в Р. Однак у кожному конкретному випадку проблема вирішилася, коли я перейшов на оцінку MCMC, використовуючи ту саму програмне забезпечення. У мене навіть було співвідношення, що перевищує 3, яке вирішилось, коли я змінив оцінку. За допомогою IGLS співвідношення обчислюється після оцінки як коваріація, поділене на добуток квадратного кореня добутку пов'язаних дисперсій - і це не враховує невизначеності в кожній із складових оцінок.

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

MLwin є ланцюгом оцінок MCMC з оцінками IGLS та матриці коваріації невід'ємної визначеної дисперсії, можливо, потрібно буде змінити, змінивши коваріацію на нуль на початку перед початком вибірки.

Для відпрацьованого прикладу див

Розробка багаторівневих моделей для аналізу контекстуальності, неоднорідності та змін за допомогою MLwiN 3, том 1 (оновлено вересень 2017 року); Том 2 також є на RGate

https://www.researchgate.net/publication/320197425_Vol1Training_manualRevisionSept2017

Додаток до глави 10

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