Finds starting values for input to a maximum likelihood routine for fitting hyperbolic distribution to data.
hyperbFitStart(x, startValues = c("BN","US","FN","SL","MoM"),
paramStart = NULL,
startMethodSL = c("Nelder-Mead","BFGS"),
startMethodMoM = c("Nelder-Mead","BFGS"), ...)
hyperbFitStartMoM(x, startMethodMoM = "Nelder-Mead", ...)
Data vector.
Vector of the different starting values to consider. See Details.
Starting values for param if startValues =
"US"
.
Method used by call to optim
in
finding skew Laplace estimates.
Method used by call to optim
in
finding method of moments estimates.
hyperbFitStart
returns a list with components:
A vector with elements mu
, delta
,
alpha
and beta
giving the
starting value of param.
The cell boundaries found by a call to
hist
.
The cell midpoints found by a call to
hist
.
The estimated density found by a call to
hist
.
hyperbFitStartMoM returns only the method of moments estimates as a vector with elements mu, delta, alpha and beta.
Possible values of the argument startValues
are the following:
"US"
User-supplied.
"BN"
Based on Barndorff-Nielsen (1977).
"FN"
A fitted normal distribution.
"SL"
Based on a fitted skew-Laplace distribution.
"MoM"
Method of moments.
If startValues = "US"
then a value must be supplied for
paramStart
.
If startValues = "MoM"
, hyperbFitStartMoM
is
called. These starting values are based on Barndorff-Nielsen et
al (1985).
If startValues = "SL"
, or startValues = "MoM"
an initial
optimisation is needed to find the starting values. These
optimisations call optim
.
Barndorff-Nielsen, O. (1977) Exponentially decreasing distributions for the logarithm of particle size, Proc. Roy. Soc. Lond., A353, 401--419.
Barndorff-Nielsen, O., Bl<e6>sild, P., Jensen, J., and S<U+001B296E>son, M. (1985). The fascination of sand. In A celebration of statistics, The ISI Centenary Volume, eds., Atkinson, A. C. and Fienberg, S. E., pp. 57--87. New York: Springer-Verlag.
Fieller, N. J., Flenley, E. C. and Olbricht, W. (1992) Statistics of particle size data. Appl. Statist., 41, 127--146.
# NOT RUN {
param <- c(2, 2, 2, 1)
dataVector <- rhyperb(500, param = param)
hyperbFitStart(dataVector, startValues = "FN")
hyperbFitStartMoM(dataVector)
hyperbFitStart(dataVector, startValues = "MoM")
# }
Run the code above in your browser using DataLab