Learn R Programming

fishmove (version 0.3-3)

fishmove.estimate: Estimation of fish movement parameters ($sigma_stat$, $sigma_mob$ and $p$) from field data

Description

Function to estimate the three fish movement parameters $sigma_stat$, $sigma_mob$ and $p$ describing the leptokurtic shape of fish dispersal kernels from field data.

Usage

fishmove.estimate(data=NA,start=NA,ci=FALSE,rep=100,conf=0.95,...)

Arguments

data
Single numeric vector of movement distances (field measurements) which should be used to estimate movement parameters. Here, only absolute movement distances are considered and differences in up- or downstream movement are ignored (symmetrical dispersal kernel assumed).
start
Named list of starting values used for the internal optimization process. If nothing is provided the 10% and 90% quantile of the input data are used as starting values for $sigma_stat$ and $sigma_mob$ and 0.67 is used as the starting value for $p$.
ci
Logical. If true confidence intervals (method=bca) are calculated. This feature is under current development and still unstable. The default value for ci is FALSE.
rep
Number of bootstrap replicates to calculate the confidence interval of the obtained parameters. The default value for rep is 100.
conf
Confidence interval used for parameter estimates. The default value for conf is 0.95.
...
do not use.

Value

out
If no confidence intervals are calculated (default), the return object is of class "fitdistr". The three estimated movement parameters $sigma_stat$ (movement parameter of stationary component), $sigma_mob$ (movement parameter of mobile component) and $p$ (share of the stationary component) and their corresponding standard errors are provided. If bootstrapped confidence interval are calculated the fit, the lower and the upper bound of $sigma_stat$, $sigma_mob$ and $p$ are provided.

Details

fishmove.estimate estimates the three fish movement parameters $sigma_stat$, $sigma_mob$ and $p$ describing the leptokurtic shape of fish dispersal kernels from field data. Here, a symmetrical dispersal kernel is assumed and only absolute movement distances are considered and differences in up- or downstream movement are ignored. The parameters are obtained by optimizing a double normal distribution with $sigma_stat$ as dispersion (standard deviation) parameter for the first distribution, $sigma_mob$ as dispersion (standard deviation) parameter for the second distribution, and $p$ the weighing factor for the distributions (share of the stationary component): $$F(x)=p*\frac{1}{\sqrt{2\pi\sigma_{stat}^2}}*e^{-\frac{(x-\mu)^2}{2\sigma_{stat}^2}}+(1-p)*\frac{1}{\sqrt{2\pi\sigma_{mob}^2}}*e^{-\frac{(x-\mu)^2}{2\sigma_{mob}^2}}$$ The optimization is based on a maximum likelihood approach ("L-BFGS-B") using the underlying fitdistr() and optim() functions. Under development: Based on non-parametric bootstrapping approach the 95%-confidence interval (method="bca") is calculated for the three extracted parameters. The default number of bootstrap replicates (rep) is set to 100.

References

Radinger, J. and Wolter C. (2014) Patterns and predictors of fish dispersal in rivers. Fish and Fisheries. 15:456-473. DOI: http://dx.doi.org/10.1111/faf.12028.

See Also

fishmove, pdk, fitdistr

Examples

Run this code
	# Fictive fish movement data e.g. from a telemetry study (displacement distances)
  set.seed(42)
  fielddata <- c(rnorm(mean=0,sd=50,300),rnorm(mean=0,sd=700,200))  
  
  # extracting parameters using \code{fishmove.estimate}
  parameters <- fishmove.estimate(fielddata)
  parameters

  # Plot
  hist(fielddata,breaks=30,freq=FALSE)


  # Definition of probability density function based on two superimposed normal distributions
  # ddoublenorm <- function(x,sigma_stat,sigma_mob,p){
  #		dnorm(x,mean=0,sd=sigma_stat)*p+
  #		dnorm(x,mean=0,sd=sigma_mob)*(1-p)}

  #x <- seq(min(fielddata),max(fielddata),length.out=1000)


  #lines(x,
  #		ddoublenorm(x,
  #			parameters$estimate["sigma_stat"],
  #			parameters$estimate["sigma_mob"],
  #			parameters$estimate["p"]),
  #		col="red")

Run the code above in your browser using DataLab