scipy.stats.Uniform.
icdf#
- Uniform.icdf(p, /, *, method=None)[源代码]#
累积分布函数的反函数。
累积分布函数的反函数(“反 CDF”),记为 \(F^{-1}(p)\),是使累积分布函数 \(F(x)\) 的值为 \(p\) 的参数 \(x\)。
\[F^{-1}(p) = x \quad \text{s.t.} \quad F(x) = p\]icdf
接受 p,其中 \(p \in [0, 1]\)。- 参数:
- p类数组
反 CDF 的参数。
- method{None, ‘formula’, ‘complement’, ‘inversion’}
用于评估反 CDF 的策略。默认情况下(
None
),基础结构会从以下选项中选择,并按优先级顺序排列。'formula'
: 使用反 CDF 本身的公式'complement'
: 在 p 的补集处评估反 CCDF'inversion'
: 数值求解 CDF 等于 p 的参数
并非所有分布都提供所有的 method 选项。如果所选的 method 不可用,将引发
NotImplementedError
。
- 返回:
- out数组
在提供的参数处评估的反 CDF。
注释
假设连续概率分布的支持为 \([l, r]\)。反 CDF 在 \(p = 0\) 时返回其最小值 \(l\),在 \(p = 1\) 时返回其最大值 \(r\)。由于 CDF 的范围为 \([0, 1]\),因此反 CDF 仅在域 \([0, 1]\) 上定义;对于 \(p < 0\) 和 \(p > 1\),
icdf
返回nan
。反 CDF 也称为分位数函数、百分位数函数和百分点函数。
参考文献
[1]示例
使用所需的参数实例化分布
>>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5)
在所需的参数处评估反 CDF
>>> X.icdf(0.25) -0.25 >>> np.allclose(X.cdf(X.icdf(0.25)), 0.25) True
当参数超出域时,此函数返回 NaN。
>>> X.icdf([-0.1, 0, 1, 1.1]) array([ nan, -0.5, 0.5, nan])