AD Model Builder Workshop

7-10(11) December 1998

Marine and Freshwater Resources Institute
PO Box 114 Queenscliff Victoria 3225 Australia
For details about availability and accommodation contact
Terry Walker
Acting Manager, Marine Fisheries Division
Tel: +61-3-5258 0111 (Institute switchboard)
Tel: +61-3-5258 0251 (Direct dial)
Fax: +61-3-5258 0270

Purpose of Worskshop

The main thrust of the workshop is to enable the participants to learn how to build nonlinear statistical modeling software with AD Model Builder and to understand the results from the subsequent analysis. Depending on the background of the participants it may be necessary to spend more or less time to introduce some more basic statistical concepts and discuss computer languages and language contructs a bit.

Also depending on the participants it may possible to arrange to discuss some more advanced concepts for more experienced users of ADMB to keep them amused.

What do you need?

Hands on experience (doing it yourself will be provided). There will be a number of computers available (ask Terry), but you may want to bring you own computer. It will be necessary to install a C++ compiler (provided) and the ADMB software which is provided for the duration of the course (You are supposed to buy it if you wish to keep using it after the course.)

Otherwise it is useful to know something about programming languages for computers (loops, conditional expressions, etc.) as well as some C language syntax, but this is not essential as we will discuss these things as we go along.

Cost of Worskshop


You are responsible for your own accommodation, grog etc.

Tentative List of Topics

  1. A very short intoduction to statistical models?
    • What are linear models? nonlinear models?
    • Why do we need to use nonlinear models instead of linear ones.
    • Why are nonlinear ones more difficult than linear ones.
    • How ADMB is intended to make nonlinear models easy to use.
    • Robustness and nonlinearity in statistical models.
  2. Simple programming concepts.
  3. Practical problems in fitting nonlinear statistical models.
    • You can't get there from here. Modifying the objective function to enable the minimization routine to find the minimum.
    • Doing the minimization in stages.
    • Putting bounds on parameters.
  4. What is AD Model builder?
    • A framework for building nonlinear statistical models.
    • An environment for structuring the code correctly.
    • A metaphor to induce the user to think about the model correctly.
    • A set of technical tools to find the parameter estimates and to interpret the results.
  5. Description of the basic ADMB framework.
    • The template (TPL) file.
    • The sections of the TPL file.
    • A simple model with data, parameters, and fitting criterion.
    • A simple linear regression model.
    • Comparison with a simple nonlinear model.
    • Manipulation of the nonlinear model to produce convergence.
    • USE of LOCAL_CALCS to perform calculations in the DATA and PARAMETER sections.
  6. Description of the ADMB data types.
    • effect of the init_ prefix
    • meanings of number int vector matrix 3darray 4darray ...
    • relationship to ADMB types to the underlying AUTODIF types.
  7. Automatic differentiation, adjoint code, derivatives and the minimization of functions of many parameters.
    • Why do I need to know this?
    • The concept of constant and variable types in AUTODIF and ADMB.
  8. Managing model complexity by using higher dimensional dynamically defined data structures.
    • The use of ragged objects (non flat data structures)
  9. A more complicated model (perhaps catch-at-age fisheries model) to use as an example for more advanced topics. Use this model to ilustrate:
    • carrying out the minimization in a number of phases.
    • Modification of the objective function to obtain convergence.
    • discussion of input and output files.
    • the use of command line arguments to control model behaviour.
  10. Statistical interpretation of the results of the analysis.
    • The SDREPORT type
    • The LIKEPROF type
    • Computing the inverse of the hessian and the delta method.
    • The profile likelihood routine.
    • The Markov chain Monte Carlo routine.
    • Non informative priors on what? The effect of reparameterizing the model.
  11. A review of all the SECTIONS and SUBSECTIONS (that exist at present) in ADMB.
  12. Analysis of simulated data.
    • Why use simulated data?
    • Resampling.
    • Using the ADMB program to simulate data.
    • How to automate the process.
  13. Debugging ADMB programs.
    • description of the process TPL => CPP error messages
    • description of the process CPP => OBJ error messages
    • description of the process OBJ => EXE error messages
    • Using the safe and optimized libraries. walking out of arrays.
  14. Examples of ADMB programs of interest to the participants.
    • Extensions of age structured fisheries models.
    • Use of robust estimation techniques.
    • Spatially disaggregated models. (Use of tagging data).
    • Do we need age data? Alternatives.
    • Concepts from stuctural time series methods or
    • using state space concepts without realizing it.
  15. More advanced programming techniques.
    • what is the scope of an ADMB object?
    • The use of "local" variables in ADMB programs.
  16. Other topics in no particular order:
    • Installing the software and getting it running.
    • "One click" production of DLL's to call from SPLUS or Visual Basic or Excel or JAVA.
    • Workshop participants create and discuss their own models.
    • The use of other C++ libraries in ADMB.
    • Practical problems in creating really big models. Managing the ADMB temporary files.