[ADMB Users] an alternative to R for nonlinear stat models

Arni Magnusson arnima at hafro.is
Wed Jun 16 11:39:23 PDT 2010


As far as I can tell, Gove et al. (2002) might be a good example for 
benchmarking the optimization performance of R vs. ADMB. It would be great 
if expert R users/developers could tweak Beni's model so that the 
performance comparison is valid.

The main purpose is not to see which is faster or more reliable, but to 
quantify how much performance is gained by moving from R to ADMB.

I have just typed and uploaded an excerpt from an old but thorough 
benchmark, where ADMB outperformed Gauss, Matlab, and S-Plus 
(http://admb-project.org/community/benchmarks/optimization). The benchmark 
was performed in 1997 and an update would be very valuable, as software 
and hardware have improved since then.

R is an interpreted language that can do just about anything. ADMB is a 
compiled language (thin layer on top of C++) that does optimization and 
nothing else. I don't think it is a realistic goal for R to match the 
optimizing performance of ADMB. I use R for most of my work, but crunch 
numbers with ADMB when computational speed and flexibility become an 
issue.

As an analogy, data frames in R are great, along with functions like 
aggregate(), apply(), merge(), and xtabs(). But when the tables are too 
large and too many, it's time to delegate the problem to a relational 
database.

In the case of model X, which is already implemented in R, it may take 
half an hour or half a month to convert it to ADMB, and the payoff depends 
on how often the model needs to be run. In the case of model Y, which is 
not yet implemented, some users may be quicker to implement it in R than 
in ADMB, so again it would be good to have an idea about the relative 
performance gain. Model Z may not run at all in R, due to its size and 
complexity.

Although I started this email with "R vs. ADMB", my daily working 
environment is better described as "R and ADMB". I'm a regular contributor 
to both R (4 packages and a couple of functions in the base packages) and 
ADMB (dev core team). Others have contributed R packages to interface with 
ADMB 
(http://admb-project.org/community/admb-meeting-march-29-31/InterfacingADMBwithR.pdf/at_download/file), 
but for many the interface is just reading and writing text files.

I fully appreciate the comfort and efficiency of the R working 
environment, and the benefits of performing most tasks inside the same 
environment. But the R community has no need to be on the defense against 
ADMB, any more than against relational databases. If you work with 
computationally intensive models, I encourage you to try out ADMB 
(admb-project.org, free software) and hopefully end up contributing ideas 
and/or code.

Best regards,

Arni


P.S. Phew. Future emails mentioning ADMB on r-help can be more brief and 
to the point, citing this message for details.


Windows ADMB-IDE installer
http://code.google.com/p/admb-project/downloads/list?q=ide*exe

Windows, Linux, and Mac OS standalone
http://code.google.com/p/admb-project/downloads/list?q=windows
http://code.google.com/p/admb-project/downloads/list?q=linux
http://code.google.com/p/admb-project/downloads/list?q=macos

ADMB modes for various editors, including Emacs and Vim
http://admb-project.org/community/editing-tools



More information about the Users mailing list