scipy.stats.Uniform.

ilogccdf#

Uniform.ilogccdf(logp, /, *, method=None)[source]#

Inverse des Logarithmus der komplementären kumulativen Verteilungsfunktion.

Die Inverse des Logarithmus der komplementären kumulativen Verteilungsfunktion ("Inverse Log-CCDF") ist das Argument \(x\), für das der Logarithmus der komplementären kumulativen Verteilungsfunktion \(\log(G(x))\) gleich \(\log(p)\) ist.

Mathematisch ist sie äquivalent zu \(G^{-1}(\exp(y))\), wobei \(y = \log(p)\) ist, kann aber numerisch vorteilhafter sein als die naive Implementierung (Berechnung von \(p = \exp(y)\), dann \(G^{-1}(p)\)).

ilogccdf akzeptiert logp für \(\log(p) ≤ 0\).

Parameter:
xarray_like

Das Argument der inversen Log-CCDF.

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

Die Strategie, die zur Auswertung der inversen Log-CCDF verwendet wird. Standardmäßig (None) wählt die Infrastruktur zwischen den folgenden Optionen, aufgeführt in absteigender Reihenfolge der Priorität.

  • 'formula': Verwendung einer Formel für die inverse Log-CCDF selbst.

  • 'complement': Auswertung der inversen Log-CDF am logarithmischen Komplement von x (siehe Hinweise).

  • 'inversion': Numerische Lösung für das Argument, bei dem die Log-CCDF gleich x ist.

Nicht alle method-Optionen sind für alle Verteilungen verfügbar. Wenn die ausgewählte method nicht verfügbar ist, wird ein NotImplementedError ausgelöst.

Rückgabe:
outarray

Die inverse Log-CCDF, ausgewertet am bereitgestellten Argument.

Siehe auch

iccdf
ilogccdf

Hinweise

Angenommen, eine Wahrscheinlichkeitsverteilung hat den Träger \([l, r]\). Der inverse Log-CCDF gibt seinen Minimalwert \(l\) bei \(\log(p) = \log(1) = 0\) und seinen Maximalwert \(r\) bei \(\log(p) = \log(0) = -\infty\) zurück. Da der Log-CCDF den Wertebereich \([-\infty, 0]\) hat, ist die inverse Log-CDF nur auf den negativen reellen Zahlen definiert; für \(\log(p) > 0\) gibt ilogccdf nan zurück.

Gelegentlich ist es notwendig, das Argument der CCDF zu finden, für das die resultierende Wahrscheinlichkeit sehr nahe bei 0 oder 1 liegt - zu nahe, um sie mit Gleitkommaarithmetik genau darzustellen. In vielen Fällen kann jedoch der *Logarithmus* dieser resultierenden Wahrscheinlichkeit in Gleitkommaarithmetik dargestellt werden, in welchem Fall diese Funktion verwendet werden kann, um das Argument der CCDF zu finden, für das der *Logarithmus* der resultierenden Wahrscheinlichkeit \(y = \log(p)\) ist.

Das "logarithmische Komplement" einer Zahl \(z\) ist mathematisch äquivalent zu \(\log(1-\exp(z))\), wird aber so berechnet, dass Genauigkeitsverluste vermieden werden, wenn \(\exp(z)\) fast \(0\) oder \(1\) ist.

Beispiele

Instanziieren Sie eine Verteilung mit den gewünschten Parametern

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

Berechnet die inverse Log-CCDF am gewünschten Argument.

>>> X.ilogccdf(-0.25)
-0.2788007830714034
>>> np.allclose(X.ilogccdf(-0.25), X.iccdf(np.exp(-0.25)))
True