hyperbFit {HyperbolicDist}R Documentation

Fit the Hyperbolic Distribution to Data

Description

Fits a hyperbolic distribution to data. Displays the histogram, log-histogram (both with fitted densities), Q-Q plot and P-P plot for the fit which has the maximum likelihood.

Usage

  hyperbFit(x, freq = NULL, breaks = NULL, ThetaStart = NULL,
            startMethod = "Nelder-Mead", startValues = "BN",
            method = "Nelder-Mead", hessian = FALSE,
            plots = FALSE, printOut = FALSE,
            controlBFGS = list(maxit=200),
            controlNM = list(maxit=1000), maxitNLM = 1500, ...)

  ## S3 method for class 'hyperbFit':
  print(x,
        digits = max(3, getOption("digits") - 3), ...)

  ## S3 method for class 'hyperbFit':
  plot(x, which = 1:4,
       plotTitles = paste(c("Histogram of ","Log-Histogram of ",
                            "Q-Q Plot of ","P-P Plot of "), x$obsName,
                          sep = ""),
       ask = prod(par("mfcol")) < length(which) && dev.interactive(), ...)

Arguments

x Data vector for hyperbFit. Object of class "hyperbFit" for print.hyperbFit and plot.hyperbFit.
freq A vector of weights with length equal to length(x).
breaks Breaks for histogram, defaults to those generated by hist(x, right = FALSE, plot = FALSE).
ThetaStart A user specified starting parameter vector Theta taking the form c(pi,zeta,delta,mu).
startMethod Method used by hyperbFitStart in calls to optim.
startValues Code giving the method of determining starting values for finding the maximum likelihood estimate of Theta.
method Different optimisation methods to consider. See Details.
hessian Logical. If TRUE the value of the hessian is returned.
plots Logical. If FALSE suppresses printing of the histogram, log-histogram, Q-Q plot and P-P plot.
printOut Logical. If FALSE suppresses printing of results of fitting.
controlBFGS A list of control parameters for optim when using the "BFGS" optimisation.
controlNM A list of control parameters for optim when using the "Nelder-Mead" optimisation.
maxitNLM A positive integer specifying the maximum number of iterations when using the "nlm" optimisation.
digits Desired number of digits when the object is printed.
which If a subset of the plots is required, specify a subset of the numbers 1:4.
plotTitles Titles to appear above the plots.
ask Logical. If TRUE, the user is asked before each plot, see par(ask = .).
... Passes arguments to par, hist, logHist, qqhyperb and pphyperb.

Details

startMethod can be either "BFGS" or "Nelder-Mead".

startValues can be one of the following:

For the details concerning the use of ThetaStart, startMethod, and startValues, see hyperbFitStart.

The three optimisation methods currently available are:

For details of how to pass control information for optimisation using optim and nlm, see optim and nlm.

When method = "nlm" is used, warnings may be produced. These do not appear to be a problem.

Value

A list with components:

Theta A vector giving the maximum likelihood estimate of Theta, as (pi,zeta,delta,mu).
maxLik The value of the maximised log-likelihood.
hessian If hessian was set to TRUE, the value of the hessian. Not present otherwise.
method Optimisation method used.
conv Convergence code. See the relevant documentation (either optim or nlm) for details on convergence.
iter Number of iterations of optimisation routine.
x The data used to fit the hyperbolic distribution.
xName A character string with the actual x argument name.
ThetaStart Starting value of Theta returned by call to hyperbFitStart.
svName Descriptive name for the method finding start values.
startValues Acronym for the method of finding start values.
KNu Value of the Bessel function in the fitted density.
breaks The cell boundaries found by a call to hist.
midpoints The cell midpoints found by a call to hist.
empDens The estimated density found by a call to hist.

Author(s)

David Scott d.scott@auckland.ac.nz, Ai-Wei Lee, Jennifer Tso, Richard Trendall, Thomas Tran

References

Barndorff-Nielsen, O. (1977) Exponentially decreasing distributions for the logarithm of particle size, Proc. Roy. Soc. Lond., A353, 401–419.

Fieller, N. J., Flenley, E. C. and Olbricht, W. (1992) Statistics of particle size data. Appl. Statist., 41, 127–146.

See Also

optim, nlm, par, hist, logHist, qqhyperb, pphyperb, dskewlap and hyperbFitStart.

Examples

Theta <- c(2,2,2,2)
dataVector <- rhyperb(500, Theta)
## See how well hyperbFit works
hyperbFit(dataVector)
hyperbFit(dataVector, plots = TRUE)
fit <- hyperbFit(dataVector)
par(mfrow = c(1,2))
plot(fit, which = c(1,3))

## Use nlm instead of default
hyperbFit(dataVector, method = "nlm")


[Package HyperbolicDist version 0.5-3 Index]