Given the parameter vector Theta of a generalized hyperbolic distribution,
this function determines the range outside of which the density
function is negligible, to a specified tolerance. The parameterization used
is the dghyp
). To use another parameterization, use
ghypChangePars
.
ghypCalcRange(mu = 0, delta = 1, alpha = 1, beta = 0, lambda = 1,
param = c(mu, delta, alpha, beta, lambda),
tol = 10^(-5), density = TRUE, ...)
A two-component vector giving the lower and upper ends of the range.
Value of parameter vector specifying the generalized
hyperbolic distribution. This takes the form
c(mu, delta,alpha, beta, lambda)
.
Tolerance.
Logical. If TRUE
, the bounds are for the density
function. If FALSE
, they should be for the probability
distribution, but this has not yet been implemented.
Extra arguments for calls to uniroot
.
David Scott d.scott@auckland.ac.nz
The particular generalized hyperbolic distribution being considered is
specified by the value of the parameter value param
.
If density = TRUE
, the function gives a range, outside of which
the density is less than the given tolerance. Useful for plotting the
density. Also used in determining break points for the separate
sections over which numerical integration is used to determine the
distribution function. The points are found by using
uniroot
on the density function.
If density = FALSE
, the function returns the message:
"Distribution function bounds not yet implemented
".
Barndorff-Nielsen, O. and Blæsild, P (1983). Hyperbolic distributions. In Encyclopedia of Statistical Sciences, eds., Johnson, N. L., Kotz, S. and Read, C. B., Vol. 3, pp. 700--707. New York: Wiley.
dghyp
, ghypChangePars
param <- c(0, 1, 5, 3, 1)
maxDens <- dghyp(ghypMode(param = param), param = param)
ghypRange <- ghypCalcRange(param = param, tol = 10^(-3) * maxDens)
ghypRange
curve(dghyp(x, param = param), ghypRange[1], ghypRange[2])
if (FALSE) ghypCalcRange(param = param, tol = 10^(-3), density = FALSE)
Run the code above in your browser using DataLab