# fitweibull: Fit Four or Six Parametric Weibull Functions In cardidates: Identification of Cardinal Dates in Ecological Time Series

## Description

Fit a four- or six-parametric Weibull function to environmental data.

## Usage

 1 2 3 fitweibull6(x, y = NULL, p0 = NULL, linint = -1, maxit = 2000) fitweibull4(x, y = NULL, p0 = c(0.1, 50, 5, 100), linint = -1, maxit = 1000)

## Arguments

 x, y the x (in day of year) and y coordinates of a set of points. Alternatively, a single argument x can be provided. p0 initial parameters for optimization. In case of p0 = NA a heuristic algorithm to derive initial values is used for fitweibull6. linint control parameter to select interpolation behavior. Negative values (default) specify automatic selection heuristic, zero disables interpolation. A positive value is interpreted as mandatory interpolation time step. maxit maximum number of iterations passed to the optimisation functions.

## Details

Function fitweibull6 uses extensive heuristics to derive initial parameters for the optimization. It is intended to work with data which are defined over an interval between 0 and 365, e.g. environmental data and especially for plankton blooms. Please note that the function does internal transformation:

y_{rel} = y_i / y_{max}

Note that additional data points are inserted between original measurements by linear interpolation with time step = 1 before curve fitting if the number of original data points is too low (currently n < 35). You can set linint = 0 to switch interpolation off.

fitweibull4 has only built-in heuristics for data interpolation but not for guessing initial parameters which must be supplied as vector p0 in the call.

## Value

A list with components:

 p vector of fitted parameters, ymax maximum y value used for transformation, r2 coefficient of determination between transformed and fitted y values, fit data frame with the following columns: x~data (original or interpolated) used for curve fitting, y~data (transformed-original or interpolated) used for curve fitting, f~estimated function values.

## Note

Note that the heuristics works optimal if unnecessary leading and trailing data are removed before the call.

## Author(s)

Susanne Rolinski (original algorithm) and Thomas Petzoldt (package).

Maintainer: Thomas Petzoldt <[email protected]>

## References

Rolinski, S., Horn, H., Petzoldt, T., & Paul, L. (2007): Identification of cardinal dates in phytoplankton time series to enable the analysis of long-term trends. Oecologia 153, 997 - 1008. http://dx.doi.org/10.1007/s00442-007-0783-2.

## Examples

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ## create some test data set.seed(123) x <- seq(0, 360, length = 20) y <- abs(rnorm(20, mean = 1, sd = 0.1)) y[5:10] <- c(2, 4, 7, 3, 4, 2) ## fit Weibull function with 6 free parameters res <- fitweibull6(x, y) ## show some properties res\$r2 p <- res\$p o <- res\$fit f <- res\$ymax ## fit 6 parameter Weibull with user-provided start parameters x <- seq(0, 150) y <- fweibull6(x, c(0.8, 40, 5, 0.2, 80, 5)) + rnorm(x, sd = 0.1) plot(x, y) res <- fitweibull6(x, y, p0 = c(0, 40, 1, 1, 60, 0)) plot(res)