scipy.special.ndtri#
- scipy.special.ndtri(p, out=None) = <ufunc 'ndtri'>#
ndtr的逆函数。返回分位数 x,使得标准正态分布在 x 处的累积分布函数值等于 p,即
ndtr(x) == p。- 参数:
- parray_like
概率值。
- outndarray, optional
函数结果的可选输出数组。
- 返回:
- xscalar or ndarray
对应于 p 中概率的分位数。
附注
数组 API 标准支持
ndtri除了支持 NumPy 外,还对符合 Python 数组 API 标准的后端提供了实验性支持。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端与设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
ndtri是标准正态分布的百分位(分位数)函数,即累积分布函数ndtr的逆函数。首先,计算累积分布值
>>> import numpy as np >>> from scipy.special import ndtri, ndtr >>> cdf_val = ndtr(2) >>> cdf_val 0.9772498680518208
验证
ndtri在浮点误差范围内还原出原始的 x 值。>>> ndtri(cdf_val) 2.0000000000000004
绘制概率范围内的百分位函数图。
>>> import matplotlib.pyplot as plt >>> p = np.linspace(1e-3, 1 - 1e-3, 201) >>> fig, ax = plt.subplots() >>> ax.plot(p, ndtri(p)) >>> ax.set_title("Standard normal percentile function") >>> plt.show()