FISH 559 Description
Fish are like trees, except they are invisible and they move: John Shepherd Most fisheries and other wildlife professionals who are tasked with providing scientific advice to decision makers often find existing software tools insufficient for their needs, requiring the development of purpose-built computer programs. The primary bases for quantitative scientific advice are the results of statistical analyses and model-fitting exercises. The objective of this course is to expose students who have taken courses in mathematical modeling and statistical model fitting to  numerical methods.

The course focuses on developing, parameterizing and fitting population dynamics models. Examples and lectures cover age-aggregated models, age-structured models, and size-structured models. These types of models form the basis for population model-based stock assessments of fish and invertebrate stocks and are core to the methods of stock assessment applied in the US.

Modeling environments such as EXCELTM and Visual BasicTM are sufficient for conducting several types of analyses, but more powerful techniques are often needed to solve research questions. The focus of this course will be on fisheries applications, but the models and techniques to be covered are broadly
applicable in quantitative conservation biology. 

The course is based on four major themes:
  • how to use R to perform numerical analyses;
  • how to use Template Model Builder (TMB)TM to fit models to data;
  • how to use BUGS to implement Bayesian hierarchical models; and
  • standard numerical techniques.
The TMB component of the course will introduce students to how to write  TMB programs to minimize multiparameter non-linear functions, in particular, likelihood functions. It will also outline how to use TMB to compute likelihood profiles and Bayesian posterior distributions for model parameters and model outputs. The examples will be based on fitting exponential growth, age-structured and size-structured model.

The numerical methods section of the course will introduce students to numerical differentiation and integration, interpolation and how to generate random numbers.

The R component of the course will focus on how to use R to implement the numerical methods covered during the course, as well as how to use R when fitting models using ADMB.

The BUGS component of the course will introduce students to the use of the BUGS packages. .

Numerical techniques should not be applied "cookbook" style. It is necessary to understand the mathematical basis for the technique. Furthermore, numerical techniques frequently involve expert judgment regarding choices (e.g. for tolerances, initial values). The best way to learn a numerical technique therefore involves knowing its theoretical basis and spending time practicing it. This course will attempt to cover both aspects.