У меня подходят несколько смешанных моделей эффектов ( в частности , продольные модели) с использованием lme4
в R
но хотел бы, чтобы действительно мастер модели и код , который идет с ними.
Однако, прежде чем погрузиться обеими ногами (и купить несколько книг), я хочу убедиться, что я изучаю правильную библиотеку. Я привык lme4
до сих пор, потому что мне было проще nlme
, но если nlme
это лучше для моих целей, то я чувствую, что должен это использовать.
Я уверен, что ни один не «лучше» в упрощенном виде, но я бы оценил некоторые мнения или мысли. Мои основные критерии:
- прост в использовании (я по образованию психолог, не особо разбираюсь в статистике или кодировании, но учусь)
- хорошие возможности для подгонки продольных данных (если здесь есть разница, но для этого я в основном и использую их)
- хорошие (легко интерпретируемые) графические сводки, опять же, не уверен, что здесь есть разница, но я часто создаю графики для людей, даже менее техничных, чем я, поэтому хорошие четкие графики всегда хороши (мне очень нравится функция xyplot в решетке () Именно по этой причине).
Как обычно, надеюсь, что этот вопрос не слишком расплывчатый, и заранее спасибо за любую мудрость!
источник
lme4
вы можете указать диагональную ковариационную структуру (т.е. независимые случайные эффекты) или неструктурированные ковариационные матрицы (т.е. все корреляции должны быть оценены) или частично диагональные, частично неструктурированные ковариационные матрицы для случайных эффектов. Я бы также добавил третье отличие в возможностях, которое может быть более актуальным для многих ситуаций с продольными данными:nlme
давайте не будем указывать дисперсионно-ковариационные структуры для остатков (то есть пространственную или временную автокорреляцию или гетероскедастичность)lme4
.lme4
позволяет выбирать разные структуры ВК. Было бы лучше, если бы вы добавили его в свой ответ вместе с другими вашими идеями. Я буду голосовать. Кстати, я также понял, чтоlmList()
доступно вlme4
тоже время. Кажется, я помню некоторые дискуссии об этом на R-sig-ME.Как указал chl, основное отличие заключается в том, какую дисперсионно-ковариационную структуру вы можете указать для случайных эффектов. В
lme4
вы можете указать либо:~ (1 | group)+ (0 + x1 | group) + (0 + x2 | group)
)~ (1 + x1 + x2 | group)
)y ~ (1 + x1 | group) + (0 + x2 | group)
где вы бы оценили корреляцию между случайным перехватом и случайным наклоном дляx1
, но без корреляции между случайным наклоном дляx2
и случайным перехватом и между случайным наклоном дляx2
и случайным наклоном дляx1
).nlme
предлагает гораздо более широкий класс ковариационных структур для случайных эффектов. Однако мой опыт показывает, чтоlme4
для большинства приложений достаточно гибкости .Я бы также добавил третье различие в возможностях, которое может быть более уместным для многих ситуаций с продольными данными:
nlme
давайте укажем вweights
аргументе структуры дисперсии-ковариации для остатков (то есть пространственную или временную автокорреляцию или гетероскедастичность или ковариатозависимую изменчивость) (см.?varFunc
), в то время какlme4
допускаются только фиксированные предварительные веса для наблюдений.Четвертое отличие состоит в том, что может быть трудно подобрать
nlme
(частично) скрещенные случайные эффекты, хотя это не проблемаlme4
.С тобой, наверное, все будет в порядке
lme4
.источник
Другие очень хорошо суммировали различия. У меня сложилось впечатление, что
lme4
это больше подходит для кластерных наборов данных, особенно когда вам нужно использовать скрещенные случайные эффекты. Для проектов с повторными измерениями (включая много продольных конструкций), однако,nlme
это инструмент, так какnlme
поддерживает только определение структуры корреляции для остатков. Вы делаете это, используя аргументcorrelations
orcor
сcorStruct
объектом. Это также позволяет моделировать гетероскедастичность с использованиемvarFunc
объекта.источник
На самом деле в R имеется ряд пакетов для подгонки моделей со смешанными эффектами за пределы
lme4
иnlme
. Есть замечательная вики , созданная специальной группой R по интересам для смешанных моделей, в которой есть очень хороший FAQ и страница, сравнивающая различные пакеты .Что касается моего мнения по поводу фактического использования
lme4
иnlme
: я обнаружил, чтоlme4
в целом проще в использовании из-за его довольно прямого расширения основного синтаксиса формулы R. (Если вам нужно работать с обобщенными аддитивными моделями, тоgamm4
пакет расширяет этот синтаксис еще на один шаг, и у вас есть хорошая плавная кривая обучения.) Как уже упоминалось,lme4
можно обрабатывать обобщенные модели (другие функции связи и распределения ошибок), в то время какnlme
Сосредоточение на функции связи Гаусса позволяет ей делать некоторые вещи, которые очень сложны в общем случае (указание ковариационной структуры и некоторые вещи, зависящие от вычисления степеней свободы, такие как p-значения, последнее из которых я призываю вас переместить подальше от!).источник