[ADMB Users] The benefits of ADMB
Laurie Kell
Laurie.Kell at iccat.int
Tue Feb 23 11:16:05 PST 2010
I think Arni´s idea is worth puruing and for a test dataset I recommend
that used in the Polacheck at al 1993 paper, this has data sets for rock
lobster, Namibian hake and albacore and I already have it in a file, I
can also generate data sets with known parameters for testing,
It would also be useful to compare the various Bayesian options
Laurie
Arni Magnusson wrote:
> Laurie raised a few points besides DLL compiling:
>
>> ... a worked example of an ADMB/R package with a discussion of
>> benefits would be useful eg. The benefits of using ADMB rather than R
>> non-linear solvers (e.g. optim/minpack.lm), the benefits of using R
>> for graphics, data-bases, and linking with other tools. Then a
>> discussion of object orientated programming in R, i.e. S4 classes and
>> FLR.
>>
>> I think a candidate for this example could be Pella-T example.
>
> The benefits of using ADMB rather than R nonlinear solvers like
> optim/minpack.lm are mainly speed, reliability, and built-in features
> like random effects and MCMC.
>
> Benchmark results like
> http://otter-rsch.ca/SchnuteRichardsOlsen1998.pdf,
> http://otter-rsch.com/admbre/examples/logistic/logistic.html, and
> http://otter-rsch.com/admbre/examples/sdv/sdv.html indicate that ADMB
> is faster than Gauss, Matlab, S-Plus, and BUGS. I agree with Laurie,
> that given the current variety of nonlinear solvers available in R, it
> would be interesting to benchmark them against ADMB using a
> Pella-Tomlinson model.
>
> If you want random effects and/or MCMC inside R, the functions are
> limiting compared to ADMB. R packages like nlme, lme4, MCMCglmm,
> MCMCpack, and mcmc are practical for many things, but can only express
> a small subset of the models that can be built with ADMB. I have found
> this especially true for models that are time-structured but not basic
> time-series models.
>
> R is excellent for many things, but there are some tasks that are
> better performed by more specialized software, like databases or
> spreadsheets, or a programming language with particularly strong
> support for specific tasks, like ADMB and Perl. Even expert R
> programmers recognize its limitations, and delegate some tasks to
> other languages, including C/C++/Fortran to crunch numbers, and Perl
> to build packages.
>
> If I was to do a Pella-Tomlinson assessment, I would probably start
> with a quick Excel prototype, to get some initial parameter values and
> to verify later that I get the same numbers in ADMB. Then I would
> write the model in ADMB (probably borrow from the existing pella-t.tpl
> example), diagnose and plot the model fit in R, run ADMB -mcmc,
> diagnose and plot the MCMC results in R, evaluate possible
> transformations and reparametrizations, and then plot and summarize
> the final results in R. Even though R is my preferred programming
> language, I would use Excel and ADMB for the things they do better.
> There are many other candidate tools, but these are the ones I would use.
>
> The benefits of ADMB become more important when dealing with models
> with hundreds of parameters and very large datasets.
>
> I have only used optim() and other nonlinear solvers in R to satisfy
> my curiosity, never for work. The approach is very similar to ADMB:
> prepare data objects, define parameters, make predictions, and
> evaluate the objective function. Even the code will look quite
> similar, but in my opinion I have a more reliable and versatile tool
> if I implement a model in ADMB.
>
> Of course, it would be nice to back up this opinion with a
> Pella-Tomlinson benchmark. To test the "reliable" part, we would need
> a difficult dataset with local minima. Does anyone know of a suitable
> dataset?
>
> Arni
>
> P.S. I'm looking forward to trying out the FLR
> (http://r-forge.r-project.org/R/?group_id=318) way to do
> Pella-Tomlinson and other assessment models. The FLash package is
> particularly interesting to ADMB users, as it implements automatic
> differentiation for other FLR packages using ADOL-C, although it
> appears not quite ready for testing. FLR is an ambitious project, and
> even if the S4 classes take some of the playfulness out of R, they're
> probably the best approach to manage a project of this scope.
>
>
More information about the Users
mailing list