scipy.stats.Uniform.

ilogcdf#

Uniform.ilogcdf(logp, /, *, method=None)[Quelle]#

Inverse des Logarithmus der kumulativen Verteilungsfunktion.

Die Umkehrfunktion des Logarithmus der kumulativen Verteilungsfunktion („inverse log-CDF“) ist das Argument \(x\), für das der Logarithmus der kumulativen Verteilungsfunktion \(\log(F(x))\) den Wert \(\log(p)\) ergibt.

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

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

Parameter:
logparray_like

Das Argument der inversen log-CDF.

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

Die verwendete Strategie zur Auswertung der inversen log-CDF. Standardmäßig (None) wählt die Infrastruktur aus den folgenden Optionen, die in der Reihenfolge ihrer Priorität aufgeführt sind.

  • 'formula': Verwendung einer Formel für die inverse log-CDF selbst.

  • 'complement': Auswertung der inversen log-CCDF am logarithmischen Komplement von logp (siehe Hinweise).

  • 'inversion': Numerische Lösung für das Argument, bei dem die log-CDF gleich logp 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-CDF, ausgewertet am bereitgestellten Argument.

Siehe auch

icdf
logcdf

Hinweise

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

Gelegentlich ist es notwendig, das Argument der CDF 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 diesem Fall kann diese Funktion verwendet werden, um das Argument der CDF 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)

Auswerten der inversen log-CDF am gewünschten Argument.

>>> X.ilogcdf(-0.25)
0.2788007830714034
>>> np.allclose(X.ilogcdf(-0.25), X.icdf(np.exp(-0.25)))
True