Find plausible initial parameter values for secr.fit
. A
simple SECR model is fitted by a fast ad hoc method.
autoini(capthist, mask, detectfn = 0, thin = 0.2, tol = 0.001,
binomN = 1, adjustg0 = TRUE, adjustsigma = 1.2, ignoreusage = FALSE,
ncores = NULL)
A list of parameter values :
Density (animals per hectare)
Magnitude (intercept) of detection function
Spatial scale of detection function (m)
capthist
object
mask
object compatible with the detector layout in
capthist
integer code or character string for shape of detection function 0 = halfnormal
proportion of points to retain in mask
numeric absolute tolerance for numerical root finding
integer code for distribution of counts (see secr.fit
)
logical for whether to adjust g0 for usage (effort) and binomN
numeric scalar applied to RPSV(capthist, CC = TRUE)
logical for whether to discard usage information from
traps(capthist)
integer number of threads to be used for parallel processing
Plausible starting values are needed to avoid numerical
problems when fitting SECR models. Actual models
to be fitted will usually have more than the three basic parameters
output by autoini
; other initial values can usually be set to
zero for secr.fit
. If the algorithm encounters problems obtaining
a value for g0, the default value of 0.1 is returned.
Only the halfnormal detection function is currently available in autoini
(cf
other options in e.g. detectfn and sim.capthist
).
autoini
implements a modified version of the algorithm proposed
by Efford et al. (2004). In outline, the algorithm is
Find value of sigma that predicts the 2-D dispersion of individual locations (see RPSV
).
Find value of g0 that, with sigma, predicts the observed mean number of captures per individual (by algorithm of Efford et al. (2009, Appendix 2))
Compute the effective sampling area from g0, sigma, using thinned mask (see esa
)
Compute D = \(n\)/esa(g0, sigma), where \(n\) is the number of individuals detected
Here `find' means solve numerically for zero difference between the observed and predicted values, using uniroot
.
Halfnormal sigma is estimated with RPSV(capthist, CC = TRUE)
. The factor adjustsigma
is applied as a crude correction for truncation of movements at the edge of the detector array.
If RPSV
cannot be computed the algorithm tries to use observed
mean recapture distance \(\bar{d}\). Computation of
\(\bar{d}\) fails if there no recaptures, and all returned
values are NA.
If the mask has more than 100 points then a proportion 1--thin
of
points are discarded at random to speed execution.
The argument tol
is passed to uniroot
. It may be a
vector of two values, the first for g0 and the second for sigma.
If traps(capthist)
has a usage attribute (defining effort
on each occasion at each detector) then the value of g0 is divided by
the mean of the non-zero elements of usage. This adjustment is not
precise.
If adjustg0
is TRUE then an adjustment is made to g0 depending
on the value of binomN
. For Poisson counts (binomN = 0
)
the adjustment is linear on effort (adjusted.g0 = g0 /
usage). Otherwise, the adjustment is on the hazard scale (adjusted.g0 =
1 -- (1 -- g0) ^ (1 / (usage x binomN))). An arithmetic average is taken
over all non-zero usage values (i.e. over used detectors and times). If
usage is not specified it is taken to be 1.0.
Setting ncores = NULL
uses the existing value from the environment variable
RCPP_PARALLEL_NUM_THREADS (see setNumThreads
).
Efford, M. G., Dawson, D. K. and Robbins C. S. (2004) DENSITY: software for analysing capture--recapture data from passive detector arrays. Animal Biodiversity and Conservation 27, 217--228.
Efford, M. G., Dawson, D. K. and Borchers, D. L. (2009) Population density estimated from locations of individuals on a passive detector array. Ecology 90, 2676--2682.
capthist
, mask
, secr.fit
, dbar
if (FALSE) {
demotraps <- make.grid()
demomask <- make.mask(demotraps)
demoCH <- sim.capthist (demotraps, popn = list(D = 5, buffer = 100), seed = 321)
autoini (demoCH, demomask)
}
Run the code above in your browser using DataLab