A right-skewed Gumbel continuous random variable.
As an instance of the
rv_continuous
class, gumbel_r
object inherits from it a collection of generic methods [see below for the full list], and completes them with details specific for this
particular distribution.
Notes
The probability density function for gumbel_r
is:
\[f[x] = \exp[-[x + e^{-x}]]\]
The Gumbel distribution is sometimes referred to as a type I Fisher-Tippett distribution. It is also related to the extreme value distribution, log-Weibull and Gompertz distributions.
The
probability density above is defined in the “standardized” form. To shift and/or scale the distribution use the loc
and scale
parameters. Specifically, gumbel_r.pdf[x, loc, scale]
is identically equivalent to gumbel_r.pdf[y] / scale
with y = [x - loc] / scale
. Note that shifting the location of a distribution does not make it a “noncentral” distribution; noncentral generalizations of some distributions are available in separate classes.
Examples
>>> from scipy.stats import gumbel_r >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots[1, 1]
Calculate the first four moments:
>>> mean, var, skew, kurt = gumbel_r.stats[moments='mvsk']
Display
the probability density function [pdf
]:
>>> x = np.linspace[gumbel_r.ppf[0.01], ... gumbel_r.ppf[0.99], 100] >>> ax.plot[x, gumbel_r.pdf[x], ... 'r-', lw=5, alpha=0.6, label='gumbel_r pdf']
Alternatively, the distribution object can be called [as a function] to fix the shape, location and scale parameters. This returns a “frozen” RV object holding the given parameters fixed.
Freeze the distribution and display the frozen pdf
:
>>> rv = gumbel_r[] >>> ax.plot[x, rv.pdf[x], 'k-', lw=2, label='frozen pdf']
Check accuracy of cdf
and ppf
:
>>> vals = gumbel_r.ppf[[0.001, 0.5, 0.999]] >>> np.allclose[[0.001, 0.5, 0.999], gumbel_r.cdf[vals]] True
Generate random numbers:
>>> r = gumbel_r.rvs[size=1000]
And compare the histogram:
>>> ax.hist[r, density=True, histtype='stepfilled', alpha=0.2] >>> ax.legend[loc='best', frameon=False] >>> plt.show[]
Methods
rvs[loc=0, scale=1, size=1, random_state=None] | Random variates. |
pdf[x, loc=0, scale=1] | Probability density function. |
logpdf[x, loc=0, scale=1] | Log of the probability density function. |
cdf[x, loc=0, scale=1] | Cumulative distribution function. |
logcdf[x, loc=0, scale=1] | Log of the cumulative distribution function. |
sf[x, loc=0, scale=1] | Survival function [also defined as |
logsf[x, loc=0, scale=1] | Log of the survival function. |
ppf[q, loc=0, scale=1] | Percent point function [inverse of |
isf[q, loc=0, scale=1] | Inverse survival function [inverse of |
moment[order, loc=0, scale=1] | Non-central moment of the specified order. |
stats[loc=0, scale=1, moments=’mv’] | Mean[‘m’], variance[‘v’], skew[‘s’], and/or kurtosis[‘k’]. |
entropy[loc=0, scale=1] | [Differential] entropy of the RV. |
fit[data] | Parameter estimates for generic data. See scipy.stats.rv_continuous.fit for detailed documentation of the keyword arguments. |
expect[func, args=[], loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds] | Expected value of a function [of one argument] with respect to the distribution. |
median[loc=0, scale=1] | Median of the distribution. |
mean[loc=0, scale=1] | Mean of the distribution. |
var[loc=0, scale=1] | Variance of the distribution. |
std[loc=0, scale=1] | Standard deviation of the distribution. |
interval[confidence, loc=0, scale=1] | Confidence interval with equal areas around the median. |