Порівняння моделей змішаних ефектів та фіксованих ефектів (тестування значущості випадкових ефектів)


10

Враховуючи три змінні, yі xякі є позитивними безперервними, і z, що є категоричним, у мене є дві моделі-кандидати, задані:

fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )

і

fit.fe <- lm( y ~ 1 + x )

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

anova(fit.fe,fit.me)

Коли обидві моделі містять випадкові ефекти (генеруються lmerз lme4пакета), то anova()команда працює відмінно. Завдяки граничним параметрам, як правило, доцільно перевірити отриману статистику Chi-Square за допомогою моделювання, проте, ми все ще можемо використовувати статистику в процедурі моделювання.

Коли обидві моделі містять лише фіксовані ефекти, цей підхід --- і, пов'язана anova()команда --- працюють добре.

Однак, коли одна модель містить випадкові ефекти, а зменшена модель містить лише фіксовані ефекти, як у вищенаведеному сценарії, anova()команда не працює.

Більш конкретно, я отримую таку помилку:

 > anova(fit.fe, fit.me)
 Error: $ operator not defined for this S4 class

Чи є щось не так у використанні підходу Chi-Square зверху (за допомогою моделювання)? Або це просто проблема anova()невідомого поводження з лінійними моделями, породженими різними функціями?

Іншими словами, чи було б доцільно вручну генерувати статистику Chi-Square, похідну від моделей? Якщо так, то які відповідні ступені свободи для порівняння цих моделей? За моїм врахуванням:

F=((SSEreducedSSEfull)/(pk))((SSEfull)/(np1))Fpk,np1

Ми оцінюємо два параметри в моделі фіксованих ефектів (нахил та перехоплення) та ще два параметри (параметри дисперсії для випадкового нахилу та випадкового перехоплення) у моделі змішаних ефектів. Зазвичай параметр перехоплення не враховується в градусах обчислення свободи, так що випливає, що і ; сказав, що я не впевнений, чи слід включити параметри дисперсії для параметрів випадкових ефектів у ступінь обчислення свободи; Оцінки дисперсії для параметрів фіксованого ефекту не враховуються , але я вважаю, що це відбувається тому, що оцінки параметрів фіксованих ефектів вважаються невідомими постійними, в той час як вони вважаються невизнаними випадковими зміннимиp = k + 2 = 3k=1p=k+2=3для змішаних ефектів. Буду вдячний за допомогу в цьому питанні.

Нарешті, чи є у когось більш підходяще ( Rзасноване) рішення для порівняння цих моделей?


4
Якщо замінити lm()з gls()з nlmeпакета, і lmer()з lme()(знову ж з nlmeпакета), то все буде працювати нормально. Але зауважте, що ви отримаєте консервативний тест (занадто великі p -значення), оскільки параметри для більш простої моделі знаходяться на межі простору параметрів. І дійсно вибір того, чи включати випадкові ефекти, повинен базуватися на теорії (наприклад, план вибірки), а не на статистичному тесті.
Karl Ove Hufthammer

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

1
@Kodiologist В основному я хочу гарантувати, що оцінки параметрів для фіксованих ефектів є надійними. Стандартні помилки яких можуть бути недостовірними, якщо спостереження вважатимуться незалежними. Крім того, було б непогано зробити якесь твердження про те, наскільки змінною є випадковий ефект, але я думаю, це не так важливо.
user9171

2
@ user9171 Хороший спосіб перевірити стабільність (надійність) в оцінках параметрів моделі - це використання завантажувального завантаження. Розподіл завантажувальних діаграм для кожного параметра, які ділять дві моделі, з одним графіком на параметр і модель. Більш жорсткі розподіли передбачають більшу стійкість. Ви, ймовірно, виявите, що простіша модель дає більш стабільні оцінки, оскільки менша кількість параметрів дозволяє більш точно оцінювати кожен параметр.
Кодіолог

Відповіді:


6

З технічної точки зору ви можете працювати, просто перемикаючи порядок параметрів:

> anova(fit.me, fit.fe) 

Буде працювати чудово. Якщо ви передасте об'єкт, згенерований lmerспочатку, anova.merModзамість нього буде викликано anova.lm(який не знає, як обробити lmerоб’єкти). Подивитися:

?anova.merMod

Хоча вибір змішаної моделі або фіксованої моделі - це вибір моделювання, який повинен враховувати експериментальну конструкцію, а не проблему вибору моделі. Докладнішу інформацію див. У https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#testing-sigenceance-of-random-effe @ BenBolker для отримання більш детальної інформації:

Подумайте не перевіряти значення випадкових ефектів.


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