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))
- 参数:
- xarray_like,实数或复数
参数
- outndarray,可选
用于函数结果的可选输出数组
- 返回:
- 标量或 ndarray
在 x 处评估的正常 CDF 的对数值
另请参阅
注释
log_ndtr
除了 NumPy 之外,还对 Python Array API Standard 兼容后端具有实验性支持。 请考虑通过设置环境变量SCIPY_ARRAY_API=1
并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。 支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> import numpy as np >>> from scipy.special import log_ndtr, ndtr
log_ndtr(x)
比朴素实现np.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])