scipy.special.log_ndtr#

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

高斯累積分布函數的對數。

傳回標準高斯機率密度函數曲線下從負無限大積分到 x 的面積的對數。

log(1/sqrt(2*pi) * integral(exp(-t**2 / 2), t=-inf..x))
參數:
x類陣列 (array-like),實數或複數

參數

outndarray,選用

函數結果的選用輸出陣列

傳回值:
純量或 ndarray

x 處評估的常態 CDF 對數值

另請參閱

erf
erfc
scipy.stats.norm
ndtr

範例

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

相較於簡單的實作方式 np.log(ndtr(x))log_ndtr(x) 的優點在於 x 值為中等到大的正值時最為明顯。

>>> 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])

針對中等的 x 值,簡單計算的結果只有 5 或 6 位有效數字是正確的。對於大於約 8.3 的 x 值,簡單的表示式會傳回 0。

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