iccdf — SciPy v1.15.3 Manual (original) (raw)

scipy.stats.Uniform.

Uniform.iccdf(p, /, *, method=None)[source]#

Inverse complementary cumulative distribution function.

The inverse complementary cumulative distribution function (“inverse CCDF”), denoted \(G^{-1}(p)\), is the argument \(x\) for which the complementary cumulative distribution function \(G(x)\) evaluates to\(p\).

\[G^{-1}(p) = x \quad \text{s.t.} \quad G(x) = p\]

iccdf accepts p for \(p \in [0, 1]\).

Parameters:

parray_like

The argument of the inverse CCDF.

method{None, ‘formula’, ‘complement’, ‘inversion’}

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

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

Returns:

outarray

The inverse CCDF evaluated at the provided argument.

Notes

Suppose a continuous probability distribution has support \([l, r]\). The inverse CCDF returns its minimum value of \(l\) at \(p = 1\)and its maximum value of \(r\) at \(p = 0\). Because the CCDF has range \([0, 1]\), the inverse CCDF is only defined on the domain \([0, 1]\); for \(p < 0\) and \(p > 1\), iccdfreturns nan.

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 inverse CCDF at the desired argument:

X.iccdf(0.25) 0.25 np.allclose(X.iccdf(0.25), X.icdf(1-0.25)) True

This function returns NaN when the argument is outside the domain.

X.iccdf([-0.1, 0, 1, 1.1]) array([ nan, 0.5, -0.5, nan])