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.htmlGauss 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.
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. Updated November 2006 © Otter Research Ltd.
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
P.O. Box 2040
Sidney, B.C., V8L 3S3
Canada
Phone : 250-655-3364
Fax: 250-655-3364
E-mail: otter@otter-rsch.com