150 likes | 155 Views
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
E N D
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 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, 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. 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
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 13.30-15.00 Data input, parameter control, and outputting results Example: Plankton sampler Exercise: Adding an additional covariate to the model 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