skewhypFitStart {SkewHyperbolic}R Documentation

Find Starting Values for Fitting a Skew Hyperbolic Student t-Distribution

Description

Finds starting values for input to a maximum likelihood routine for fitting a skew hyperbolic t-distribution to data.

Usage

skewhypFitStart(x, breaks = NULL, startValues = "LA", paramStart = NULL,
...)
skewhypFitStartLA(x, breaks = NULL)
skewhypFitStartMM(x, nuTol = 1e-6, nuStart = 5, ...)

Arguments

x

Data vector.

breaks

Breaks for histogram. If missing defaults to those generated by hist(x, right = FALSE, plot =FALSE). If startValues = "LA" then 30 breaks are used by default.

startValues

Code giving the method of determining starting values for finding the maximum likelihood estimates of the parameters.

paramStart

If startValues = "US" the user must specify a vector of starting parameter values in the form c(mu,delta,beta,nu).

nuTol

Tolerance for numerical determination of nu in skewhypFitStartMM

nuStart

Initial value for numerical determinationof nu in skewhypFitStartMM

...

Passes additional arguments to skewhypFitStartMM

Details

startValues can be either "US"(User-supplied), "LA"(Linear approximation), or "MM"(Method of moments).

If startValues = "US" then a value for paramStart must be supplied. The parameters are checked for validity by the function skewhypCheckPars.

If startValues = "LA" a linear approximation is made to the log-density in each of the tails, from which the estimates for \nu and \beta are found. The remaining two parameters, \delta and \mu are found by solving the moment equations for mean and variance. Since the variance does not exist for values of \nu \le 4, the estimate of \nu will be at least 4.1. Note that if the distribution is too skewed, there are not enough points in the lighter tail to fit the required linear model, and the method will stop and return a warning. User supplied values will have to be used in this case.

If startValues = "MM", start values are found using the method of moments as outlined in Aas and Haff (2006).

Value

skewhypFitStart returns a list with components:

paramStart

A vector of the form c(mu,delta,beta,nu) giving the generated starting values of the parameters.

breaks

The cell boundaries found by a call to hist.

midpoints

The cell midpoints found by a call to hist.

empDens

The estimated density at the midpoints found by a call to hist if startValues = "US" or startValues = "MM", or to density if startValues = "LA".

svName

Name of the method used to find the starting values.

Author(s)

David Scott d.scott@auckland.ac.nz, Fiona Grimson

References

Aas, K. and Haff, I. H. (2006). The Generalised Hyperbolic Skew Student's t-distribution, Journal of Financial Econometrics, 4, 275–309.

See Also

hist, density, dskewhyp, skewhypFit, skewhypCheckPars

Examples

## find starting values to feed to skewhypFit
data(lrnokeur)
skewhypFitStart(lrnokeur, startValues="LA")$paramStart
## user supplied values
skewhypFitStart(lrnokeur, startValues="US",
                paramStart=c(0,0.01,0,5))$paramStart

[Package SkewHyperbolic version 0.4-2 Index]