cDD | R Documentation |
A catch and index-based assessment model. Compared to the discrete delay-difference (annual time-step in production and fishing), the delay-differential model (cDD) is based on continuous recruitment and fishing mortality within a time-step. The continuous model works much better for populations with high turnover (e.g. high F or M, continuous reproduction). This model is conditioned on catch and fits to the observed index. In the state-space version (cDD_SS), recruitment deviations from the stock-recruit relationship are estimated.
cDD(
x = 1,
Data,
AddInd = "B",
SR = c("BH", "Ricker"),
rescale = "mean1",
MW = FALSE,
start = NULL,
prior = list(),
fix_h = TRUE,
dep = 1,
LWT = list(),
n_itF = 5L,
silent = TRUE,
opt_hess = FALSE,
n_restart = ifelse(opt_hess, 0, 1),
control = list(iter.max = 5000, eval.max = 10000),
...
)
cDD_SS(
x = 1,
Data,
AddInd = "B",
SR = c("BH", "Ricker"),
rescale = "mean1",
MW = FALSE,
start = NULL,
prior = list(),
fix_h = TRUE,
fix_sigma = FALSE,
fix_tau = TRUE,
dep = 1,
LWT = list(),
n_itF = 5L,
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(),
...
)
x |
An index for the objects in |
Data |
An object of class MSEtool::Data. |
AddInd |
A vector of integers or character strings indicating the indices to be used in the model. Integers assign the index to the corresponding index in Data@AddInd, "B" (or 0) represents total biomass in Data@Ind, "VB" represents vulnerable biomass in Data@VInd, and "SSB" represents spawning stock biomass in Data@SpInd. |
SR |
Stock-recruit function (either |
rescale |
A multiplicative factor that rescales the catch in the assessment model, which
can improve convergence. By default, |
MW |
Logical, whether to fit to mean weight. In closed-loop simulation, mean weight will be grabbed from |
start |
Optional list of starting values. Entries can be expressions that are evaluated in the function. See details. |
prior |
A named list for the parameters of any priors to be added to the model. See below. |
fix_h |
Logical, whether to fix steepness to value in |
dep |
The initial depletion in the first year of the model. A tight prior is placed on the model objective function to estimate the equilibrium fishing mortality corresponding to the initial depletion. Due to this tight prior, this F should not be considered to be an independent model parameter. Set to zero to eliminate this prior. |
LWT |
A named list of likelihood weights. For |
n_itF |
Integer, the number of iterations to solve F conditional on the observed catch. |
silent |
Logical, passed to |
opt_hess |
Logical, whether the hessian function will be passed to |
n_restart |
The number of restarts (calls to |
control |
A named list of parameters regarding optimization to be passed to
|
... |
Additional arguments (not currently used). |
fix_sigma |
Logical, whether the standard deviation of the index is fixed. If |
fix_tau |
Logical, the standard deviation of the recruitment deviations is fixed. If |
integrate |
Logical, whether the likelihood of the model integrates over the likelihood of the recruitment deviations (thus, treating it as a state-space variable). Otherwise, recruitment deviations are penalized parameters. |
inner.control |
A named list of arguments for optimization of the random effects, which
is passed on to |
For start
(optional), a named list of starting values of estimates can be provided for:
R0
Unfished recruitment. Otherwise, Data@OM$R0[x]
is used in closed-loop, and 400% of mean catch otherwise.
h
Steepness. Otherwise, Data@steep[x]
is used, or 0.9 if empty.
Kappa
Delay-differential Kappa parameter. Otherwise, calculated from biological parameters in the Data object.
F_equilibrium
Equilibrium fishing mortality leading into first year of the model (to determine initial depletion). By default, 0.
tau
Lognormal SD of the recruitment deviations (process error) for DD_SS
. By default, Data@sigmaR[x]
.
sigma
Lognormal SD of the index (observation error). By default, Data@CV_Ind[x]
. Not
used if multiple indices are used.
sigma_W
Lognormal SD of the mean weight (observation error). By default, 0.1.
Multiple indices are supported in the model. Data@Ind, Data@VInd, and Data@SpInd are all assumed to be biomass-based. For Data@AddInd, Data@I_units are used to identify a biomass vs. abundance-based index.
An object of Assessment containing objects and output from TMB.
The following priors can be added as a named list, e.g., prior = list(M = c(0.25, 0.15), h = c(0.7, 0.1)
.
For each parameter below, provide a vector of values as described:
R0
- A vector of length 3. The first value indicates the distribution of the prior: 1
for lognormal, 2
for uniform
on log(R0)
, 3
for uniform on R0. If lognormal, the second and third values are the prior mean (in normal space) and SD (in log space).
Otherwise, the second and third values are the lower and upper bounds of the uniform distribution (values in normal space).
h
- A vector of length 2 for the prior mean and SD, both in normal space. Beverton-Holt steepness uses a beta distribution,
while Ricker steepness uses a normal distribution.
M
- A vector of length 2 for the prior mean (in normal space) and SD (in log space). Lognormal prior.
q
- A matrix for nsurvey rows and 2 columns. The first column is the prior mean (in normal space) and the second column
for the SD (in log space). Use NA
in rows corresponding to indices without priors.
See online documentation for more details.
Model description and equations are available on the openMSE website.
cDD
: Cat, Ind, Mort, L50, vbK, vbLinf, vbt0, wla, wlb, MaxAge
cDD_SS
: Cat, Ind, Mort, L50, vbK, vbLinf, vbt0, wla, wlb, MaxAge
cDD
: steep
cDD_SS
: steep, CV_Ind, sigmaR
Q. Huynh
Hilborn, R., and Walters, C., 1992. Quantitative Fisheries Stock Assessment: Choice, Dynamics and Uncertainty. Chapman and Hall, New York.
DD_TMB plot.Assessment summary.Assessment retrospective profile make_MP
#### Observation-error delay difference model
res <- cDD(Data = MSEtool::Red_snapper)
### State-space version
### Also set recruitment variability SD = 0.6 (since fix_tau = TRUE)
res <- cDD_SS(Data = MSEtool::Red_snapper, start = list(tau = 0.6))
summary(res@SD) # Parameter estimates
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.