scipy.stats.Uniform.

ccdf#

Uniform.ccdf(x, y=None, /, *, method=None)[source]#

Complementary cumulative distribution function

The complementary cumulative distribution function (“CCDF”), denoted G(x), is the complement of the cumulative distribution function F(x); i.e., probability the random variable X will assume a value greater than x:

G(x) = 1 - F(x) = P(X > x)

A two-argument variant of this function is:

G(x, y) = 1 - F(x, y) = P(X < x \text{ or } X > y)

ccdf accepts x for x and y for y.

Parameters:
x, yarray_like

The arguments of the CCDF. x is required; y is optional.

method{None, ‘formula’, ‘logexp’, ‘complement’, ‘quadrature’, ‘addition’}

The strategy used to evaluate the CCDF. By default (None), the infrastructure chooses between the following options, listed in order of precedence.

  • 'formula': use a formula for the CCDF itself

  • 'logexp': evaluate the log-CCDF and exponentiate

  • 'complement': evaluate the CDF and take the complement

  • 'quadrature': numerically integrate the PDF

The two-argument form chooses between:

  • 'formula': use a formula for the CCDF itself

  • 'addition': compute the CDF at x and the CCDF at y, then add

Not all method options are available for all distributions. If the selected method is not available, a NotImplementedError will be raised.

Returns:
outarray

The CCDF evaluated at the provided argument(s).

See also

cdf
logccdf

Notes

Suppose a continuous probability distribution has support [l, r]. The CCDF G(x) is related to the probability density function f(x) by:

G(x) = \int_x^r f(u) du

The two argument version is:

G(x, y) = \int_l^x f(u) du + \int_y^r f(u) du

The CCDF returns its minimum value of 0 for x ≥ r and its maximum value of 1 for x ≤ l.

The CCDF is also known as the “survival function”.

References

Examples

Instantiate a distribution with the desired parameters:

>>> import numpy as np
>>> from scipy import stats
>>> X = stats.Uniform(a=-0.5, b=0.5)

Evaluate the CCDF at the desired argument:

>>> X.ccdf(0.25)
0.25
>>> np.allclose(X.ccdf(0.25), 1-X.cdf(0.25))
True

Evaluate the complement of the cumulative probability between two arguments:

>>> X.ccdf(-0.25, 0.25) == X.cdf(-0.25) + X.ccdf(0.25)
True