Я использую glmer
функцию из lme4
пакета в R, и я использую bobyqa
оптимизатор (т.е. по умолчанию в моем случае). Я получаю предупреждение, и мне любопытно, что это значит.
Warning message:
In optwrap(optimizer, devfun, start, rho$lower, control = control, :
convergence code 3 from bobyqa: bobyqa -- a trust region step failed to reduce q
Я искал "шаг области доверия не смог уменьшить q." Нашел некоторую информацию в пакете minqa , где говорилось: «Проконсультируйтесь с Пауэллом для объяснения». Я сделал (вы можете, если хотите! См. Ссылки и ссылки на них ниже), но я не понимаю. На самом деле, я не смог найти ничего о снижении q.
MJD Powell (2007) «Разработки NEWUOA для неограниченной минимизации без производных», Кембриджский университет, факультет прикладной математики и теоретической физики, группа численного анализа, отчет NA2007 / 05, http://www.damtp.cam.ac.uk/ пользователь / na / NA_papers / NA2007_05.pdf .
MJD Powell (2009), «Алгоритм BOBYQA для ограниченной ограниченной оптимизации без производных», Отчет № DAMTP 2009 / NA06, Центр математических наук, Кембриджский университет, Великобритания. http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf .
Ps Я знаю, что могу изменить оптимизатор, и я буду видеть, могу ли я получить вывод без предупреждений или ошибок. Я также проверю градиент и гессиан, если смогу, согласно комментарию / ответу Бена Болкера . Я использую glmer
в dredge
от MuMIn
и я не уверен , что если ответ Бен будет работать без какого - либо дополнительного мастерить, но я буду работать над этим , как только моим компьютером отделка , что он делает, во всяком случае, я отвлекся.
Обновить
В соответствии с комментарием д-ра Болкера, приведенным ниже, я начал просматривать код FORTRAN ( этот код предназначен для всех, кто интересуется поиском, но не скачиванием ). «430» появляется в части кода bobyqb.f. Просто найдите «430» или «уменьшить Q», чтобы найти соответствующий код.
Это мое первое знакомство с кодом FORTRAN, но я думаю, что код говорит, что если выполняются следующие условия, выдается предупреждение: NTRITS
> 0, VQUAD
> = 0, IPRINT
> 0. "Целочисленный NTRITS установлен в число" область доверия " итерации, которые произошли после последней «альтернативной» итерации. VQUAD
появляется несколько раз, и я пока не ясно о его значении, так как его значение зависит от множества других переменных, значения которых иногда зависят от других переменных. От bobyqa.f: «Значение IPRINT должно быть установите значение 0, 1, 2 или 3. Это определяет объем печати. В частности, вывод не выводится, если IPRINT = 0, и вывод выводится только при возврате, если IPRINT = 1. ".
Таким образом, кажется, что задача состоит в том, чтобы выяснить значение того, VQUAD
чтобы быть> = 0 и, возможно, понять, как / когда IPRINT
стало> 0. Я должен вернуться к статье, чтобы взглянуть, но математика или По крайней мере, его символическое выражение, это немного барьер для меня. Если кто-то не знает об алгоритме или не хочет узнать о нем, я думаю, что мне придется итеративно расширять свое понимание предупреждения, переходя назад и вперед между бумагами, кодом и интернетом, пока я не пойму, что это средства.
src
каталог cran.r-project.org/src/contrib/minqa_1. 2.3.tar.gz ) и точно видеть, что происходит, когда эта ошибка (код ошибки 430 в коде) срабатывает ...