Learn R Programming

lfstat (version 0.9.4)

evfit: Fit an extreme value distribution to observations

Description

Fits an extreme value distribution using L-moments to the values provided. In the presence of zero flow observations a mixed distribution is fitted.

Usage

evfit(x, distribution, zeta = NULL, check = TRUE, extreme = c("minimum", "maximum"))

Arguments

x
numeric vector. Data which is an extreme value distribution is fitted to.
distribution
A character vector of distributions to fit. Basically all distributions provided by Hosking's lmom-package and their reversed counterparts can be chosen. See reversing.
zeta
numeric vector of length one for manually setting a lower bound. Only a few distributions allow for a lower bound, namely 'gpa', 'ln3', 'wak' and 'wei'. The default value of NULL results in not bounding the distribution, therefore the parameter zeta is estimated.
check
logical, should check_distribution get called?
extreme
character vector of length one. Can be either 'minimum' or 'maximum'. Helps to choose a correct distribution.

Value

evfit containing the L-moments and the estimated parameters is returned. Objects of class evfit are basically a list with the following elements:

Details

This function is vectorized over distribution.

According to paragraph 7.4.2 of the WMO manual, special care has to be taken in the presence of zero flow observations. A cdf called G(x) is fitted to the non-zero values of the original time series.

If a distribution is fitted which allows for finite lower bound (zeta), and zeta is estimated being negative, estimation is repeated constraining zeta = 0. If this behavior is not desired, the parameter zeta has to be set explicitly.

See Also

There are methods for printing summarizing objects of class evfit.

evfit

Examples

Run this code
data("ngaruroro")
ng <- as.xts(ngaruroro)
minima <- as.vector(apply.yearly(ng$discharge, min, na.rm = TRUE))
evfit(x = minima, distribution = c("wei", "gevR"),
      extreme = "minimum")

Run the code above in your browser using DataLab