GEV                  package:nsRFA                  R Documentation

_T_h_r_e_e _p_a_r_a_m_e_t_e_r _g_e_n_e_r_a_l_i_z_e_d _e_x_t_r_e_m_e _v_a_l_u_e _d_i_s_t_r_i_b_u_t_i_o_n _a_n_d _L-_m_o_m_e_n_t_s

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

     'GEV' provides the link between L-moments of a sample and the
     three parameter generalized extreme value distribution.

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

     f.GEV (x, xi, alfa, k)
     F.GEV (x, xi, alfa, k)
     invF.GEV (F, xi, alfa, k)
     Lmom.GEV (xi, alfa, k)
     par.GEV (lambda1, lambda2, tau3)
     rand.GEV (numerosita, xi, alfa, k)

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

       x: vector of quantiles

      xi: vector of GEV location parameters

    alfa: vector of GEV scale parameters

       k: vector of GEV shape parameters

       F: vector of probabilities

 lambda1: vector of sample means

 lambda2: vector of L-variances

    tau3: vector of L-CA (or L-skewness)

numerosita: numeric value indicating the length of the vector to be
          generated

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

     See <URL:
     http://en.wikipedia.org/wiki/Generalized_extreme_value_distribution>
     for an introduction to the GEV distribution.

     *Definition*

     Parameters (3): xi (location), alpha (scale), k (shape).

     Range of x: -infty < x <= xi + alpha / k if k>0; -infty < x <
     infty if k=0; xi + alpha / k <= x < infty if k<0.

     Probability density function:

                f(x) = alpha^{-1} e^{-(1-k)y - e^{-y}}

     where y = -k^{-1}log{1 - k(x - xi)/alpha} if k ne 0, y =
     (x-xi)/alpha if k=0.

     Cumulative distribution function:

                          F(x) = e^{-e^{-y}}


     Quantile function: x(F) = xi + alpha[1-(-log F)^k]/k if k ne 0,
     x(F) = xi - alpha log(-log F) if k=0.

     k=0 is the Gumbel distribution; k=1 is the reverse exponential
     distribution.

     *L-moments*

     L-moments are defined for k>-1.


               lambda_1 = xi + alpha[1 - Gamma (1+k)]/k


              lambda_2 = alpha (1-2^{-k}) Gamma (1+k)]/k


                   tau_3 = 2(1-3^{-k})/(1-2^{-k})-3


      tau_4 = [5(1-4^{-k})-10(1-3^{-k})+6(1-2^{-k})]/(1-2^{-k})


     Here Gamma denote the gamma function

             Gamma (x) = int_0^{infty} t^{x-1} e^{-t} dt


     *Parameters*

     To estimate k, no explicit solution is possible, but the following
     approximation has accurancy better than 9 times 10^{-4} for -0.5
     <= tau_3 <= 0.5:

                    k approx 7.8590 c + 2.9554 c^2

     where

              c = frac{2}{3+tau_3} - frac{log 2}{log 3}

     The other parameters are then given by

            alpha = frac{lambda_2 k}{(1-2^{-k})Gamma(1+k)}


               xi = lambda_1 - alpha[1 - Gamma(1+k)]/k


     'Lmom.GEV' and 'par.GEV' accept input as vectors of equal length.
     In 'f.GEV', 'F.GEV', 'invF.GEV' and 'rand.GEV' parameters ('xi',
     'alfa', 'k') must be atomic.

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

     'f.GEV' gives the density f, 'F.GEV' gives the distribution
     function F, 'invF.GEV' gives the quantile function x, 'Lmom.GEV'
     gives the L-moments (lambda_1, lambda_2, tau_3, tau_4), 'par.GEV'
     gives the parameters ('xi', 'alfa', 'k'), and 'rand.GEV' generates
     random deviates.

_N_o_t_e:

     For information on the package and the Author, and for all the
     references, see 'nsRFA'.

_S_e_e _A_l_s_o:

     'rnorm', 'runif', 'EXP', 'GENLOGIS', 'GENPAR', 'GUMBEL', 'KAPPA',
     'LOGNORM', 'P3'; 'DISTPLOTS', 'GOFmontecarlo', 'Lmoments'.

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

     data(hydroSIMN)
     annualflows
     summary(annualflows)
     x <- annualflows["dato"][,]
     fac <- factor(annualflows["cod"][,])
     split(x,fac)

     camp <- split(x,fac)$"45"
     ll <- Lmoments(camp)
     parameters <- par.GEV(ll[1],ll[2],ll[4])
     f.GEV(1800,parameters$xi,parameters$alfa,parameters$k)
     F.GEV(1800,parameters$xi,parameters$alfa,parameters$k)
     invF.GEV(0.7518357,parameters$xi,parameters$alfa,parameters$k)
     Lmom.GEV(parameters$xi,parameters$alfa,parameters$k)
     rand.GEV(100,parameters$xi,parameters$alfa,parameters$k)

     Rll <- regionalLmoments(x,fac); Rll
     parameters <- par.GEV(Rll[1],Rll[2],Rll[4])
     Lmom.GEV(parameters$xi,parameters$alfa,parameters$k)

