[ADMB Users] -lprof
John Sibert
sibert at hawaii.edu
Sun Jul 20 15:07:46 PDT 2014
I'll give it a try.
John Sibert
Emeritus Researcher, SOEST
University of Hawaii at Manoa
(Sent from the N7; please excuse the typos.)
On Jul 20, 2014 11:25 AM, "dave fournier" <davef at otter-rsch.com> wrote:
> On 07/20/2014 02:03 PM, John Sibert wrote:
>
> Did you use something like
>
>
> feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW );
>
> with that you shoud be able to find out where the problem occurs suing the
> debugger.
>
> Ugh.
>>
>> The variable I'm trying to profile has a pretty low estimated standard
>> deviation. From the .std file:
>>
>>> 87 natural_mortality 1.5239e-01 7.8301e-03
>>>
>> By fiddling with the model structure and the lprof control variables, it
>> will sometimes work, but the resulting profile plot is pretty strange. See
>> attached.
>>
>> I'm working to track down the problem, but even simplifying the model it
>> is slow going because of the need to compute the Hessian every time.
>>
>> The contents of diags is:
>>
>>> f$ cat diags
>>> tempint1
>>> inf inf inf inf inf inf inf inf
>>> inf
>>> m(2)
>>> inf inf inf inf inf inf inf inf
>>> inf
>>> m(3)
>>> 0.882 0.956 0.989 0.999 1 0.999 0.989
>>> 0.956 0.882
>>> xdistance
>>> 1 1 1 1 1 1 1 1 1
>>>
>>
>> Changing exp to mfexp for the computation of tempint1 in newmodmn.cpp
>> seem to help a bit, but does not solve the problem. I think the cause
>> occurs earlier, but I'm having trouble tracking it down.
>>
>> Does anyone really use this option? It seems like a good option to
>> diagnose an ill-defined parameter when MCMC would take too long.
>>
>> Would it discomfort other users to change the way the procedure composes
>> the file name from the variable name?
>>
>> John
>>
>> John Sibert
>> Emeritus Researcher, SOEST
>> University of Hawaii at Manoa
>> Honolulu HI (GMT-10)
>> 808-294-3842 (mobile)
>>
>> Visit the ADMB projecthttp://admb-project.org/
>>
>> On 07/17/2014 06:03 PM, dave fournier wrote:
>>
>>>
>>> Almost anything might go wrong with lprof. It works by maximizing the
>>> log-likelihood subject to a constraint
>>> on the value of the variable being profiled. This process drags the
>>> values into what might be areas where the
>>> function becomes unstable in some way.
>>>
>>> Hard to say more about a particular case without seeing it
>>>
>>> Dave
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.admb-project.org/pipermail/users/attachments/20140720/4421efc8/attachment.html>
More information about the Users
mailing list