DistributionFits {fBasics} | R Documentation |
A collection and description of moment and maximum
likelihood estimators to fit the parameters of a
distribution. Included are estimators for the Student-t,
for the stable, for the generalized hyperbolic hyperbolic,
for the normal inverse Gaussian, and for empirical
distributions.
The functions are:
nFit | MLE parameter fit for a normal distribution, |
tFit | MLE parameter fit for a Student t-distribution, |
stableFit | MLE and Quantile Method stable parameter fit, |
ghFit | MLE parameter fit for a generalized hyperbolic distribution, |
hypFit | MLE parameter fit for a hyperbolic distribution, |
nigFit | MLE parameter fit for a normal inverse Gaussian distribution, |
ghtFit | MLE parameter fit for a skew Student-t GH distribution. |
nFit(x, doplot = TRUE, span = "auto", title = NULL, description = NULL, ...) tFit(x, df = 4, doplot = TRUE, span = "auto", trace = FALSE, title = NULL, description = NULL, ...) stableFit(x, alpha = 1.75, beta = 0, gamma = 1, delta = 0, type = c("q", "mle"), doplot = TRUE, trace = FALSE, title = NULL, description = NULL) ghFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, lambda = 1, scale = TRUE, doplot = TRUE, span = "auto", trace = TRUE, title = NULL, description = NULL, ...) hypFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, scale = TRUE, doplot = TRUE, span = "auto", trace = TRUE, title = NULL, description = NULL, ...) nigFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, scale = TRUE, doplot = TRUE, span = "auto", trace = TRUE, title = NULL, description = NULL, ...) ghtFit(x, beta = 1e-6, delta = 1, mu = 0, nu = 10, scale = TRUE, doplot = TRUE, span = "auto", trace = TRUE, title = NULL, description = NULL, ...) show.fDISTFIT(object)
alpha, beta, gamma, delta, mu, lambda, nu |
[stable] - The parameters are alpha , beta , gamma ,
and delta :value of the index parameter alpha with alpha = (0,2] ;
skewness parameter beta , in the range [-1, 1];
scale parameter gamma ; and
shift parameter delta .
[hyp] - The parameters are alpha , beta , delta ,
mu , and and lambda :shape parameter alpha ;
skewness parameter beta , abs(beta) is in the
range (0, alpha);
scale parameter delta , delta must be zero or
positive;
location parameter mu , by default 0;
and lambda parameter lambda , by default 1.
These is the meaning of the parameters in the first
parameterization pm=1 which is the default
parameterization selection.
In the second parameterization, pm=2 alpha
and beta take the meaning of the shape parameters
(usually named) zeta and rho .
In the third parameterization, pm=3 alpha
and beta take the meaning of the shape parameters
(usually named) xi and chi .
In the fourth parameterization, pm=4 alpha
and beta take the meaning of the shape parameters
(usually named) a.bar and b.bar .
[ght] - The additional parameter nu defines the number of
degrees of freedom. Note, alpha takes the limit
of abs(beta) , and lambda=-nu/2 .
|
description |
a character string which allows for a brief description. |
df |
[tFit] - the number of degrees of freedom for the Student distribution, df > 2 , maybe non-integer. By default a value of 4 is
assumed.
|
object |
[show] - an S4 class object as returned from the fitting functions. |
doplot |
[tFit][hypFit][nigFit] - a logical flag. Should a plot be displayed? |
scale |
a logical flag, by default TRUE . Should the time series
be scaled by its standard deviation to achieve a more stable
optimization?
|
span |
x-coordinates for the plot, by default 100 values
automatically selected and ranging between the 0.001,
and 0.999 quantiles. Alternatively, you can specify
the range by an expression like span=seq(min, max,
times = n) , where, min and max are the
left and right endpoints of the range, and n gives
the number of the intermediate points.
|
title |
a character string which allows for a project title. |
trace |
[*Fit] - a logical flag. Should the parameter estimation process be traced? |
type |
a character string which allows to select the method for
parameter estimation: "mle" , the maximum log likelihood
approach, or "qm" , McCulloch's quantile method.
|
x |
[*Fit] - a numeric vector. |
... |
parameters to be parsed. |
Maximum Likelihood Estimation:
The function nlm
is used to minimize the "negative"
maximum log-likelihood function. nlm
carries out a minimization
using a Newton-type algorithm.
The functions tFit
, hypFit
and nigFit
return
a list with the following components:
estimate |
the point at which the maximum value of the log liklihood function is obtained. |
minimum |
the value of the estimated maximum, i.e. the value of the log liklihood function. |
code |
an integer indicating why the optimization process terminated. 1: relative gradient is close to zero, current iterate is probably solution; 2: successive iterates within tolerance, current iterate is probably solution; 3: last global step failed to locate a point lower than estimate .
Either estimate is an approximate local minimum of the
function or steptol is too small; 4: iteration limit exceeded; 5: maximum step size stepmax exceeded five consecutive times.
Either the function is unbounded below, becomes asymptotic to a
finite value from above in some direction or stepmax
is too small.
|
gradient |
the gradient at the estimated maximum. |
steps |
number of function calls. |
Remark: The parameter estimation for the stable distribution via the
maximum Log-Likelihood approach may take a quite long time.
Diethelm Wuertz for the Rmetrics R-port.
## nigFit - # Simulate random variates HYP(1.5, 0.3, 0.5, -1.0): set.seed(1953) s = rnig(n = 1000, alpha = 1.5, beta = 0.3, delta = 0.5, mu = -1.0) ## nigFit - # Fit Parameters: # Note, this may take some time. # Starting vector (1, 0, 1, mean(s)): nigFit(s, alpha = 1, beta = 0, delta = 1, mu = mean(s), doplot = TRUE)