Korzystam z glmer
funkcji z lme4
pakietu w R i używam bobyqa
optymalizatora (tj. Domyślnego w moim przypadku). Dostaję ostrzeżenie i jestem ciekaw, co to znaczy.
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
Szukałem „krok regionu zaufania nie zmniejszył q”. Znalazłem pewne informacje w pakiecie minqa , który powiedział „Skonsultuj się z Powellem w celu uzyskania wyjaśnień”. Zrobiłem (możesz też, jeśli chcesz! Zobacz odnośniki i linki do nich poniżej), ale nie rozumiem. W rzeczywistości nie udało mi się znaleźć niczego na temat zmniejszenia q.
MJD Powell (2007) „Opracowanie NEWUOA na rzecz nieograniczonej minimalizacji bez pochodnych”, Cambridge University, Department of Applied Mathematics and Theoretical Physics, Numerical Analysis Group, Raport NA2007 / 05, http://www.damtp.cam.ac.uk/ użytkownik / na / NA_papers / NA2007_05.pdf .
MJD Powell (2009), „Algorytm BOBYQA dla ograniczonej optymalizacji bez pochodnych”, raport nr DAMTP 2009 / NA06, Centre for Mathematical Sciences, University of Cambridge, UK. http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf .
Ps Wiem, że mogę zmienić optymalizator i zobaczę, czy mogę uzyskać dane wyjściowe bez ostrzeżeń i błędów. Sprawdzę również gradient i Hesję, jeśli mogę, zgodnie z komentarzem / odpowiedzią Bena Bolkera . Używam od glmer
wewnątrz i nie jestem pewien, czy odpowiedź Bena zadziała bez dodatkowego majsterkowania, ale popracuję nad tym, gdy mój komputer skończy to, co robi, zresztą dygresuję.dredge
MuMIn
Aktualizacja
Zgodnie z komentarzem dr Bolkera poniżej zacząłem przeglądać kod FORTRAN ( tutaj jest kod dla wszystkich zainteresowanych przeglądaniem, ale nie pobieraniem go ). „430” pojawia się w części kodu bobyqb.f. Po prostu wyszukaj „430” lub „zmniejsz Q”, aby znaleźć odpowiedni kod.
To jest moje pierwsze spotkanie z kodem FORTRAN, ale myślę, że kod mówi, że jeśli spełnione są następujące warunki, wygeneruj ostrzeżenie: NTRITS
> 0, VQUAD
> = 0, IPRINT
> 0. „Liczba całkowita NTRITS jest ustawiona na liczbę„ region zaufania ” iteracje, które miały miejsce od ostatniej „alternatywnej” iteracji. VQUAD
pojawia się kilka razy i nie jestem jeszcze pewien jego znaczenia, ponieważ jego wartość wydaje się zależeć od wielu innych zmiennych, których wartości czasami zależą od innych zmiennych. Od bobyqa.f: „Wartość IPRINT powinna wynosić ustawioną na 0, 1, 2 lub 3, która kontroluje ilość wydruków. W szczególności nie ma danych wyjściowych, jeśli IPRINT = 0, a wyniki są zwracane tylko wtedy, gdy IPRINT = 1. ”.
Wygląda więc na to, że zadaniem jest ustalenie znaczenia VQUAD
bycia> = 0 i być może zrozumienie, jak / kiedy IPRINT
stało się> 0. Będę musiał wrócić do gazety, aby się przyjrzeć, ale matematyki lub przynajmniej jego symboliczny wyraz, jest dla mnie trochę barierą. Chyba, że ktoś wie o algorytmie lub chce się o nim dowiedzieć, myślę, że będę musiał iteracyjnie zwiększyć moje zrozumienie ostrzeżenia, przechodząc w obie strony między dokumentami, kodem i Internetem, dopóki nie zrozumiem, co to jest znaczy.
src
katalogu cran.r-project.org/src/contrib/minqa_1. 2.3.tar.gz ) i dokładne widzenie, co się dzieje, gdy ten błąd (kod błędu 430 w kodzie) zostanie wyzwolony ...