GeneralisedLambdaDistribution | R Documentation |
Density, density quantile, distribution function, quantile
function and random generation for the generalised lambda distribution
(also known as the asymmetric lambda, or Tukey lambda). Provides for four
different parameterisations, the fmkl
(recommended), the rs
, the gpd
and
a five parameter version of the FMKL, the fm5
.
dgl(x, lambda1 = 0, lambda2 = NULL, lambda3 = NULL, lambda4 = NULL, param = "fkml", lambda5 = NULL, inverse.eps = .Machine$double.eps, max.iterations = 500) dqgl(p, lambda1, lambda2 = NULL, lambda3 = NULL, lambda4 = NULL, param = "fkml", lambda5 = NULL) pgl(q, lambda1 = 0, lambda2 = NULL, lambda3 = NULL, lambda4 = NULL, param = "fkml", lambda5 = NULL, inverse.eps = .Machine$double.eps, max.iterations = 500) qgl(p, lambda1, lambda2 = NULL, lambda3 = NULL, lambda4 = NULL, param = "fkml", lambda5 = NULL) rgl(n, lambda1=0, lambda2 = NULL, lambda3 = NULL, lambda4 = NULL, param = "fkml", lambda5 = NULL)
x,q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations. |
lambda1 |
This can be either a single numeric value or a vector. If it is a vector, it must be of length 4 for parameterisations
If it is a a single value, it is lambda 1, the location
parameter of the distribution (α for the Note that the numbering of the lambda parameters for
the fmkl
parameterisation is different to that used by Freimer,
Mudholkar, Kollia and Lin. Note also that in the |
lambda2 |
lambda 2 - scale parameter (β for |
lambda3 |
lambda 3 - first shape parameter (δ, a skewness parameter for |
lambda4 |
lambda 4 - second shape parameter (λ, a tail-shape parameter for |
lambda5 |
lambda 5 - a skewing parameter, in the fm5 parameterisation |
param |
choose parameterisation (see below for details)
|
inverse.eps |
Accuracy of calculation for the numerical determination of
F(x), defaults to |
max.iterations |
Maximum number of iterations in the numerical determination of F(x), defaults to 500 |
The generalised lambda distribution, also known as the asymmetric lambda,
or Tukey lambda distribution, is a distribution with a wide range of shapes.
The distribution is defined by its quantile function (Q(u)), the inverse of the
distribution function. The gld
package implements three parameterisations of the distribution.
The default parameterisation (the FMKL) is that due to Freimer
Mudholkar, Kollia and Lin (1988) (see references below), with a quantile
function:
Q(u) = lambda1 + ( (u^lambda3 -1)/lambda3 - ((1-u)^lambda4-1) /lambda4 ) / lambda 2
for lambda2 >0.
A second parameterisation, the RS, chosen by setting param="rs"
is
that due to Ramberg and Schmeiser (1974), with the quantile function:
Q(u) = lambda1 + ( u^lambda3 - (1-u)^lambda4 ) / lambda 2
This parameterisation has a complex series of rules determining which values of the parameters produce valid statistical distributions. See gl.check.lambda for details.
Another parameterisation, the GPD, chosen by setting param="gpd"
is
due to van Staden and Loots (2009), with a quantile function:
Q(u) = alpha + beta ((1-delta)(u^lambda -1)/(lambda) - delta((1-u)^lambda -1)/lambda
for beta >0
and -1 <= delta <= 1.
(where the parameters appear in the par
argument to the function in the order α,β,δ,λ). This parameterisation has simpler
L-moments than other parameterisations and δ is a skewness parameter
and λ is a tailweight parameter.
Another parameterisation, the FM5, chosen by setting param="fm5"
adds an additional skewing parameter to the FMKL parameterisation.
This uses the same approach as that used by
Gilchrist (2000)
for the RS parameterisation. The quantile function is
F inverse (u) = lambda1 + ( (1-lambda5)(u^lambda3-1)/lambda3 - (1+lambda5)((1-u)^lambda4-1)/lambda4 ) / lambda 2
for lambda2 >0 and -1 <= lambda5 <= 1.
The distribution is defined by its quantile function and its distribution and
density functions do not exist in closed form. Accordingly, the results
from pgl
and dgl
are the result of numerical solutions to the
quantile function, using the Newton-Raphson method. Since the density
quantile function, f(F^{-1}(u)), does exist, an additional
function, dqgl
, computes this.
The functions qdgl.fmkl
, qdgl.rs
, qdgl.fm5
,
qgl.fmkl
, qgl.rs
and qgl.fm5
from versions 1.5 and
earlier of the gld
package have been renamed (and hidden) to .qdgl.fmkl
,
.qdgl.rs
, ..qdgl.fm5
, .qgl.fmkl
, .qgl.rs
and .qgl.fm5
respectively. See the code for more details
dgl
gives the density (based on the quantile density and a
numerical solution to F inv (u)=x),
qdgl
gives the quantile density,
pgl
gives the distribution function (based on a numerical
solution to F inv (u)=x),
qgl
gives the quantile function, and
rgl
generates random deviates.
Robert King, robert.king.newcastle@gmail.com, https://github.com/newystats/
Freimer, M., Mudholkar, G. S., Kollia, G. & Lin, C. T. (1988), A study of the generalized tukey lambda family, Communications in Statistics - Theory and Methods 17, 3547–3567.
Gilchrist, Warren G. (2000), Statistical Modelling with Quantile Functions, Chapman and Hall
Karian, Z.A., Dudewicz, E.J., and McDonald, P. (1996), The extended generalized lambda distribution system for fitting distributions to data: history, completion of theory, tables, applications, the “Final Word” on Moment fi ts, Communications in Statistics - Simulation and Computation 25, 611–642.
Karian, Zaven A. and Dudewicz, Edward J. (2000), Fitting statistical distributions: the Generalized Lambda Distribution and Generalized Bootstrap methods, Chapman & Hall
Ramberg, J. S. & Schmeiser, B. W. (1974), An approximate method for generating asymmetric random variables, Communications of the ACM 17, 78–82.
Van Staden, Paul J., & M.T. Loots. (2009), Method of L-moment Estimation for the Generalized Lambda Distribution. In Proceedings of the Third Annual ASEARC Conference. Callaghan, NSW 2308 Australia: School of Mathematical and Physical Sciences, University of Newcastle.
https://github.com/newystats/gld/
qgl(seq(0,1,0.02),0,1,0.123,-4.3) pgl(seq(-2,2,0.2),0,1,-.1,-.2,param="fmkl")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.