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,
       'ssdFit'     smoothing spline estimation ,
       'print.ssd'  S3 print method for objects returned from 'ssdFit'.

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

     tFit(x, df = 4, doplot = TRUE, span = "auto", title = NULL, 
             description = NULL, ...)
             
     stableFit(x, alpha = 1.75, beta = 0, gamma = 1, delta = 0, 
             type = c("q", "mle"), doplot = TRUE, title = NULL, description = NULL)
             
     ghFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, lambda = 1, doplot = TRUE, 
         span = "auto", title = NULL, description = NULL, ...)     
     hypFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, doplot = TRUE, 
         span = "auto", title = NULL, description = NULL, ...)
     nigFit(x, alpha = 1, beta = 0, delta = 1, mu = 0, doplot = TRUE, 
         span = "auto", title = NULL, description = NULL, ...)
        
     ## S3 method for class 'fDISTFIT':
     print(x, ...)
      
     ssdFit(x, alpha = 1.4, seed = NULL, title = NULL, description = NULL)

     ## S3 method for class 'ssd':
     print(x, ...)

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

alpha, beta, gamma, delta, mu, lambda: [ssdFit] - 
           alpha is the parameter defining cross-validation score for 
          smoothing parameter selection. 
           [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. Should a plot be displayed? 

    seed: [ssdFit] - 
           Seed to be used for the random generation of "knots."  

    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. 

    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. 
           [print.ssd] - 
           an S3 object of class '"ssd"' as returned from the function
          'ssdFit'.  

     ...: parameters parsed to the function 'density' and to the
          'print.ssd' function. 

_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. 


     The function 'ssdFit' returns an S3 object of class '"ssd"' which
     contains as information the parameters to compute density,
     probability, quantiles, and random deviates for the functions
     '[dpqr]ssd'.

_N_o_t_e:

     The function 'ssdFit' does not implement the full functionality 
     provided by R's contributed package "gss". Only the "cubic" spline
      method is provided and most of the optional arguments are set to 
     default values. Since the original "gss" package does not
     interfere  with Rmetrics you can load it in parallel, and use the
     function 'ssden' in place of 'ssdFit'.

     It's worth to note that the "gss" package does not work under
     SPlus, but the modified and adapted functions 'ssdFit' and '*ssd'
     can be used.

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

     Chong Gu for the code from R's contributed package 'gss', 
      Diethelm Wuertz for the Rmetrics R-port.

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

     ## SOURCE("fBasics.13D-DistributionFits")

     ## tFit -
        xmpBasics("\nStart: MLE Fit to Student's t Density > ")
        par(mfrow = c(2,2), cex = 0.7, err = -1)
        options(warn = -1)
        # Simulated random variates t(4):
        set.seed(1953)
        s = rt(n = 1000, df = 4) 
        # Note, this may take some time.
        # Starting vector:
        df.startvalue = 2*var(s)/(var(s)-1)
        tFit(s, df.startvalue, doplot = TRUE)
        
     ## ghFit -

     ## hypFit -
        xmpBasics("\nNext: MLE Fit to Hyperbolic Density > ")
        # Simulated random variates HYP(1, 0.3, 1, -1):
        set.seed(1953)
        s = rhyp(n = 1000, alpha = 1.5, beta = 0.3, delta = 0.5, mu = -1) 
        # Note, this may take some time.
        # Starting vector (1, 0, 1, mean(s)):
        hypFit(s, alpha = 1, beta = 0, delta = 1, mu = mean(s), 
          doplot = TRUE, width = 0.5)
        
     ## nigFit -
        xmpBasics("\nNext: MLE Fit to Normal Inverse Gaussian Density > ")
        # Simulated 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) 
        # 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)
        
     ## ssdFit -
        xmpBasics("\nNext: Smoothed Spline Density > ")
        set.seed(1953)
        x = rnorm(1000)
        ssdFit(x)

