Біноміальна глмм з категоричною змінною з повними успіхами


11

У мене запущений glmm з біноміальною змінною відповіді та категоричним предиктором. Випадковий ефект надається вкладеною конструкцією, що використовується для збору даних. Дані виглядають приблизно так:

m.gen1$treatment
 [1] sucrose      control      protein      control      no_injection .....
Levels: no_injection control sucrose protein
m.gen1$emergence 
 [1]  1  0  0  1  0  1  1  1  1  1  1  0  0....
> m.gen1$nest
 [1] 1  1  1  2  2  3  3  3  3  4  4  4  .....
Levels: 1 2 3 4 5 6 8 10 11 13 15 16 17 18 20 22 24

Перша модель, яку я запускаю, виглядає приблизно так

m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)

Я отримую два попередження, які виглядають приблизно так:

Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.0240654 (tol = 0.001, component 4)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model is nearly unidentifiable: large eigenvalue ratio
 - Rescale variables?

Підсумок моделі показує, що одна з процедур має надзвичайно велику стандартну помилку, яку ви можете побачити тут:

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)         2.565      1.038   2.472   0.0134 *
treatmentcontrol   -1.718      1.246  -1.378   0.1681  
treatmentsucrose   16.863   2048.000   0.008   0.9934  
treatmentprotein   -1.718      1.246  -1.378   0.1681 

Я спробував різні оптимізатори, від керування glmer та функцій інших пакетів, і отримую аналогічний вихід. Я запустив модель, використовуючи glm, ігноруючи випадковий ефект, і проблема зберігається. Досліджуючи дані, я зрозумів, що лікування високим рівнем Std. помилка має лише успіхи в змінній відповіді. Для того, щоб перевірити, чи може це спричинити проблему, я додав підроблену точку даних з "провалом" для цього лікування, і модель працює безперебійно, і дає розумну стандартну помилку. Ви можете побачити це тут:

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)        3.4090     1.6712   2.040   0.0414 *
treatmentcontrol  -1.8405     1.4290  -1.288   0.1978  
treatmentsucrose  -0.2582     1.6263  -0.159   0.8738  
treatmentprotein  -2.6530     1.5904  -1.668   0.0953 .

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

Спасибі заздалегідь!

Відповіді:


15

Ваша інтуїція абсолютно права. Це явище називається повним відокремленням . Ви можете знайти досить багато (тепер, коли ви знаєте його назву) Гуглінг навколо ... Це досить ґрунтовно обговорюється тут у загальному контексті та тут у контексті ГММ . Стандартне рішення цієї проблеми полягає в тому, щоб додати невеликий термін, який відштовхує параметри назад до нуля - у частоцистських контекстах це називається методом пеналізації або виправлення зміщення . Стандартний алгоритм пояснюється Фіртом (1993, "Зменшення зміщення максимальної оцінки ймовірності" Biometrika 80, 27-38) і реалізований у пакеті logistfна CRAN. У контекстах Баєса це визначається як додавання слабких до параметрів фіксованого ефекту.

Наскільки мені відомо, алгоритм Фірта не поширився на GLMM, але ви можете використовувати байєсівський трюк, використовуючи пакет blme , який наносить тонкий байєсівський шар поверх верхньої частини lme4пакета. Ось приклад із вищезгаданої дискусії щодо GLMM:

cmod_blme_L2 <- bglmer(predation~ttt+(1|block),data=newdat,
                   family=binomial,
                   fixef.prior = normal(cov = diag(9,4)))

Перші два рядки в цьому прикладі точно такі ж, як і в стандартній glmerмоделі; останній визначає, що попереднім для фіксованих ефектів є багатоваріантний нормальний розподіл з діагональною дисперсією-коваріаційною матрицею. Матриця становить 4х4 (оскільки у цьому прикладі у нас є 4 параметри фіксованого ефекту), а попередня дисперсія кожного параметра - 9 (що відповідає стандартному відхиленню 3, яке досить слабке - це означає, що +/- 2SD є ( -6,6), що є дуже великим діапазоном за шкалою logit).

Дуже великі стандартні помилки параметрів у вашому прикладі є прикладом явища, тісно пов'язаного з повним розділенням (воно виникає всякий раз, коли ми отримуємо екстремальні значення параметрів у логістичній моделі) під назвою ефект Хока-Доннера .

Ще два потенційно корисні посилання (я ще не вникав у них):

  • Gelman A, Jakulin A, Pittau MG та Su TS (2008) Слабо інформативний попередній розподіл за замовчуванням для логістичних та інших регресійних моделей. Анали прикладної статистики , 2, 1360–383.
  • Хосе Кортіньяс Абрахантес та Марк Аертс (2012) Рішення розділення для кластеризованих двійкових даних Статистичне моделювання 12 (1): 3–27 дої: 10.1177 / 1471082X1001200102

Більш недавній пошук вченого від Google для пошуку "bglmer" повної розлуки "" знаходить:

  • Кіньйонес, AE та WT Wcislo. "Криптований розширений догляд за розплодом у факультативно евсоціальній поті бджолиної мегалопти геналіс ". Insectes Sociaux 62.3 (2015): 307–313.

вау, велике спасибі !! Це має ідеальний сенс, і тепер модель плавно працює з bglmer. У мене просто ще одне питання, чи можна використовувати методи, як у lme4, для оцінки випадкових та фіксованих ефектів, іншими словами, для порівняння різних моделей?

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

Дякую! Це саме моя проблема. Швидке спостереження: на відміну від вашого прикладу, який має один коефіцієнт з 4 рівнями, у мене є конструкція 2 x 2, де кожен фактор має 2 рівні (тож загальний рівень все ще становить 4 рівні). Чи можу я також використовувати diag (9,4) для своєї моделі? Я не в курсі матриць, тому хотів ще раз перевірити. Так само, щоб обґрунтувати це рішення у своїй роботі, я мушу цитувати Firth (1993) чи є більш безпосередньо релевантний документ, який реалізував ваше рішення за допомогою bglmer ()?
Сол

2
див. оновлену відповідь.
Бен Болкер

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