410 likes | 878 Views
Introduction to Stock Synthesis. Outline. Websites Why we need a general model AD Model Builder Stock Synthesis Specifications Using Stock Synthesis. Websites. AD Model Builder information http://admb-foundation.org/ Stock Synthesis II/III information http://nft.nefsc.noaa.gov/SS2.html
E N D
Outline • Websites • Why we need a general model • AD Model Builder • Stock Synthesis Specifications • Using Stock Synthesis
Websites • AD Model Builder information • http://admb-foundation.org/ • Stock Synthesis II/III information • http://nft.nefsc.noaa.gov/SS2.html • Stock assessment course • http://iattc.org/iattc-staffMMaunderCourses-taught.htm • All can be accessed from here • http://www.fisheriesstockassessment.com/
Why we need a new general model • Too many populations to assesses • Not enough qualified analysts • Common language • Current models are reaching their limitations • Fit to data
Common language • Facilitates discussions • Easier to review • use of SS2 in west coast STAR panel process and Pacific cod assessment • Comprehensive analysis and testing to develop best practices • Focuses development • Reduces duplication
Advantages of a general model • Less development time • Tested code • Familiarity • Diagnostics and output
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 also very flexible as model code is in C++ • Experienced C++ programmers to create their 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.
Other features • MCMC for Bayesian integration • Automated profile likelihoods • Random effects
What its good for: Highly parameterize nonlinear models • Large data sets • Hundreds of thousands of data points • Complex models • Thousands of parameters • Numerous optimizations of the objective function • Combining many data sets or analyses • General Models
Stock Synthesis Richard D. Methot NOAA Fisheries Seattle, WA
What is SS2/SS3 • A general statistical age-structured model programmed in AD Model Builder • Includes many types of data • Includes prior information • MLE or Bayesian context • Calculates uncertainty • Performs forward projections and MSY calculations
Main specifications • One or two sexes • One or more areas (movement and tagging data in SS3) • One or more seasons per year • Growth morphs • Environmental covariates for parameters • Popes approximation or Baranov catch equation
Initial conditions: two approaches • Fit to initial catch • Set initial equal to the catch in the first few years or to a guess of the catch in the years preceding the start of the model • Reduce parameters • Rather than use one parameter for each age • Don’t fit to initial catch • Use one fishery that catches small fish and one that catches large fish • Often the two approaches give the same results after the first few years
Recruitment S-R relationship: Beverton-Holt Ricker Environmental index: h’ is environmental index linkage parameter Vy is value of environmental index
Dynamics • Seasons, proportion natural mortality by length of season • Length based and age based selectivities • Retention curves to model discards
Natural mortality (has been modified to include more options)
Growth(has been modified to include more options) • Von Bertalanffy • Variation of length-at-age is normally distributed
Selectivity • Many different functional forms • Some non/semi parametric • Double normal most commonly used • See excel spread sheet
Data types • Abundance index • Catch-at-length • Catch-at-age • Aging error • Mean length-at-age • Mean body weight • Discards • Now tagging
Index of abundance Allows for a nonlinear (power) relationship Log-normal likelihood Can’t estimate standard deviation
Composition data (C@L and C@A) • Uses the multinomial distribution • Can be compressed at the tails • Can include aging error • Can be one sex, combined sex, or both sexes
Main files • Starter file (starter.ss) • Names of data and control files • Options for running the model • Data file (user defined name) • Dimensions (years, ages, fisheries, areas, seasons,…) • Data (catch, discards, indices, C@A, C@L, environmental indices, ….) • Control file (user defined name) • Parameter definitions • Likelihood control • Forecast file (forecast.ss) • Forecast definitions (years, harvest rates, MSY calculations, …)
User interface • See website
Results Excel workbook(R code also available, what is available for SS3) • Provides results • Graphs • Diagnostics • Management quantities and Projections
14 values for parameter estimation control • Smaller parameter definitions • Exponential offsets • Parameter modifications • Temporal deviates • Environmental variables • Time blocks • Growth morphs
Parameter estimation controls • Determines • Which parameters are estimated • Bounds and priors • Temporal variation • Covariates
Exponential offsets • Many of the parameters are based on exponential offsets from other parameters • P = Base*exp(offset) • if offset = 0 they are the same • P can’t go negative (assuming Base is not negative)
Temporal deviates • Like annual recruitment deviates • Log-normal with penalty applied
Environmental variables • Pt = base*exp(β*Xt)
Time blocks • Sets groups of years that have the same values for a parameter • The ways of defining it • 0: base * exp(blockparm) • 1: base + blockparm • 2: blockparm
Initial conditions: data file 42500 0 0 0 0 0 0 0 0 #_init_equil_catch_for_each_fishery
Initial conditions: Control file #_Spawner-Recruitment … -99 99 0.65 0 0 0 -1 # SR_sigmaR … -5 5 -1.41416 0 -1 0 1 # SR_R1_offset … 1977 # first year of main recr_devs; early devs can preceed this era … #_initial_F_parms #_LO HI INIT PRIOR PR_type SD PHASE 0 2 0.138176 0 -1 0 1 # InitF_1_Jan-May_Trawl_Fishery_ … 1 #_init_equ_catch lambda Note new controls in SS3 (more options) Note new controls in SS3 (turn on/off defaults)
Recruitment controls(see advanced options in SS3) • #_Spawner-Recruitment • 1 #_SR_function • #_LO HI INIT PRIOR PR_type SD PHASE • 12 16 13.245 0 -1 0 1 # SR_R0 • -99 99 1 0 0 0 -1 # SR_steep • -99 99 0.65 0 0 0 -1 # SR_sigmaR • -99 99 0 0 0 0 -1 # SR_envlink • -5 5 -1.41416 0 -1 0 1 # SR_R1_offset • -99 99 0 0 0 0 -1 # SR_autocorr • 1 #_SR_env_link • 2 #_SR_env_target_0=none;1=devs;_2=R0;_3=steepness • 1 #do_recdev: 0=none; 1=devvector; 2=simple deviations • 1977 # first year of main recr_devs; early devs can preceed this era • 2006 # last year of main recr_devs; forecast devs start in following year • 2 #_recdev phase