увеличить количество итераций для новой версии lmer?

Я только что обновил lme4 до версии 1.0-4, и когда я запускаю lmer(), моя модель смешанных эффектов, которая раньше сходилась, теперь выводит это предупреждение:

Warning message:
In (function (fn, par, lower = rep.int(-Inf, n), upper = rep.int(Inf,  :
  failure to converge in 10000 evaluations

Итак, я хотел бы попытаться увеличить количество итераций, чтобы посмотреть, смогу ли я это исправить. (Должен сказать, я понятия не имею, что вызывает предупреждение, так как первая часть сообщения звучит немного непрозрачно). В любом случае, я прочитал в документации, что теперь я должен использовать lmerControl(), но я не смог это реализовать. Может ли кто-нибудь дать мне конкретный пример того, как вы это сделаете для конкретности? (файл справки не помогает). Вот моя модель:

m <- lmer(RT ~ Factor1*Factor2 + (0+Factor1+Factor2|Subject) + (1|Subject)  + (1|Item) + (0+Factor1+Factor2|Item), data= data)

Большое спасибо!


person Sol    schedule 20.10.2013    source источник
comment
Это не сообщение об ошибке. Это предупреждение.   -  person IRTFM    schedule 20.10.2013
comment
@DWin: хорошо, я отредактировал это   -  person Sol    schedule 20.10.2013


Ответы (1)


Функция lmerControl позволяет выбрать оптимизатор и передать ему параметры управления. Параметры, управляющие числом итераций или оценок, различаются от функции к функции (как описано на странице справки для lmerControl). Оптимизатор по умолчанию — «Nelder_Mead», и для этого выбора оптимизатора максимальное количество оценок можно изменить, указав «maxfun» в списке параметров «optCtrl»:

m <- lmer(RT ~ Factor1*Factor2 + (0+Factor1+Factor2|Subject) + 
               (1|Subject)  + (1|Item) + (0+Factor1+Factor2|Item),
          data= data, control=lmerControl(optCtrl=list(maxfun=20000) ) )

Это не гарантия того, что конвергенция будет достигнута. (Мой опыт показывает, что обычно бывает достаточно максимума по умолчанию.) Вполне возможно, что ваших данных недостаточно для поддержания сложности модели или модель неправильно построена для плана исследования.

И запоздалое спасибо @NBrouwer за его примечание, чтобы распространить этот совет на glmer с glmControl.

person IRTFM    schedule 20.10.2013
comment
Спасибо! Я попробовал это и получил следующее сообщение: Предупреждающее сообщение: In checkArgs(lmer, optCtrl = list(maxfun = 20000)) : дополнительные аргументы ‘optCtrl’ игнорируются - person Sol; 20.10.2013
comment
Извините, его нужно было передать lmerControl. - person IRTFM; 20.10.2013
comment
Примечание: для обобщенных линейных смешанных моделей (glmer, glmer.nb) используйте glmerControl - person N Brouwer; 09.06.2014