scipy.stats.Binomial.
icdf#
- Binomial.icdf(p, /, *, method=None)[source]#
累积分布函数的逆函数。
对于单调连续分布,累积分布函数的逆函数(“逆 CDF”),表示为 \(F^{-1}(p)\),是自变量 \(x\),对于该自变量,累积分布函数 \(F(x)\) 的值为 \(p\)。
\[F^{-1}(p) = x \quad \text{s.t.} \quad F(x) = p\]当累积分布函数的严格“逆函数”不存在时(例如,离散随机变量),“逆 CDF”按照惯例定义为支持度 \(\chi\) 内的最小值,对于该最小值,\(F(x)\) 至少为 \(p\)。
\[F^{-1}(p) = \min_\chi \quad \text{s.t.} \quad F(x) ≥ p\]icdf
接受p
作为 \(p \in [0, 1]\)。- 参数:
- 返回值:
- outarray
在提供的自变量处评估的逆 CDF。
备注
假设概率分布的支持度为 \([l, r]\)。逆 CDF 在 \(p = 0\) 时返回其最小值 \(l\),在 \(p = 1\) 时返回其最大值 \(r\)。由于 CDF 的范围为 \([0, 1]\),因此逆 CDF 仅在域 \([0, 1]\) 上定义;对于 \(p < 0\) 和 \(p > 1\),
icdf
返回nan
。逆 CDF 也称为分位数函数、百分位数函数和百分点函数。
参考文献
[1]分位数函数,Wikipedia,https://en.wikipedia.org/wiki/Quantile_function
示例
使用所需的参数实例化分布
>>> 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])