Сингулярные ковариационные матрицы со случайным эффектом
Получение оценки корреляции случайного эффекта +1 или -1 означает, что алгоритм оптимизации достиг «границы»: корреляции не могут быть выше +1 или ниже -1. Даже если нет явных ошибок сходимости или предупреждений, это потенциально указывает на некоторые проблемы сходимости, потому что мы не ожидаем, что истинные корреляции будут лежать на границе. Как вы сказали, это обычно означает, что данных недостаточно для надежной оценки всех параметров. Matuschek et al. 2017 говорят, что в этой ситуации власть может быть скомпрометирована.
Еще один способ достичь границы - получить оценку дисперсии 0: почему я получаю нулевую дисперсию случайного эффекта в моей смешанной модели, несмотря на некоторые различия в данных?
Обе ситуации можно рассматривать как получение вырожденной ковариационной матрицы случайных эффектов (в вашем примере выходная ковариационная матрица равна ); нулевая дисперсия или идеальная корреляция означает, что ковариационная матрица не является полным рангом, и [по крайней мере] одно из ее собственных значений равно нулю. Это наблюдение сразу говорит о том, что существуют и другие , более сложные способы получения вырожденной ковариационной матрицы: можно иметь ковариационную матрицу × без каких-либо нулей или совершенных корреляций, но, тем не менее, с рангом-недостатком (в единственном числе). Бейтс и соавт. Смешанные модели 2015 года4 × 44 × 44 × 4(неопубликованный препринт) рекомендуют использовать анализ основных компонентов (PCA), чтобы проверить, является ли полученная ковариационная матрица единственной. Если это так, они предлагают рассматривать эту ситуацию так же, как вышеупомянутые исключительные ситуации.
Так что делать?
Если данных недостаточно для надежной оценки всех параметров модели, следует рассмотреть возможность ее упрощения. Если X*Cond + (X*Cond|subj)
взять пример модели, есть несколько возможных способов упростить ее:
Удалите один из случайных эффектов, обычно корреляцию высшего порядка:
X*Cond + (X+Cond|subj)
Избавьтесь от всех параметров корреляции:
X*Cond + (X*Cond||subj)
Обновление: как отмечает @Henrik, ||
синтаксис удалит корреляции только в том случае, если все переменные слева от него являются числовыми. Если Cond
задействованы категориальные переменные (такие как ), лучше использовать его удобный afex
пакет (или громоздкие обходные пути вручную). Смотрите его ответ для более подробной информации.
Избавьтесь от некоторых параметров корреляции, разбив термин на несколько, например:
X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
- Ограничьте ковариационную матрицу каким-то конкретным способом, например, установив одну конкретную корреляцию (ту, которая достигла границы) в ноль, как вы предлагаете. Для этого нет встроенного способа
lme4
. Посмотрите ответ @ BenBolker на SO, чтобы продемонстрировать, как этого добиться с помощью умного взлома.
Вопреки тому, что вы сказали, я не думаю, что Matuschek et al. 2017 специально рекомендую # 4. Суть Matuschek et al. 2017 и Бейтс и др. Кажется, 2015 год начинается с максимальной модели, созданной а-ля Barr et al. 2013, а затем уменьшает сложность, пока ковариационная матрица не получит полный ранг. (Более того, они часто рекомендуют еще больше уменьшить сложность, чтобы увеличить мощность.) Обновление: Напротив, Barr et al. рекомендуем уменьшать сложность ТОЛЬКО если модель не сходится; они готовы терпеть единичные ковариационные матрицы. Смотрите @ ответ Хенрика.
Если кто-то согласен с Бейтсом / Матушеком, то я думаю, что можно попробовать разные способы уменьшить сложность, чтобы найти тот, который выполняет работу, нанося «наименьший ущерб». Глядя на мой список выше, исходная ковариационная матрица имеет 10 параметров; # 1 имеет 6 параметров, # 2 имеет 4 параметра, # 3 имеет 7 параметров. Какая модель избавится от идеальных корреляций, невозможно сказать без их подгонки.
Но что, если вы заинтересованы в этом параметре?
Вышеприведенное обсуждение рассматривает ковариационную матрицу случайных эффектов как параметр помех. Вы поднимаете интересный вопрос о том, что делать, если вас особенно интересует параметр корреляции, от которого нужно «отказаться», чтобы получить осмысленное полное решение.
Обратите внимание, что установка параметра корреляции в ноль не обязательно приведет к BLUP ( ranef
), которые не коррелированы; на самом деле они могут даже не сильно пострадать (см . ответ @ Placidia для демонстрации ). Таким образом, одним из вариантов будет посмотреть на корреляции BLUP и сообщить об этом.
Другим, возможно, менее привлекательным вариантом будет использование режима « subject
фиксированный эффект» Y~X*cond*subj
, получение оценок для каждого субъекта и вычисление корреляции между ними. Это эквивалентно выполнению отдельных Y~X*cond
регрессий для каждого субъекта в отдельности и получению оценок корреляции от них.
См. Также раздел о единичных моделях в FAQ по смешанной модели Бена Болкера:
Очень часто смешанные модели приводят к единичным подгонкам. Технически, сингулярность означает, что некоторые параметры (дисперсия-ковариация разложения Холецкого), соответствующие диагональным элементам фактора Холецкого, в точности равны нулю, который является краем допустимого пространства, или, что то же самое, что матрица дисперсии-ковариации имеет некоторый ноль собственные значения (т. е. положительное полуопределенное, а не положительно определенное) или (почти эквивалентно), что некоторые из дисперсий оцениваются как ноль, или некоторые из корреляций оцениваются как +/- 1.θ