http://admb-project.org/ An Introduction to AD Model Builder Anders Nielsen Technical University of Denmark, DTU-Aqua Mark Maunder Inter-American Tropical Tuna Commission 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 because model code is in C++ • Can create your 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 variancecovariance 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, state space models, 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. splus, 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 What its good for: Numerous optimizations of the objective function • • • • • Simulation analysis Likelihood profiles Bootstrap/cross validation Model testing/sensitivity analysis Management strategy evaluation What its good for: Nonlinear mixed effects models • Crossed random effects • Nonlinear state-space models. Outline Overview 9:00-10:30 Introduction, installation, and simple example Modeling and likelihood Example: Least squares regression Exercise: Create your own simple example: estimate the mean and variance using a likelihood function Uncertainty 11:00-12:30 Delta method, Profile likelihood, and MCMC Example: Beverton-Holt recruitment model Exercise: Beverton-Holt recruitment model comparing sequential Bayesian versus integrated analyses. Input, output, and model control Data input, parameter control, and outputting results Example: Plankton sampler Exercise: Adding an additional covariate to the model 13.30-15.00 Random effects (hierarchical) models: Frequentist and Bayesian 15.30-17:00 Laplace approximation in ADMB. Example: State-space model with Poisson observations. Exercise: Convert a WinBUGS example to ADMB Instalation • Who has successfully installed ADMB
© Copyright 2026 Paperzz