请输入您要查询的百科知识:

 

词条 ADMB
释义

  1. Features and use

  2. History and background

      Implementation    Otter Research    ADMB Project  

  3. See also

  4. References

  5. External links

{{Infobox programming language
| name = ADMB
| logo = ADMB logo.jpg
| paradigm =
| designer = David Fournier
| developer = ADMB Core Team
| typing =
| implementations =
| dialects = C++
| influenced =
| license = BSD
| website = {{URL|http://admb-project.org/}}
| year =
| latest_release_version = 12.0[1]
| latest_release_date = {{Start date and age|2017|12|21|df=yes}}
| latest_test_version =
| latest_test_date =
| influenced_by =
| operating_system = Cross-platform
}}ADMB or AD Model Builder is a free and open source software suite for non-linear statistical modeling.[2][3] It was created by David Fournier and now being developed by the ADMB Project, a creation of the non-profit ADMB Foundation. The "AD" in AD Model Builder refers to the automatic differentiation capabilities that come from the AUTODIF Library, a C++ language extension also created by David Fournier, which implements reverse mode automatic differentiation.[4] A related software package, ADMB-RE, provides additional support for modeling random effects.[5]

Features and use

Markov chain Monte Carlo methods are integrated into the ADMB software, making it useful for Bayesian modeling.[6] In addition to Bayesian hierarchical models, ADMB provides support for modeling random effects in a frequentist framework using Laplace approximation and importance sampling.[5]

ADMB is widely used by scientists in academic institutions, government agencies, and international commissions,[7] most commonly for ecological modeling. In particular, many fisheries stock assessment models have been built using this software.[8] ADMB is freely available under the New BSD License,[9]

with versions available for Windows, Linux, Mac OS X, and OpenSolaris operating systems.[9] Source code for ADMB was made publicly available in March 2009.[10]

[11]

History and background

Implementation

Work by David Fournier in the 1970s on development of highly parameterized

integrated statistical models in fisheries motivated the

development of the AUTODIF Library, and ultimately ADMB.

The likelihood equations

in these models are typically non-linear and estimates of the

parameters are

obtained by numerical methods.

Early in Fournier's work, it became clear that general numerical

solutions to these likelihood problems could only be reliably

achieved using function minimization algorithms that

incorporate accurate information about the gradients of the likelihood

surface. Computing the gradients (i.e. partial derivatives

of the likelihood with respect to all model variables) must also be done with

the same accuracy as the likelihood computation itself.

Fournier developed a protocol for writing code to compute the required

derivatives based on the chain rule of differential calculus. This

protocol is very similar to the suite of methods that came to be known

as ``reverse mode automatic differentiation

.[12]

The statistical models using these methods

[13][14][15][16]

typically included eight constituent code segments:

  1. the objective function;
  2. adjoint code to compute the partial derivatives of the objective function with respect to the parameters to be estimated;
  3. dedicated memory to contain intermediate data for derivative computations, known as the "gradient stack", and the software to manage it;
  4. a function minimizer;
  5. an algorithm to check that the derivatives are correct with respect to finite difference approximations;
  6. an algorithm to insert model parameters into a vector that can be manipulated by the function minimizer and the corresponding derivative code;
  7. an algorithm to return the parameter values to the likelihood computation and the corresponding derivative code; and
  8. an algorithm to compute the second partial derivatives of the objective unction with respect to the parameters to be estimated, the Hessian matrix.

Model developers are usually only interested in the first of these

constituents. Any programming tools that can reduce the overhead of

developing and maintaining the other seven will greatly increase their

productivity.

Bjarne Stroustrup began development of C++ in the 1970s at Bell Labs as an

enhancement to the C programming language. C++ spread widely, and by

1989, C++ compilers were available for personal computers.

The polymorphism of C++ makes it possible to envisage a programming

system in which all mathematical operators and functions can be

overloaded to automatically compute the derivative contributions of

every differentiable numerical operation in any computer program.

Otter Research

Fournier formed Otter Research Ltd. in 1989, and

by 1990 the AUTODIF Library included special classes for derivative computation and

the requisite overloaded functions for all C++ operators and

all functions in the standard C++ math library.

The AUTODIF Library automatically computes the derivatives of the objective function

with the same accuracy as the objective function itself and thereby

frees the developer from the onerous task of writing

and maintaining derivative code for statistical models.

Equally important from the standpoint of model development,

the AUTODIF Library includes a "gradient stack",

a quasi-Newton function minimizer, a derivative checker, and

container classes for vectors and matrices.

The first application of the AUTODIF Library was published in 1992

[17]

The AUTODIF Library does not, however, completely liberate the developer from

writing all of the model constituents listed above. In 1993, Fournier further

abstracted the writing of statistical models by creating ADMB, a special

"template" language to simplify model specification by

creating the tools to

transform models written using the templates into the AUTODIF Library

applications. ADMB produces code to manage the exchange of model

parameters between the model and the function minimizer,

automatically computes the Hessian matrix and inverts it to provide

an estimate the covariance of the estimated parameters. ADMB thus

completes the liberation of the model developer from all of the tedious

overhead of managing non-linear optimization, thereby freeing him or her to

focus on the more interesting aspects of the statistical model.

By the mid-1990s, ADMB had earned acceptance by researchers working on

all aspects of resource management. Population models based on the

ADMB are used to monitor a range of both endangered

species and commercially valuable fish populations including

whales, dolphins,

sea lions, penguins, albatross, abalone, lobsters, tunas, marlins,

sharks, rays, anchovy, and pollock. ADMB has also been

used to reconstruct movements of many species of animals tracked with

electronic tags.

In 2002, Fournier teamed up with Hans Skaug to introduce random

effects into ADMB. This

development included automatic computation of second and third

derivatives and the use of forward mode automatic differentiation followed by

two sweeps of reverse model AD in certain cases.

ADMB Project

In 2007, a group of ADMB users that included John Sibert, Mark

Maunder and Anders Nielsen became concerned about ADMB's long-term

development and maintenance. An agreement was reached with

Otter Research to sell the copyright to ADMB for the purpose of

making ADMB an open-source project and distributing it without

charge. The non-profit ADMB Foundation was created

to coordinate development and promote use of ADMB.

The ADMB Foundation drafted a proposal to the Gordon and Betty Moore

Foundation for the funds to purchase ADMB from Otter Research.

The Moore Foundation provided a grant to

the National Center of Ecological Analysis and Synthesis

at the University of California at Santa Barbara

in late 2007 so that the Regents of the University of California could

purchase the rights to ADMB.

The purchase was completed in mid-2008, and the complete ADMB libraries were posted

on the ADMB Project website in December 2008. By May 2009, more

than 3000 downloads of the libraries had occurred. The

source code was made available in December 2009. In mid-2010,

ADMB was supported on all common operating systems (Windows,

Linux, MacOS and Sun/SPARC), for all common C++ compilers

(GCC, Visual Studio, Borland), and for both 32 and 64 bit

architectures.

ADMB Foundation efforts during the first two years of the ADMB

Project have focused on

automating the building of ADMB for different platforms,

streamlining installation, and creation of

a user-friendly working environments. Planned technical

developments

include parallelization of internal computations,

implementation of hybrid MCMC, and improvement of the large sparse matrix

for use in random effects models.

See also

{{Portal|Free and open-source software}}
  • List of statistical packages
  • List of numerical analysis software
  • Comparison of numerical analysis software

References

1. ^ 
2. ^{{cite web | title = admb-project | publisher = ADMB Project | url = https://code.google.com/p/admb-project/ | accessdate = 2009-04-01| archiveurl= https://web.archive.org/web/20090303132743/https://code.google.com/p/admb-project/| archivedate= 3 March 2009 | deadurl= no}}
3. ^Fournier, D.A., H.J. Skaug, J. Ancheta, J. Ianelli, A. Magnusson, M.N. Maunder, A. Nielsen, and J. Sibert. 2012. AD Model Builder: using automatic differentiation for statistical inference of highly parameterized complex nonlinear models. Optim. Methods Softw. 27:233-249
4. ^{{cite web | title = AUTODIF: A C++ Array Language Extension with Automatic Differentiation For Use in Nonlinear Modeling and Statistics | publisher = ADMB Project | url = http://admb-project.googlecode.com/files/autodif.pdf | accessdate = 2008-12-03 | archive-url = https://web.archive.org/web/20110711111457/http://admb-project.googlecode.com/files/autodif.pdf | archive-date = 2011-07-11 | dead-url = yes | df = }}
5. ^{{cite web | title = Random effects in AD Model Builder: ADMB-RE user guide | publisher = ADMB Project | url = http://admb-project.googlecode.com/files/admb-re.pdf | accessdate = 2008-12-03 | archive-url = https://web.archive.org/web/20110711111618/http://admb-project.googlecode.com/files/admb-re.pdf | archive-date = 2011-07-11 | dead-url = yes | df = }}
6. ^{{cite web | title = An Introduction to AD Model Builder Version 9.0.0 | publisher = ADMB Project | url = http://admb-project.googlecode.com/files/admb.pdf | accessdate = 2008-12-03 | archive-url = https://web.archive.org/web/20110104180301/http://admb-project.googlecode.com/files/admb.pdf | archive-date = 2011-01-04 | dead-url = yes | df = }}
7. ^{{cite web |url = http://admb-project.org/community/user-base |publisher = ADMB Project |title = ADMB User Base and Major Applications |accessdate = 2008-12-02 |archive-url = https://web.archive.org/web/20110724224347/http://admb-project.org/community/user-base |archive-date = 2011-07-24 |dead-url = yes |df = }}
8. ^{{cite web |url = http://admb-project.org/community/bibliography/stock-assessments |publisher = ADMB Project |title = Bibliography: Stock assessments |accessdate = 2008-12-03 |archive-url = https://archive.is/20130226034837/http://admb-project.org/community/bibliography/stock-assessments |archive-date = 2013-02-26 |dead-url = yes |df = }}
9. ^{{cite web | url=http://admb-project.org/downloads | publisher=ADMB Project | title=ADMB Downloads | accessdate=2010-07-28}}
10. ^{{cite web | url=http://www.ia.ucsb.edu/pa/display.aspx?pkey=1896 | publisher=University of California, Santa Barbara | title=UCSB Press Release: "Fisheries Stock Assessment Software Now Publicly Accessible" | accessdate=2008-12-09}}
11. ^{{cite web |url = http://admb-project.org/news/admb-source-code-available |publisher = ADMB Project |title = ADMB Source Code Available |accessdate = 2009-05-14 |archive-url = https://web.archive.org/web/20100418194627/http://admb-project.org/news/admb-source-code-available |archive-date = 2010-04-18 |dead-url = yes |df = }}
12. ^A. Griewank and G. F.Corliss (eds). Automatic differentiation of algorithms: theory, implementation, and application.` Society of Industrial and Applied Mathematics. 1992.
13. ^D. Fournier and I. Doonan.A length-based stock assessment method utilizing a generalized delay-difference model.Canadian Journal of Fisheries and Aquatic Sciences, 44(2):422--437, 1987.
14. ^D. Fournier and A. Warburton.Evaluating fisheries management models by simulated adaptive control-introducing the composite model.Canadian Journal of Fisheries and Aquatic Sciences. 46(6):1002--1012, 1989.
15. ^D. Fournier, J. Sibert, J. Majkowski, and J. Hampton.MULTIFAN a likelihood-based method for estimating growth parameters and age composition from multiple length frequency data sets illustrated using data for southern bluefin tuna (Thunnus maccoyii).Canadian Journal of Fisheries and Aquatic Sciences, 47(2):301--317, 1990.
16. ^J. Sibert, J. Hampton, D. Fournier, and P. Bills.An advection-diffusion-reaction model for the estimation of fishmovement parameters from tagging data, with application to skipjack tuna (Katsuwonus pelamis).Canadian Journal of Fisheries and Aquatic Sciences, 56(6):925--938, 1999.
17. ^K. N. Holland, R. Brill, R. Chang, J. Sibert, and D. Fournier.Physiological and behavioural thermogregulation in bigeye tuna (Thunnus obesus). Nature, 358:410--412, 1992.

External links

  • The ADMB Project
  • The ADMB Foundation
  • Otter Research Ltd, the company which produced ADMB prior to the ADMB Foundation
  • [https://code.google.com/p/admb-project/ Google Code site for ADMB]
{{Numerical analysis software}}{{Statistical software}}{{DEFAULTSORT:Admb}}

6 : Array programming languages|Cross-platform free software|Free statistical software|Numerical analysis software for Linux|Numerical programming languages|Statistical programming languages

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/21 16:24:35