LOGNORM {nsRFA} | R 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)