Finds starting values for input to a maximum likelihood routine for fitting a skew hyperbolic t-distribution to data.
skewhypFitStart(x, breaks = NULL, startValues = "LA", paramStart = NULL,
...)
skewhypFitStartLA(x, breaks = NULL)
skewhypFitStartMM(x, nuTol = 1e-6, nuStart = 5, ...)
skewhypFitStart
returns a list with components:
A vector of the form c(mu,delta,beta,nu)
giving the generated starting values of the parameters.
The cell boundaries found by a call to hist
.
The cell midpoints found by a call to hist
.
The estimated density at the midpoints found by a call
to hist
if startValues = "US"
or
startValues = "MM"
, or to density
if
startValues = "LA"
.
Name of the method used to find the starting values.
Data vector.
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.
Code giving the method of determining starting values for finding the maximum likelihood estimates of the parameters.
If startValues = "US"
the user must specify a
vector of starting parameter values in the form
c(mu,delta,beta,nu)
.
Tolerance for numerical determination of nu
in
skewhypFitStartMM
Initial value for numerical determinationof nu
in skewhypFitStartMM
Passes additional arguments to skewhypFitStartMM
David Scott d.scott@auckland.ac.nz, Fiona Grimson
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).
Aas, K. and Haff, I. H. (2006). The Generalised Hyperbolic Skew Student's t-distribution, Journal of Financial Econometrics, 4, 275--309.
## 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
Run the code above in your browser using DataLab