scipy.special.log_ndtr#

scipy.special.log_ndtr(x, out=None) = <ufunc 'log_ndtr'>#

Logarithmus der gaußschen kumulativen Verteilungsfunktion.

Gibt den Logarithmus der Fläche unter der Standard-Gaußschen Wahrscheinlichkeitsdichtefunktion zurück, integriert von minus unendlich bis x

log(1/sqrt(2*pi) * integral(exp(-t**2 / 2), t=-inf..x))
Parameter:
xarray_like, reell oder komplex

Argument

outndarray, optional

Optionales Ausgabe-Array für die Funktionsergebnisse

Rückgabe:
skalar oder ndarray

Der Wert des Logarithmus der Normal-CDF, ausgewertet bei x

Hinweise

log_ndtr hat experimentelle Unterstützung für Backends, die mit dem Python Array API Standard kompatibel sind, zusätzlich zu NumPy. Bitte testen Sie diese Funktionen, indem Sie die Umgebungsvariable SCIPY_ARRAY_API=1 setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.

Bibliothek

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

Dask

n/a

Siehe Unterstützung für den Array API Standard für weitere Informationen.

Beispiele

>>> import numpy as np
>>> from scipy.special import log_ndtr, ndtr

Der Vorteil von log_ndtr(x) gegenüber der naiven Implementierung np.log(ndtr(x)) ist bei mäßig großen positiven Werten von x am deutlichsten.

>>> x = np.array([6, 7, 9, 12, 15, 25])
>>> log_ndtr(x)
array([-9.86587646e-010, -1.27981254e-012, -1.12858841e-019,
       -1.77648211e-033, -3.67096620e-051, -3.05669671e-138])

Die Ergebnisse der naiven Berechnung für mäßige x-Werte haben nur 5 oder 6 korrekte signifikante Ziffern. Für Werte von x größer als ungefähr 8,3 gibt der naive Ausdruck 0 zurück.

>>> np.log(ndtr(x))
array([-9.86587701e-10, -1.27986510e-12,  0.00000000e+00,
        0.00000000e+00,  0.00000000e+00,  0.00000000e+00])