Carry out the “starship” estimation method for the generalised lambda distribution
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.
starship(data, optim.method = "Nelder-Mead", initgrid = NULL, inverse.eps = .Machine$double.eps, param="FMKL", optim.control=NULL, return.data=FALSE)
data |
Data to be fitted, as a vector |
||||||||||||||||||||||||||||||||||||||||||||
optim.method |
Optimisation method for |
||||||||||||||||||||||||||||||||||||||||||||
initgrid |
Grid of values of lambda 3 and
lambda 4
to try, in If it is left as NULL, the default grid depends on the parameterisation.
For
( For
( For
and λ:
For
and
|
||||||||||||||||||||||||||||||||||||||||||||
inverse.eps |
Accuracy of calculation for the numerical determination of
F(x), defaults to |
||||||||||||||||||||||||||||||||||||||||||||
param |
choose parameterisation:
|
||||||||||||||||||||||||||||||||||||||||||||
optim.control |
List of options for the optimisation step. See
|
||||||||||||||||||||||||||||||||||||||||||||
return.data |
Logical: Should the function return the data (from the argument |
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.
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 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
|
optim |
output from the optim search -
|
Darren Wraith
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.
data <- rgl(100,0,1,.2,.2) starship(data,optim.method="Nelder-Mead",initgrid=list(lcvect=(0:4)/10, ldvect=(0:4)/10))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.