J'utilise la glmer
fonction du lme4
package dans R, et j'utilise l' bobyqa
optimiseur (c'est-à-dire la valeur par défaut dans mon cas). Je reçois un avertissement et je suis curieux de savoir ce que cela signifie.
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
J'ai recherché «une étape de région de confiance n'a pas réussi à réduire q». J'ai trouvé des informations dans le paquetage minqa , qui disait "Consulter Powell pour des explications". Je l'ai fait (vous pouvez aussi, si vous voulez! Voir les références et les liens ci-dessous), mais je n'arrive pas à comprendre. En fait, je n'ai rien trouvé sur la réduction de q.
MJD Powell (2007) "Developments of NEWUOA for uncontrained minimisation without filters", Université de Cambridge, Département de mathématiques appliquées et de physique théorique, Numerical Analysis Group, rapport NA2007 / 05, http://www.damtp.cam.ac.uk/ user / na / NA_papers / NA2007_05.pdf .
MJD Powell (2009), «L'algorithme BOBYQA pour l'optimisation contrainte contrainte sans dérivés», rapport n ° DAMTP 2009 / NA06, Center for Mathematical Sciences, Université de Cambridge, Royaume-Uni. http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf .
Ps Je sais que je peux changer l'optimiseur et je vais voir si je peux obtenir une sortie sans avertissement ni erreur. Je vérifierai également le gradient et la Hesse si je peux, selon un commentaire / réponse de Ben Bolker . J'utilise glmer
dedans dredge
de MuMIn
et je ne sais pas si la réponse de Ben fonctionnera sans bricolage supplémentaire, mais je vais y travailler une fois que mon ordinateur aura terminé ce qu'il fait, de toute façon, je m'éloigne du sujet.
Mise à jour
Selon le commentaire du Dr Bolker ci-dessous, j'ai commencé à parcourir le code FORTRAN ( voici le code pour toute personne intéressée à le chercher mais pas à le télécharger ). "430" apparaît dans la partie bobyqb.f du code. Recherchez simplement "430" ou "réduire Q" pour trouver le code correspondant.
Ceci est ma première rencontre avec le code FORTRAN, mais je pense que le code dit que si les conditions suivantes sont remplies, produisez l'avertissement: NTRITS
> 0, VQUAD
> = 0, IPRINT
> 0. "Le nombre entier NTRITS est défini sur le nombre" région de confiance " itérations qui se sont produites depuis la dernière itération "alternative". " VQUAD
apparaît plusieurs fois, et je ne suis pas encore clair sur sa signification car sa valeur semble dépendre d'une variété d'autres variables, dont les valeurs dépendent parfois d'autres variables. De bobyqa.f: "La valeur d'IPRINT devrait être défini sur 0, 1, 2 ou 3, qui contrôle la quantité d'impression. Plus précisément, il n'y a pas de sortie si IPRINT = 0 et il n'y a de sortie qu'au retour si IPRINT = 1. ".
Donc, il semble que la tâche consiste à comprendre la signification d' VQUAD
être> = 0 et, peut-être, de comprendre comment / quand IPRINT
est devenu> 0. Je vais devoir revenir sur le papier pour y jeter un œil, mais les mathématiques, ou moins son expression symbolique, est un peu une barrière pour moi. À moins que quelqu'un ne connaisse l'algorithme ou ait le désir de l'apprendre, je pense que je devrai augmenter itérativement ma compréhension de l'avertissement en faisant des allers-retours entre les documents, le code et Internet jusqu'à ce que je comprenne ce qu'il veux dire.
src
répertoire de cran.r-project.org/src/contrib/minqa_1). 2.3.tar.gz ) et voir précisément ce qui se passe lorsque cette erreur (code d'erreur 430 dans le code) se déclenche ...