[ADMB Users] very small number math

Fowler, Mark Mark.Fowler at dfo-mpo.gc.ca
Mon Mar 11 12:24:35 PDT 2013


Thank you, Rick. I've never even considered what BETWEEN_PHASES might be
used for. The F loops already correspond to your suggestions, typically
2-3 iterations each. I'll take your advice, don't really need to
maintain equivalence to the other models in this respect at this point.
But I'll try just doing the F estimation BETWEEN_PHASES without
parameterizing them first to see if that solves the problem. 

 

Mark Fowler 
Population Ecology Division 
Bedford Inst of Oceanography 
Dept Fisheries & Oceans 
Dartmouth NS Canada 
B2Y 4A2 
Tel. (902) 426-3529 
Fax (902) 426-9710 
Email Mark.Fowler at dfo-mpo.gc.ca 
Home Tel. (902) 461-0708 
Home Email mark.fowler at ns.sympatico.ca 

From: Richard Methot - NOAA Federal [mailto:richard.methot at noaa.gov] 
Sent: March 11, 2013 3:43 PM
To: Fowler, Mark
Cc: dave fournier; users at admb-project.org
Subject: Re: [ADMB Users] very small number math

 

Mark,

 

The approach I take for stable estimation of F rates is to use a
well-defined starting point for the search and to search over a fixed
number of iterations.  In particular, I get the starting point from
Pope's approximation to calculate an exploitation rate (for each fleet
relative to the mid-year available biomass for that fleet); then convert
these U's into an approximation for each F, then tune these F's over a
fixed number of iterations.  This converges well enough with just 4
iterations even with multiple fleets.  The trick to rapid convergence is
to base the updated F values based on the anticipated total Z after
adjusting the Fs, not the current total Z.  Note that this is in a
separable model, so it is looking for the F that matches catch biomass
conditioned on a set of selectivity parameters.

 

This approach leads to very steep gradients for other parameters when F
is high and the catch data is considered to be precise, so convergence
of the overall model is slow because the model is constantly maintaining
a good fit to the catch data.  For these cases, I find it useful to
switch over (during BETWEEN_PHASES)  to treating the F's as ADMB model
parameters, rather than as a set of scaling factors to match the catch.
When treating the F's as parameters, the model tends to wait until the
last iterations to get a good fit to the catches.

 

Overall, I find that the variance on other model outputs (such as final
population biomass) is rather insensitive to F as coefficient vs. F as
parameter, but haven't tested this in high F situations.

 

Rick

 

On Mon, Mar 11, 2013 at 10:35 AM, Fowler, Mark
<Mark.Fowler at dfo-mpo.gc.ca> wrote:

Yes, and I use epsilon for proper parameters. The situation I'm
addressing is 'non-ADMB' iterative mortality (F) estimates. These are
just loop functions to estimate F's to create population and mortality
matrices. Obviously candidates as parameters, but I needed to keep them
as originally written. I was translating a particular type of VPA
written in a language called ACON to R and ADMB. Only the reference year
abundances are estimated with a serious optimizing function in the
original model (to reasonably estimate catchabilities).  Initially this
served for truthing until I finished the translations. Hence the issue
of dealing with extremely small values are the profusion of F loops. And
I'm doing these in an equivalent manner to your suggestion, I just don't
use epsilon per se because I like to restrict it to parameters.

I've since been keeping the loops while comparing vulnerabilities to
local minima across the three programs, so only the reference year
abundances are optimized directly. Both optim and the ACON optimizer
(NLLS) clearly work left to right on parameter sets. The optim function
gets trapped in local minima with high uninformative constants for
priors on a vector that grades high to low. Starting left-most they go
up, which is correct relative to numbers to the right but wrong in
absolute terms. NLLS starts out similarly (run with few iterations you
get the same answer) but doesn't stay there, so maybe breaks the
left-to-right rule at some point to explore the range, or has some
threshold point at which it gives up on the first parameter. So far I'm
stymied with ADMB. I'm thinking maybe the F estimations confound
tracking of gradients?


>       Mark Fowler
                Population Ecology Division
>       Bedford Inst of Oceanography
>       Dept Fisheries & Oceans
>       Dartmouth NS Canada
                B2Y 4A2
                Tel. (902) 426-3529 <tel:%28902%29%20426-3529> 
                Fax (902) 426-9710 <tel:%28902%29%20426-9710> 
                Email Mark.Fowler at dfo-mpo.gc.ca
                Home Tel. (902) 461-0708 <tel:%28902%29%20461-0708> 
                Home Email mark.fowler at ns.sympatico.ca



-----Original Message-----
From: users-bounces at admb-project.org
[mailto:users-bounces at admb-project.org] On Behalf Of dave fournier
Sent: March 8, 2013 11:52 AM
To: users at admb-project.org
Subject: Re: [ADMB Users] very small number math

This is proabably a good use of phases. In the early phase you add
something

like

                        x/(eps+y)

and let eps get smaller or 0 in a later phase.
_______________________________________________
Users mailing list
Users at admb-project.org
http://lists.admb-project.org/mailman/listinfo/users
_______________________________________________
Users mailing list
Users at admb-project.org
http://lists.admb-project.org/mailman/listinfo/users





 

-- 
Richard D. Methot Jr. Ph.D.
NOAA Fisheries - Science Advisor for Stock Assessments

Office: 206-860-3365
Mobile: 301-787-0241

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.admb-project.org/pipermail/users/attachments/20130311/741276fa/attachment.html>


More information about the Users mailing list