1a Introduction

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