starship: Carry out the "starship" estimation method for the...

View source: R/starship.R

starshipR Documentation

Carry out the “starship” estimation method for the generalised lambda distribution

Description

Estimates parameters of the generalised lambda distribution on the basis of data, using the starship method. The starship method is built on the fact that the generalised lambda distribution (gld) is a transformation of the uniform distribution. This method finds the parameters that transform the data closest to the uniform distribution. This function uses a grid-based search to find a suitable starting point (using starship.adaptivegrid) then uses optim to find the parameters that do this.

Usage

starship(data, optim.method = "Nelder-Mead", initgrid = NULL, 
inverse.eps = .Machine$double.eps, param="FMKL", optim.control=NULL, return.data=FALSE)

Arguments

data

Data to be fitted, as a vector

optim.method

Optimisation method for optim to use, defaults to Nelder-Mead

initgrid

Grid of values of lambda 3 and lambda 4 to try, in starship.adaptivegrid. This should be a list with elements, lcvect, a vector of values for lambda 3, ldvect, a vector of values for lambda 4 and levect, a vector of values for lambda 5 (levect is only required if param is fm5).

If it is left as NULL, the default grid depends on the parameterisation. For fmkl, both lcvect and ldvect default to:

-1.5 -1 -0.5 -0.1 0 0.1 0.2 0.4 0.8 1 1.5

(levect is NULL).

For rs, both lcvect and ldvect default to:

0.1 0.2 0.4 0.8 1 1.5

(levect is NULL). Note that this restricts the estimates to only part of the region of the lambda 3, lambda 4 plane.

For gpd, the defaults are: δ:

0.3 0.5 0.7

and λ:

-1.5-.50.2.40.81.55

For fm5, both lcvect and ldvect default to:

-1.5 -1 -.5 -0.1 0 0.1 0.2 0.4 0.8 1 1.5

and levect defaults to:

-0.5 0.25 0 0.25 0.5
inverse.eps

Accuracy of calculation for the numerical determination of F(x), defaults to .Machine$double.eps

param

choose parameterisation: fmkl uses Freimer, Mudholkar, Kollia and Lin (1988) (default). rs uses Ramberg and Schmeiser (1974) fm5 uses the 5 parameter version of the FMKL parameterisation (paper to appear)

optim.control

List of options for the optimisation step. See optim for details. If left as NULL, the parscale control is set to scale lambda 1 and lambda 2 by the absolute value of their starting points.

return.data

Logical: Should the function return the data (from the argument data)?

Details

The starship method is described in King & MacGillivray, 1999 (see references). It is built on the fact that the generalised lambda distribution (gld) is a transformation of the uniform distribution. Thus the inverse of this transformation is the distribution function for the gld. The starship method applies different values of the parameters of the distribution to the distribution function, calculates the depths q corresponding to the data and chooses the parameters that make the depths closest to a uniform distribution.

The closeness to the uniform is assessed by calculating the Anderson-Darling goodness-of-fit test on the transformed data against the uniform, for a sample of size length(data).

This is implemented in 2 stages in this function. First a grid search is carried out, over a small number of possible parameter values (see starship.adaptivegrid for details). Then the minimum from this search is given as a starting point for an optimisation of the Anderson-Darling value using optim, with method given by optim.method

See GeneralisedLambdaDistribution for details on parameterisations.

Value

starship returns an object of class "starship".

print prints the estimated values of the parameters, while summary.starship prints these by default, but can also provide details of the estimation process (from the components grid.results and optim detailed below).

An object of class "starship" is a list containing at least the following components:

lambda

A vector of length 4 (or 5, for the fm5 parameterisation), giving the estimated parameters, in order, lambda 1 - location parameter lambda 2 - scale parameter lambda 3 - first shape parameter lambda 4 - second shape parameter (See gld for details of the parameters in the fm5 parameterisation)

In the gpd parameterisation, the parameters are labelled: alpha - location parameter beta - scale parameter delta - skewness parameter lambda - tailweight parameter

grid.results

output from the grid search - see starship.adaptivegrid for details

optim

output from the optim search - optim for details

Author(s)

Robert King, robert.king.newcastle@gmail.com, https://github.com/newystats/

Darren Wraith

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.

Ramberg, J. S. & Schmeiser, B. W. (1974), An approximate method for generating asymmetric random variables, Communications of the ACM 17, 78–82.

King, R.A.R. & MacGillivray, H. L. (1999), A starship method for fitting the generalised lambda distributions, Australian and New Zealand Journal of Statistics 41, 353–374

Owen, D. B. (1988), The starship, Communications in Statistics - Computation and Simulation 17, 315–323.

https://github.com/newystats/gld/

See Also

starship.adaptivegrid, starship.obj

Examples

exampledata <- rgl(300,c(0,1,0.2,0))
starship(exampledata)

gld documentation built on Oct. 23, 2022, 5:05 p.m.

Related to starship in gld...