A surplus production model that estimates the TAC using a time-series of catches and a relative abundance index and coded in TMB. The model is conditioned on catch and estimates a predicted index. The state-space version estimates annual deviates in biomass.
SP(x = 1, Data, rescale = "mean1", start = NULL, fix_dep = TRUE,
fix_n = TRUE, silent = TRUE, opt_hess = FALSE,
n_restart = ifelse(opt_hess, 0, 1), control = list(iter.max = 5000,
eval.max = 10000), ...)SP_SS(x = 1, Data, rescale = "mean1", start = NULL, fix_dep = TRUE,
fix_n = TRUE, fix_sigma = TRUE, fix_tau = TRUE, early_dev = c("all",
"index"), integrate = FALSE, silent = TRUE, opt_hess = FALSE,
n_restart = ifelse(opt_hess, 0, 1), control = list(iter.max = 5000,
eval.max = 10000), inner.control = list(), ...)
An index for the objects in Data
when running in closed loop simulation.
Otherwise, equals to 1 When running an assessment interactively.
An object of class Data.
A multiplicative factor that rescales the catch in the assessment model, which
can improve convergence. By default, "mean1"
scales the catch so that time series mean is 1, otherwise a numeric.
Output is re-converted back to original units.
Optional list of starting values. See details.
Logical, whether to fix the initial depletion (ratio of biomass to carrying capacity in the
first year of the model). If TRUE
, uses the value in start
, otherwise equal to 1
(assumes virgin conditions).
Logical, whether to fix the exponent of the production function. If TRUE
,
uses the value in start
, otherwise equal to n = 2
, where the biomass at MSY
is half of carrying capacity.
Logical, passed to MakeADFun
, whether TMB
will print trace information during optimization. Used for dignostics for model convergence.
Logical, whether the hessian function will be passed to nlminb
during optimization
(this generally reduces the number of iterations to convergence, but is memory and time intensive and does not guarantee an increase
in convergence rate). Ignored if integrate = TRUE
.
The number of restarts (calls to nlminb
) in the optimization procedure, so long as the model
hasn't converged. The optimization continues from the parameters from the previous (re)start.
A named list of parameters regarding optimization to be passed to
nlminb
.
Additional arguments (not currently used).
Logical, whether the standard deviation of the index is fixed. If TRUE
,
sigma is fixed to value provided in start
(if provided), otherwise, value based on Data@CV_Ind
.
Logical, the standard deviation of the biomass deviations is fixed. If TRUE
,
tau is fixed to value provided in start
(if provided), otherwise, equal to 1.
Character string describing the years for which biomass deviations are estimated in SP_SS
.
By default, deviations are estimated in each year of the model ("all"
), while deviations could also be estimated
once index data are available ("index"
).
Logical, whether the likelihood of the model integrates over the likelihood of the biomass deviations (thus, treating it as a state-space variable).
An object of '>Assessment
containing objects and output
from TMB.
SP
: Fixed effects model
SP_SS
: State-space version
SP
: Cat, Ind
SP_SS
: Cat, Ind
SP_SS
: CV_Ind
To provide starting values for the SP
, a named list can be provided for UMSY
,
MSY
, dep
, and n
via the start argument (see example).
For SP_SS
, a start value can also be provided for sigma
and tau
, the standard deviation
of the index and log-biomass deviates, respectively. Deviations are estimated beginning in the year when index
data are available.
Fletcher, R. I. 1978. On the restructuring of the Pella-Tomlinson system. Fishery Bulletin 76:515:521.
Pella, J. J. and Tomlinson, P. K. 1969. A generalized stock production model. Inter-Am. Trop. Tuna Comm., Bull. 13:419-496.
plot,Assessment,ANY-method summary,Assessment-method retrospective profile_likelihood make_MP
# NOT RUN {
data(swordfish)
#### Observation-error surplus production model
res <- SP(Data = swordfish)
# Provide starting values, assume B/K = 0.95 in first year of model
# and symmetrical production curve (n = 2)
start <- list(UMSY = 0.1, MSY = 1e5, dep = 0.95, n = 2)
res <- SP(Data = swordfish, start = start)
#### State-space version
res <- SP_SS(Data = swordfish, start = list(dep = 0.95, tau = 0.3),
fix_sigma = TRUE)
# }
Run the code above in your browser using DataLab