star.gif (89 bytes) HOME star.gif (89 bytes) ADMB HOME star.gif (89 bytes) ADMB WORKSHOPS

Comparison between AD Model Builder and other statistical modeling packages

Description of the fisheries model test

The performance test described here were performed by independent (that is independent of Otter Research Ltd.) researchers Jon Schnute and Norm Olsen at the Pacific Biological Station in Nanaimo, British Columbia.

To compare the performance of AD Model Builder with other statistical modeling packages a "typical" fisheries management model was chosen. This is a catch-at-age model which is described in the PDF file Schnute et al (1998). It is similar to the CATAGE example described in the AD Model Builder documentation. For the runs done here the model had 100 parameters. The model was coded in AD Model Builder, Gauss, Matlab, and S-plus. All versions were given the same initial starting values for the parameters and the various optimization schemes were run until convergence. The S-plus version crashed due to lack of memory (this is apparently due to either a memory leak in S-plus or inefficient garbage collection). For the Gauss runs the Gauss optimization toolkit solver, Optmum, was employed. For MATLAB runs the optimization toolkit solver, Fminu, was employed.

Modeling Package msec/function call number of function calls time to converge
AD Model Builder 131 291 38 seconds
Gauss 167 23,365 1.08 hours
Matlab 639 18,360 3.25 hours
S-plus n/a n/a n/a

These results were presented in a paper presented by Jon Schnute at the 15th Lowell Wakefield Fisheries Symposiumi, Anchorage, October 8-11, 1997--> Code for these models was written by Norm Olsen.

(2) 15th Lowell Wakefield Fisheries Symposium, Anchorage, October 8-11, 1997 http://seagrant.uaf.edu/conferences/archives.html

Gauss and MATLAB perform many more function evaluations than AD Model Builder because they estimate the derivatives by finite differences. In contrast AD Model Builder can compute exact values for the derivatives at the same time as it evaluates the function and this extra computation requires only about 4 times as much time as it takes to calculate the function itself. Even with this extra overhead for derivative calculation, AD Model Builder was still slightly faster per function evaluation than Gauss. This speed reflects the efficiency of compiled C++ code.

New! Comparison of AD Model builder and R.

Modeling Package msec/function call number of function calls time to converge function value
AD Model Builder 10.79 278 3 seconds 3718.693119
R 33.17 56074 31 minutes 3717.469
R 33.81 165,000 93 minutes 3718.693119

We stopped the R code after about 31 minutes to compare the parameter estimates. the objective function was still far 3717.469 from the optimal value of 3718.693. At least one of the parameters, gamma, at 0.61 was far from its optimzing value of 0.42 We then set the R model to run "forever" to see how long it would take to converge to the true values.

The code and simulated data for running the R and AD Model Builder versions of the model can be downloaded HERE The AD Model Builder exe is for windows but a linux version is available as well.

Schnute, Jon, T., and Laura J. Richards. The influence of error on population estimates from catch-age models. Can. J. Fish. Aquat. Sci. 52: 2063-2077 (1995).



Otter Research Ltd.
P.O. Box 2040
Sidney, B.C., V8L 3S3
Canada
Phone : 250-655-3364
Fax: 250-655-3364
E-mail: otter@otter-rsch.com

Updated November 2006

© Otter Research Ltd.