180 likes | 204 Views
Learn about AD Model Builder for developing nonlinear models with efficient estimation of parameters using analytical derivatives and automated likelihood profiles. Enhance your modeling capabilities with ADMB.
E N D
PFRP An Introduction to AD Model Builder http://admb-project.org/
Instructors • Anders Nielsen (Technical University of Denmark, DTU-Aqua) • Johnoel Ancheta (Pelagic Fisheries Research Program, PFRP) • Mark Maunder (Inter-American Tropical Tuna Commission, IATTC)
Introduce yourself • Name • Organization • Main research
Questionnaire • What do you know • Remember to ask Participants about WinBUGs.
What is AD Model Builder • Tool for developing nonlinear models • Efficient estimation of model parameters • C++ libraries • Template
Simplifying the development of models • Removes the need to manage the interface between the model parameters and function minimizer. • The template makes it easy to input and output data from the model, set up the parameters to estimate, and set up objective function to optimize (minimize). • Adding additional estimable parameters or converting fixed parameters into estimable parameters is a simple process. • ADMB is very flexible as model code is in C++ • Experienced C++ programmers to create their own libraries
Efficient and stable function minimizer • Analytical derivatives • Adjoint code • Chain rule • More efficient and stable than other packages that use finite difference approximation. • Stepwise process to sequentially estimate the parameters • Bounds on all estimated parameters that restrict the range of possible parameter values.
MCMC algorithm for Bayesian integration • Starts at the mode of the posterior reduces the burn-in time. • Jumping rules based on the variance-covariance estimates at the mode of the posterior distribution
Automated likelihood profiles • Normal approximation of confidence intervals based on the Hessian matrix and derived quantities using the delta method • Automatically calculate likelihood profiles for model parameters and derived quantities producing asymmetrical confidence intervals
Random effects parameters • Random effects parameters implemented using Laplace’s approximation (and importance sampling) • Automatic analytical second derivatives. • Use for process error or meta analysis
Matrix algebra • Matrix algebra with associated precompiled adjoint code for derivative calculations • Can greatly reduce computation time and memory usage compared to loops
Other features • non-linear programming solver • numerical integration routine • random number generation • high dimensional and ragged arrays • estimation of the variance-covariance matrix • dynamic link libraries with other software products (e.g. s-plus, Excel, Visual Basic) • safe mode compiling for bounds checking • ability to make ADMB C++ libraries. • Parallel processing
What its good for: Highly parameterize nonlinear models • Thousands of parameters • Combining many data sets or analyses • General Models • Stock Synthesis (Rick Methot NMFS)
What its good for: Nonlinear models with large data sets • Integrating GLMs into nonlinear models
What its good for: Numerous optimizations of the objective function • Simulation analysis • Likelihood profiles • Bootstrap/cross validation • Model testing/sensitivity analysis • Management strategy evaluation • Numerical integration/simulated likelihood
What its good for: Nonlinear mixed effects models • Crossed random effects • Nonlinear state-space models.
The ADMB project • Make ADMB Free • Make ADMB open source • Develop ADMB • Facilitate the use of ADMB • Promote ADMB
Outline • Introduction • Installation • First example • Likelihood based inference • What happens internally • Parameter setup • Data input and outputting results • Simulation • Estimating uncertainty • Random effects • Summary