nsRFA (version 0.7-15)

GENPAR: Three parameter generalized Pareto distribution and L-moments

Description

GENPAR provides the link between L-moments of a sample and the three parameter generalized Pareto distribution.

Usage

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

Arguments

x

vector of quantiles

xi

vector of genpar location parameters

alfa

vector of genpar scale parameters

k

vector of genpar 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.genpar gives the density \(f\), F.genpar gives the distribution function \(F\), invF.genpar gives the quantile function \(x\), Lmom.genpar gives the L-moments (\(\lambda_1\), \(\lambda_2\), \(\tau_3\), \(\tau_4\)), par.genpar gives the parameters (xi, alfa, k), and rand.genpar generates random deviates.

Details

See http://en.wikipedia.org/wiki/Pareto_distribution for an introduction to the Pareto distribution.

Definition

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

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

Probability density function: $$f(x) = \alpha^{-1} e^{-(1-k)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) = 1-e^{-y}$$

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

\(k=0\) is the exponential distribution; \(k=1\) is the uniform distribution on the interval \(\xi < x \le \xi + \alpha\).

L-moments

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

$$\lambda_1 = \xi + \alpha/(1+k)]$$ $$\lambda_2 = \alpha/[(1+k)(2+k)]$$ $$\tau_3 = (1-k)/(3+k)$$ $$\tau_4 = (1-k)(2-k)/[(3+k)(4+k)]$$

The relation between \(\tau_3\) and \(\tau_4\) is given by $$\tau_4 = \frac{\tau_3 (1 + 5 \tau_3)}{5+\tau_3}$$

Parameters

If \(\xi\) is known, \(k=(\lambda_1 - \xi)/\lambda_2 - 2\) and \(\alpha=(1+k)(\lambda_1 - \xi)\); if \(\xi\) is unknown, \(k=(1 - 3 \tau_3)/(1 + \tau_3)\), \(\alpha=(1+k)(2+k)\lambda_2\) and \(\xi=\lambda_1 - (2+k)\lambda_2\).

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

See Also

rnorm, runif, EXP, GENLOGIS, GEV, 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.genpar(ll[1],ll[2],ll[4])
f.genpar(1800,parameters$xi,parameters$alfa,parameters$k)
F.genpar(1800,parameters$xi,parameters$alfa,parameters$k)
invF.genpar(0.7161775,parameters$xi,parameters$alfa,parameters$k)
Lmom.genpar(parameters$xi,parameters$alfa,parameters$k)
rand.genpar(100,parameters$xi,parameters$alfa,parameters$k)

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

Run the code above in your browser using DataCamp Workspace