nsRFA (version 0.7-15)

GEV: Three parameter generalized extreme value distribution and L-moments

Description

GEV provides the link between L-moments of a sample and the three parameter generalized extreme value distribution.

Usage

f.GEV (x, xi, alfa, k)
F.GEV (x, xi, alfa, k)
invF.GEV (F, xi, alfa, k)
Lmom.GEV (xi, alfa, k)
par.GEV (lambda1, lambda2, tau3)
rand.GEV (numerosita, xi, alfa, k)

Arguments

x

vector of quantiles

xi

vector of GEV location parameters

alfa

vector of GEV scale parameters

k

vector of GEV shape parameters

F

vector of probabilities

lambda1

vector of sample means

lambda2

vector of L-variances

tau3

vector of L-CA (or L-skewness)

numerosita

numeric value indicating the length of the vector to be generated

Value

f.GEV gives the density \(f\), F.GEV gives the distribution function \(F\), invF.GEV gives the quantile function \(x\), Lmom.GEV gives the L-moments (\(\lambda_1\), \(\lambda_2\), \(\tau_3\), \(\tau_4\)), par.GEV gives the parameters (xi, alfa, k), and rand.GEV generates random deviates.

Details

See http://en.wikipedia.org/wiki/Generalized_extreme_value_distribution for an introduction to the GEV distribution.

Definition

Parameters (3): \(\xi\) (location), \(\alpha\) (scale), \(k\) (shape).

Range of \(x\): \(-\infty < x \le \xi + \alpha / k\) if \(k>0\); \(-\infty < x < \infty\) if \(k=0\); \(\xi + \alpha / k \le x < \infty\) if \(k<0\).

Probability density function: $$f(x) = \alpha^{-1} e^{-(1-k)y - e^{-y}}$$ where \(y = -k^{-1}\log\{1 - k(x - \xi)/\alpha\}\) if \(k \ne 0\), \(y = (x-\xi)/\alpha\) if \(k=0\).

Cumulative distribution function: $$F(x) = e^{-e^{-y}}$$

Quantile function: \(x(F) = \xi + \alpha[1-(-\log F)^k]/k\) if \(k \ne 0\), \(x(F) = \xi - \alpha \log(-\log F)\) if \(k=0\).

\(k=0\) is the Gumbel distribution; \(k=1\) is the reverse exponential distribution.

L-moments

L-moments are defined for \(k>-1\).

$$\lambda_1 = \xi + \alpha[1 - \Gamma (1+k)]/k$$ $$\lambda_2 = \alpha (1-2^{-k}) \Gamma (1+k)]/k$$ $$\tau_3 = 2(1-3^{-k})/(1-2^{-k})-3$$ $$\tau_4 = [5(1-4^{-k})-10(1-3^{-k})+6(1-2^{-k})]/(1-2^{-k})$$

Here \(\Gamma\) denote the gamma function $$\Gamma (x) = \int_0^{\infty} t^{x-1} e^{-t} dt$$

Parameters

To estimate \(k\), no explicit solution is possible, but the following approximation has accurancy better than \(9 \times 10^{-4}\) for \(-0.5 \le \tau_3 \le 0.5\): $$k \approx 7.8590 c + 2.9554 c^2$$ where $$c = \frac{2}{3+\tau_3} - \frac{\log 2}{\log 3}$$ The other parameters are then given by $$\alpha = \frac{\lambda_2 k}{(1-2^{-k})\Gamma(1+k)}$$ $$\xi = \lambda_1 - \alpha[1 - \Gamma(1+k)]/k$$

Lmom.GEV and par.GEV accept input as vectors of equal length. In f.GEV, F.GEV, invF.GEV and rand.GEV parameters (xi, alfa, k) must be atomic.

See Also

rnorm, runif, EXP, GENLOGIS, GENPAR, GUMBEL, KAPPA, LOGNORM, P3; DISTPLOTS, GOFmontecarlo, Lmoments.

Examples

Run this code
# NOT RUN {
data(hydroSIMN)
annualflows
summary(annualflows)
x <- annualflows["dato"][,]
fac <- factor(annualflows["cod"][,])
split(x,fac)

camp <- split(x,fac)$"45"
ll <- Lmoments(camp)
parameters <- par.GEV(ll[1],ll[2],ll[4])
f.GEV(1800,parameters$xi,parameters$alfa,parameters$k)
F.GEV(1800,parameters$xi,parameters$alfa,parameters$k)
invF.GEV(0.7518357,parameters$xi,parameters$alfa,parameters$k)
Lmom.GEV(parameters$xi,parameters$alfa,parameters$k)
rand.GEV(100,parameters$xi,parameters$alfa,parameters$k)

Rll <- regionalLmoments(x,fac); Rll
parameters <- par.GEV(Rll[1],Rll[2],Rll[4])
Lmom.GEV(parameters$xi,parameters$alfa,parameters$k)
# }

Run the code above in your browser using DataLab