scipy.stats.Normal.

icdf#

Normal.icdf(p, /, *, method=None)[Quellcode anzeigen]#

Inverse der kumulativen Verteilungsfunktion.

Für monotone kontinuierliche Verteilungen ist die Umkehrung der kumulativen Verteilungsfunktion ("inverse CDF"), bezeichnet als \(F^{-1}(p)\), das Argument \(x\), für das die kumulative Verteilungsfunktion \(F(x)\) den Wert \(p\) ergibt.

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

Wenn keine strikte "Umkehrung" der kumulativen Verteilungsfunktion existiert (z.B. bei diskreten Zufallsvariablen), wird die "inverse CDF" per Konvention als der kleinste Wert innerhalb des Trägers \(\chi\) definiert, für den \(F(x)\) mindestens \(p\) beträgt.

\[F^{-1}(p) = \min_\chi \quad \text{s.d.} \quad F(x) ≥ p\]

icdf akzeptiert p für \(p \in [0, 1]\).

Parameter:
parray_like

Das Argument der inversen CDF.

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

Die Strategie zur Auswertung der inversen CDF. Standardmäßig (None) wählt die Infrastruktur aus den folgenden Optionen, aufgeführt nach Rangfolge.

  • 'formula': verwendet eine Formel für die inverse CDF selbst

  • 'complement': wertet die inverse CCDF am Komplement von p aus

  • 'inversion': löst numerisch nach dem Argument, bei dem die CDF gleich p 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 CDF, ausgewertet am bereitgestellten Argument.

Siehe auch

cdf
ilogcdf

Hinweise

Angenommen, eine Wahrscheinlichkeitsverteilung hat den Träger \([l, r]\). Die inverse CDF gibt ihren Minimalwert \(l\) bei \(p = 0\) und ihren Maximalwert \(r\) bei \(p = 1\) zurück. Da die CDF den Wertebereich \([0, 1]\) hat, ist die inverse CDF nur auf dem Definitionsbereich \([0, 1]\) definiert; für \(p < 0\) und \(p > 1\) gibt icdf nan zurück.

Die inverse CDF ist auch bekannt als Quantilfunktion, Perzentilfunktion und Perzentil-Punkt-Funktion.

Referenzen

[1]

Quantilfunktion, Wikipedia, https://en.wikipedia.org/wiki/Quantile_function

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)

Wertet die inverse CDF am gewünschten Argument aus

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

Diese Funktion gibt NaN zurück, wenn das Argument außerhalb der Domäne liegt.

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