Учитывая три переменные, 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()
команда работает нормально. Из-за граничных параметров обычно рекомендуется проверять результирующую статистику хи-квадрат посредством моделирования, тем не менее, мы все равно можем использовать статистику в процедуре моделирования.
Когда обе модели содержат только фиксированные эффекты, этот подход - и соответствующая anova()
команда - работают нормально.
Однако, когда одна модель содержит случайные эффекты, а уменьшенная модель содержит только фиксированные эффекты, как в приведенном выше сценарии, anova()
команда не работает.
Более конкретно, я получаю следующую ошибку:
> anova(fit.fe, fit.me)
Error: $ operator not defined for this S4 class
Что-то не так с использованием подхода хи-квадрат сверху (с симуляцией)? Или это просто проблема anova()
незнания того, как обращаться с линейными моделями, порожденными различными функциями?
Другими словами, было бы целесообразно вручную генерировать статистику хи-квадрат, полученную из моделей? Если да, каковы соответствующие степени свободы для сравнения этих моделей? По моим расчетам:
Мы оцениваем два параметра в модели с фиксированными эффектами (наклон и перехват) и еще два параметра (параметры дисперсии для случайного наклона и случайный перехват) в модели смешанных эффектов. Как правило, параметр пересечения не учитывается при вычислении степеней свободы, поэтому подразумевается, что и ; сказав, что я не уверен, следует ли включать параметры дисперсии для параметров случайных эффектов в вычисление степеней свободы; оценки дисперсии для параметров с фиксированным эффектом не рассматриваются , но я полагаю, что это связано с тем, что оценки параметров для фиксированных эффектов предполагаются как неизвестные константы, тогда как они считаются непознаваемыми случайными величинамидля смешанных эффектов. Буду признателен за помощь в этом вопросе.
Наконец, есть ли у кого-нибудь более подходящее ( R
основанное) решение для сравнения этих моделей?
источник
lm()
сgls()
изnlme
пакета, иlmer()
сlme()
(снова изnlme
пакета), все будет работать нормально. Но обратите внимание, что вы получите консервативный тест (слишком большие p-значения ), так как параметры для более простой модели находятся на границе пространства параметров. И действительно, выбор того, включать ли случайные эффекты, должен основываться на теории (например, на плане выборки), а не на статистическом тесте.Ответы:
Технически, вы можете заставить его работать, просто переключая порядок параметров:
Будет работать просто отлично. Если вы передадите объект, сгенерированный
lmer
первым,anova.merMod
будет вызван объект вместоanova.lm
(который не знает, как обрабатыватьlmer
объекты). Видеть:Хотя выбор смешанной модели или фиксированной модели - это выбор модели, который должен учитывать план эксперимента, а не проблему выбора модели. Смотрите @ BenBolker - х https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#testing-significance-of-random-effects для более подробной информации:
источник