[ADMB Users] -lprof

dave fournier davef at otter-rsch.com
Sun Jul 20 14:25:44 PDT 2014


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
>>
>



More information about the Users mailing list