R: The Generalised Lambda Distribution

GeneralisedLambdaDistribution {gld} | R Documentation

## The Generalised Lambda Distribution

### Description

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`.

### Usage

    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)

### Arguments

`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 `fmkl`, `rs` and `gpd` and of length 5 for parameterisation `fm5`. If it is a vector, it gives all the parameters of the generalised lambda distribution (see below for details) and the other `lambda` arguments must be left as NULL. If it is a a single value, it is lambda 1, the location parameter of the distribution (α for the `gpd` parameterisation). The other parameters are given by the following arguments 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 `gpd` parameterisation, the four parameters are labelled α, β, δ, λ.
`lambda2` | lambda 2 - scale parameter (β for `gpd`)
`lambda3` | lambda 3 - first shape parameter (δ, a skewness parameter for `gpd`)
`lambda4` | lambda 4 - second shape parameter (λ, a tail-shape parameter for `gpd`)
`lambda5` | lambda 5 - a skewing parameter, in the fm5 parameterisation
`param` | choose parameterisation (see below for details) `fmkl` uses Freimer, Mudholkar, Kollia and Lin (1988) (default). `rs` uses Ramberg and Schmeiser (1974) `gpd` uses GPD parameterisation, see van Staden and Loots (2009) `fm5` uses the 5 parameter version of the FMKL parameterisation (paper to appear)
`inverse.eps` | Accuracy of calculation for the numerical determination of F(x), defaults to `.Machine$double.eps`. You may wish to make this a larger number to speed things up for large samples.
`max.iterations` | Maximum number of iterations in the numerical determination of F(x), defaults to 500

### Details

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

### Value

`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.

### Author(s)

Robert King, robert.king@newcastle.edu.au, https://tolstoy.newcastle.edu.au/~rking/

### References

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 \& 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://tolstoy.newcastle.edu.au/~rking/gld/

### Examples

    qgl(seq(0,1,0.02),0,1,0.123,-4.3)
    pgl(seq(-2,2,0.2),0,1,-.1,-.2,param="fmkl")

[Package gld version 2.6.2 Index]