Generalized Extreme Value (Maximum) or GEV distribution#
- class ctx.dist_gev(n1, n2, lambda, **kwargs)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.These functions return PDF, CDF, and ICDF of the GEV distribution with location \(a\), scale \(b > 0\), and the support interval \((-\infty,+\infty)\) :
See also: Wikipedia [1297], Kleiber and Kotz [415], Kotz and Nadarajah [420], Coles [191].
Extreme value theory studies the statistical behaviour of \(M_n = \text{max}\{X_1, \ldots, X_n \}\), or \(M_n = \text{min}\{X_1, \ldots, X_n \}\), where \(\{X_1, \ldots, X_n \}\) is a sequence of independent random variables having a common distribution function \(F\).
If there exist sequences of constants \(\{a_n\}\) and \(\{b_n\}\) such that \(\lim\limits_{n \to \infty} P\{(M_n-b_n)/a_n \le z\} = G(z)\), where \(G\) is a non-degenerate distribution function (this assumption is called the stability postulate), then \(G\) belongs to the Gumbel, Fréchet or Weibull family of distributions.
The following table summarizes the forms of limiting distributions for maxima and minima for seven widely used continuous distributions:
Initial Distribution
Limiting distribution for maxima
Limiting distribution for minima
Exponential
Type 1 (Gumbel)
Type 3 (Weibull)
Gamma
Type 1 (Gumbel)
Type 3 (Weibull)
Normal
Type 1 (Gumbel)
Type 1 (Gumbel)
Log-Normal
Type 1 (Gumbel)
Type 1 (Gumbel)
Uniform
Type 3 (Weibull)
Type 3 (Weibull)
Pareto
Type 2 (Fréchet)
Type 3 (Weibull)
Cauchy
Type 2 (Fréchet)
Type 2 (Fréchet)
- dist_gev.pdf(x)#
Returns \(\text{pdf}_X(x)\), the probability density function (pdf) of a random variable \(X\), following an GEV distribution:
\[\begin{split}\text{pdf}_X(x) = \text{cdf}_X(x) \times \begin{cases} \left( 1-c \dfrac{x-a}{b} \right)^{1/c-1} & \text{for } c \ne 0 \\ \exp \left(-\dfrac{x-a}{b} \right) & \text{for } c = 0 \end{cases}\end{split}\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; x = 3; >>> print ("pdf: ", dist_gev(mu, sigma).pdf(x)) 6.3563523462564525615615615614561356E-20
- dist_gev.cdf(x)#
Returns \(\text{cdf}_X(x)\), the cumulative distribution function (cdf) of a random variable \(X\), following an GEV distribution:
\[\begin{split}\text{cdf}_X(x) = \begin{cases} \exp\left( 1-c \dfrac{x-a}{b} \right)^{1/c} & \text{for } c \ne 0 \\ \exp\left( -\exp \left(-\dfrac{x-a}{b} \right) \right) & \text{for } c = 0 \end{cases}\end{split}\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; x = 3; >>> print ("cdf: ", dist_gev(mu, sigma).pdf(x)) 6.3563523462564525615615615614561356E-20
- dist_gev.sf(x)#
Returns \(\text{sf}_X(x)\), the survival function function (sf) of a random variable \(X\), following an GEV distribution:
\[\begin{split}\text{sf}_X(x) = \begin{cases} 1-\exp\left( 1-c \dfrac{x-a}{b} \right)^{1/c} & \text{for } c \ne 0 \\ 1-\exp\left( -\exp \left(-\dfrac{x-a}{b} \right) \right) & \text{for } c = 0 \end{cases}\end{split}\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; x = 3; >>> print (" sf: ", dist_gev(mu, sigma).pdf(x)) sf: 6.3563523462564525615615615614561356E-20
- dist_gev.qtf(q)#
Returns \(\text{qtf}_X(x)\), the quantile function function (qtf) of a random variable \(X\), following an GEV distribution:
\[\begin{split}\text{qtf}_X(x) = \begin{cases} a + \dfrac{b}{c} \left( 1-\log(q))^c \right) & \text{for } c \ne 0 \\ a - b \log(-\log(q)) & \text{for } c = 0 \end{cases}\end{split}\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; q = 0.3; >>> print ("qtf: ", dist_gev(mu, sigma).qtf(q)) qtf: 6.3563523462564525615615615614561356E+00
- dist_gev.isf(q)#
Returns \(\text{isf}_X(q)\), the inverse survival function function (isf) of a random variable \(X\), following an GEV distribution:
\[\begin{split}\text{isf}_X(x) = \begin{cases} a + \dfrac{b}{c} \left( 1-\log(1-q))^c \right) & \text{for } c \ne 0 \\ a - b \log(-\log(1-q)) & \text{for } c = 0 \end{cases}\end{split}\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; q = 0.3; >>> print ("isf: ", dist_gev(mu, sigma).isf(q)) 6.3563523462564525615615615614561356E+00
- dist_gev.c_x(t)#
Returns \(C_X(t)\), the characteristic function of a random variable \(X\), following an GEV distribution:
\[C_X(t) = \int_{0}^{\infty} e^{i tx} \text{pdf}_X(x) \mathrm{d} x\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; t = 0.3; >>> print ("c_x: ", dist_gev(mu, sigma).c_x(t)) 6.3563523462564525615615615614561356E+00
- dist_gev.m_x(t)#
Returns None, since the moment generating function does not exist.
- dist_gev.k_x(t, k=0)#
Returns None, since the cumulant generating function does not exist.
- dist_gev.moments(k)#
Returns the first \(j\) central moments, \(\mu_j, j = 1 \ldots k\), of a random variable \(X\), following an GEV distribution (see Kleiber_2007_Dagum_moments). The kth moment exists for \(-ap < k < a\) and equals
\[\mu_k = ??\]>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; k = 6; >>> print ("saddlepoint: ", dist_gev(mu, sigma).moments(k)) 6.3563523462564525615615615614561356E+00
- dist_gev.cumulants(k)#
Returns the first \(j\) cumulants, \(\kappa_j, j = 1 \ldots k\), of a random variable \(X\), following an GEV distribution. The cumulants are calculated from the moments.
>>> from mpdistrib import * >>> mp.dps = 30 >>> mu = 0; sigma = 1; k = 6; >>> print ("saddlepoint: ", dist_gev(mu, sigma).cumulants(k)) 6.3563523462564525615615615614561356E+00