LOGNORM: Three parameter lognormal distribution and L-moments

LOGNORMR Documentation

Three parameter lognormal distribution and L-moments

Description

LOGNORM provides the link between L-moments of a sample and the three parameter log-normal distribution.

Usage

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

Arguments

x

vector of quantiles

xi

vector of lognorm location parameters

alfa

vector of lognorm scale parameters

k

vector of lognorm 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

Details

See https://en.wikipedia.org/wiki/Log-normal_distribution for an introduction to the lognormal 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) = \frac{e^{ky-y^2/2}}{\alpha \sqrt{2\pi}}

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) = \Phi(x)

where \Phi(x)=\int_{-\infty}^x \phi(t)dt.

Quantile function: x(F) has no explicit analytical form.

k=0 is the Normal distribution with parameters \xi and alpha.

L-moments

L-moments are defined for all values of k.

\lambda_1 = \xi + \alpha(1 - e^{k^2/2})/k

\lambda_2 = \alpha/k e^{k^2/2} [1 - 2 \Phi(-k/\sqrt{2})]

There are no simple expressions for the L-moment ratios \tau_r with r \ge 3. Here we use the rational-function approximation given in Hosking and Wallis (1997, p. 199).

Parameters

The shape parameter k is a function of \tau_3 alone. No explicit solution is possible. Here we use the approximation given in Hosking and Wallis (1997, p. 199).

Given k, the other parameters are given by

\alpha = \frac{\lambda_2 k e^{-k^2/2}}{1-2 \Phi(-k/\sqrt{2})}

\xi = \lambda_1 - \frac{\alpha}{k} (1 - e^{k^2/2})

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

Value

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

Note

For information on the package and the Author, and for all the references, see nsRFA.

See Also

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

Examples

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.lognorm(ll[1],ll[2],ll[4])
f.lognorm(1800,parameters$xi,parameters$alfa,parameters$k)
F.lognorm(1800,parameters$xi,parameters$alfa,parameters$k)
invF.lognorm(0.7529877,parameters$xi,parameters$alfa,parameters$k)
Lmom.lognorm(parameters$xi,parameters$alfa,parameters$k)
rand.lognorm(100,parameters$xi,parameters$alfa,parameters$k)

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

nsRFA documentation built on Nov. 13, 2023, 5:07 p.m.