schnute_obserror: Prepare an object for Schnute Adapted Observation Error Model...

Description Usage Arguments Details Value Examples

View source: R/schnute_obserror.R

Description

Create an object with TMB framework, including data, gradients and NLL function for a Schnute adapted observation error assessment that can be optimised.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
schnute_obserror(
  version = 2,
  catch_b,
  indices_b,
  ts,
  mwts,
  tsp = 0,
  rho,
  W,
  ind_l_wt = 1,
  start_q = 1e-08,
  start_indexsigma = 0.1,
  start_B0,
  start_sigma = exp(-0.2),
  start_f_calc = 0.3,
  start_rec_a,
  start_rec_b,
  spawn_prop = 1,
  start_catchsigma = 0.1,
  fix_sigma = TRUE,
  fix_B0 = FALSE,
  fix_indexsigma = FALSE,
  fix_catchsigma = TRUE,
  adrep = FALSE
)

Arguments

version

numeric, either 1, 2 or 3. This controls what deterministic equations in the model are used to derive population biomass. 1 and 2 use the fraction of of total biomass in a given year due to newly recruited fish. This fraction is derived from mean weights and detailed in the schnute vignette. version = 3 is the more classical population dynamics.

1 whole biomass derived from recruit biomass
2 whole biomass derived from previously exploited biomass
3 whole biomass is a combination of recruit biomass and previously exploited biomass
catch_b

numeric vector of catch biomass over time period of assessment

indices_b

matrix of biomass surveys (CPUE) of dimensions: no. of surveys x no.years

ts

numeric. Survey timing parameters

mwts

matrix of mean weights from sampling with dimensions: 3 x no. years. recruit mean weights \bar{Y} (first row), previously exploited biomass mean weights \bar{Z} (second row) and entire assessed biomass mean weight \bar{X} (third row).

tsp

numeric. Timing of spawning. Default to 0 (start of year).

rho

numeric. Growth parameter, slope of linear growth model.

W

numeric. Growth parameter, intercept of linear growth model.

ind_l_wt

numeric. Survey weighting in the likelihood. Defaults to 1 fro each survey, ie.e. equal weighting

start_q

Starting values for survey catchability parameters. Default is 1e-6

start_indexsigma

Starting values for survey sd parameters. Default is 0.1

start_B0

Starting parameter value for biomass at first time step. Default is 5*max(catch_b)

start_sigma

Starting parameter value fraction of population that survives natural moratlity. Default is e^{0.2}

start_f_calc

Starting parameter values for estimated fishing mortality. Default is 0.3.

start_rec_a

Starting parameter value for the 'a' parameter of the Beverton-Holt stock-recruit function. The asymptotic biomass of recruits. Default is 1/5*max(catch_b).

start_rec_b

Starting parameter value for the 'b' parameter of the Beverton-Holt stock-recruit function. The spawning stock biomass needed to produce a/2 on average. Default is 4*max(catch_b).

spawn_prop

proportion of biomass that is mature. Defaults to 1 for each year.

start_catchsigma

Starting parameter value for catch sd. Default is 0.1

fix_sigma

logical. logical. Should survival be fixed in the model

fix_B0

logical. Should biomass in the first time step be fixed in the model

fix_indexsigma

logical. Should survey standard deviation be fixed in the model

fix_catchsigma

logical. Should catch standard deviation be fixed in the model

adrep

logical. Whether the user would like the ADreport variables (and their derivatives) reported for starting parameters.

Details

schnute_obserror is simply a wrapper function that gives the output from MakeADFun from TMB, i.e. an objective function with derivatives, hessian etc. Otimisation and extraction of values from the assessment models has been kept separate to allow flexibility with optimisation methods as well as easy access to MakeADFun outputs such as the hessian, gradients etc. See http://kaskr.github.io/adcomp/_book/Introduction.html and TMB documentation for details. Users should refer to the sbar vignette by running vignette("intro_to_sbar", "sbar") for details on the schnute_obserror function.

The table below gives the outputs and description of the values that can be extracted from this assessment model after optimisation and summary(TMB::sdreport(x)) of the schnute_obserror object.

Output Description
logitq logit transformed survey catchability
logB0 log transformed biomass in the first time step
logitsigma logit transformed survival of natural mortality
logindex_sigma log transformed survey standard deviation
logcatch_sigma log transformed catch standard deviation
logf_calc log transformed fishing mortality
lnb log transformed total biomass
lnpr log transformed previously-exploited biomass
lnr log transformed recruit biomass
lnN log transformed total numbers
lnPR log transformed previously-exploited or post-recruit numbers
lnR log transformed recruit numbers
lnC log transformed predicted catch numbers
biomass total biomass
B0 total biomass in the first time step
N total numbers
ssb spawning biomass
post_rec previously-exploited or post-recruit biomass
PR previously-exploited or post-recruit numbers
rec_bio recruit biomass
rec_no recruit numbers
C predicted catch numbers
catch_pred predicted catch biomass
logpred_survey log transformed predicted survey indices
omega fraction of total biomass in a given year due to newly recruited fish
mu fraction of the catch removed before natural mortality
index_sigma Survey indices standard deviation
catch_sigma catch standard deviation
sigma survival of natural mortality
logrec_param log transformed recruit parameters from a Beverton-Holt SR function if estimated in versions 1 or 3
rec_param the two recruit parameters fro a Beverton-Holt SR functionif estimated in versions 1 or 3
qhat survey catchability

Value

List with components for optimiser in R. This output is that of the function MakeADFun from TMB

Access (transformed) starting values of parameters to be estimated with x$par (where x is the schnute_obserror object) to see what parameters are to be estimated.

Examples

1
2
3
## Not run:  obj <- schnute_obserror(catch_b = catch_biomass, indices_b = obs,
ts = timing, mwts = mwts, rho = rho1, W = W1, start_sigma = sigma)
## End(Not run)

lbatts/sbar documentation built on Feb. 25, 2022, 9:02 a.m.