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\]icdfakzeptiert 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
NotImplementedErrorausgelöst.
- Rückgabe:
- outarray
Die inverse CDF, ausgewertet am bereitgestellten Argument.
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
icdfnanzurü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])