Дисперсионно-ковариационная структура для случайных эффектов в lme4

10

Какова структура дисперсии-ковариации по умолчанию для случайных эффектов в glmerили lmerв lme4пакете? Как определить другую дисперсионно-ковариационную структуру для случайных эффектов в коде? Я не мог найти информацию об этом в lme4документации.

user40451
источник

Ответы:

14

Структура дисперсии-ковариации по умолчанию является неструктурированной, то есть единственное ограничение на матрицу дисперсии-ковариации для векторного случайного эффекта с уровнями является положительно определенным. Отдельные термины случайных эффектов считаются независимыми, однако, так что если вы хотите , чтобы соответствовать (например) модели со случайным перехватом и наклоном , где перехватывать и наклон некоррелированны (не обязательно хорошая идеи), вы можете использовать формулу , где есть фактор группировки; N(1|g) + (0+x|g)g0во втором члене подавляет перехват. Если вы хотите подогнать независимые параметры категориальной переменной (опять же, возможно, сомнительно), вам, вероятно, нужно вручную создать числовые фиктивные переменные. Вы можете, в некотором роде, построить составную симметричную дисперсионно-ковариационную структуру (хотя только с неотрицательными ковариациями), рассматривая фактор как вложенную группирующую переменную. Например, если fэто фактор, то (1|g/f)примут равные корреляции между уровнями f.

Для других / более сложных дисперсионно-ковариационных структур ваш выбор (в R): (1) использовать nlme(в котором есть pdMatrixконструкторы для большей гибкости); (2) использование MCMCglmm(которое предлагает множество структур, включая неструктурированные, составные симметричные, идентичность с различными дисперсиями или идентичность с однородными дисперсиями); (3) использовать специальный пакет, например, pedigreemmкоторый создает специальную структурированную матрицу. На flexLambdagithub есть ветка, которая в конечном итоге надеется предоставить больше возможностей в этом направлении.

Бен Болкер
источник
Возможно, стоит отметить, что xxMпакет также является хорошим, но более сложным вариантом, который позволяет моделировать структурные уравнения. xxm.times.uh.edu
User33268
5

Я могу показать это на примере.

Термины ковариантности указываются в той же формуле, что и фиксированные и случайные эффекты. Термины ковариантности определяются способом написания формулы.

Например:

glmer(y ~ 1 + x1 + (1|g) + (0+x1|g), data=data, family="binomial")

Здесь есть два фиксированных эффекта, которые могут варьироваться случайным образом, и один фактор группировки g. Поскольку два случайных эффекта разделены на свои собственные термины, между ними нет термина ковариации. Другими словами, оценивается только диагональ матрицы дисперсии-ковариации. Ноль во втором члене явно говорит о том, что не следует добавлять случайный член перехвата или допускать изменение существующего случайного перехвата x1.

Второй пример:

glmer(y ~ 1 + x1 + (1+x1|g), data=data, family="binomial")

Здесь x1указана ковариация между перехватом и случайными эффектами, поскольку все 1 + x1 | g содержатся в одном и том же члене. Другими словами, оцениваются все 3 возможных параметра в дисперсионно-ковариационной структуре.

Немного более сложный пример:

glmer(y ~ 1 + x1 + x2 + (1+x1|g) + (0+x2|g), data=data, family="binomial")

Здесь перехват и x1случайные эффекты могут изменяться вместе, в то время как между x2случайным эффектом и каждым из двух других факторов устанавливается нулевая корреляция . Снова a 0включается в x2термин случайного эффекта только для того, чтобы явно избежать включения случайного перехвата, который коварирует со x2случайным эффектом.

ndoogan
источник