DistributionFits           package:fBasics           R Documentation

_P_a_r_a_m_e_t_e_r _F_i_t _o_f _a _D_i_s_t_r_i_b_u_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     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:

       '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.

_U_s_a_g_e:

     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, doplot = TRUE, 
         span = "auto", trace = FALSE, title = NULL, description = NULL, ...) 
     hypFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, doplot = TRUE, 
         span = "auto", trace = FALSE, title = NULL, description = NULL, ...)
     nigFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, doplot = TRUE, 
         span = "auto", trace = FALSE, title = NULL, description = NULL, ...)
        
     ## S3 method for class 'fDISTFIT':
     print(x, ...)

_A_r_g_u_m_e_n_t_s:

alpha, beta, gamma, delta, mu, lambda: [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'. 

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. 

  doplot: [tFit][hypFit][nigFit] - 
           a logical flag. Should a plot be displayed? 

    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. 

_D_e_t_a_i_l_s:

     *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. 

     *Spline Smoothed Distribution:* 
      Estimates are done using smoothing spline ANOVA models with cubic
      spline marginals for numerical variables.

_V_a_l_u_e:

     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. 

_A_u_t_h_o_r(_s):

     Diethelm Wuertz for the Rmetrics R-port.

_E_x_a_m_p_l_e_s:

     ## SOURCE("fBasics.2D-DistributionFits")
        
     ## Plot:
        par(ask = FALSE)
        
     ## 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) 

