ilogccdf#
- Uniform.ilogccdf(logp, /, *, method=None)[source]#
- 互补累积分布函数的对数的逆函数。 - 互补累积分布函数的对数的逆函数(“逆 log-CCDF”)是参数 \(x\),对于该参数,互补累积分布函数的对数 \(\log(G(x))\) 的值为 \(\log(p)\)。 - 从数学上讲,它等效于 \(G^{-1}(\exp(y))\),其中 \(y = \log(p)\),但与朴素实现(计算 \(p = \exp(y)\),然后 \(G^{-1}(p)\))相比,它在数值上可能更具优势。 - ilogccdf接受 logp,其中 \(\log(p) ≤ 0\)。- 参数:
- xarray_like
- 逆 log-CCDF 的参数。 
- method{None, ‘formula’, ‘complement’, ‘inversion’}
- 用于评估逆 log-CCDF 的策略。默认情况下 ( - None),基础设施在以下选项之间进行选择,按优先级顺序列出。- 'formula':使用逆 log-CCDF 本身的公式
- 'complement':在 x 的对数补码处评估逆 log-CDF(请参阅注释)
- 'inversion':数值求解使 log-CCDF 等于 x 的参数
 - 并非所有分布都提供所有 method 选项。如果选择的 method 不可用,则会引发 - NotImplementedError。
 
- 返回值:
- outarray
- 在提供的参数下评估的逆 log-CCDF。 
 
 - 注释 - 假设概率分布具有支持 \([l, r]\)。逆 log-CCDF 在 \(\log(p) = \log(1) = 0\) 时返回其最小值 \(l\),在 \(\log(p) = \log(0) = -\infty\) 时返回其最大值 \(r\)。由于 log-CCDF 的范围为 \([-\infty, 0]\),因此逆 log-CDF 仅在负实数上定义;对于 \(\log(p) > 0\), - ilogccdf返回- nan。- 有时,需要找到 CCDF 的参数,使得得到的概率非常接近 - 0或- 1- 太接近而无法用浮点运算精确表示。但是,在许多情况下,这个结果概率的对数可以用浮点运算表示,在这种情况下,可以使用此函数来找到 CCDF 的参数,使得结果概率的对数为 \(y = \log(p)\)。- 数字 \(z\) 的“对数补码”在数学上等效于 \(\log(1-\exp(z))\),但它的计算是为了避免当 \(\exp(z)\) 接近 \(0\) 或 \(1\) 时精度损失。 - 示例 - 实例化具有所需参数的分布 - >>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5) - 在所需的参数下评估逆 log-CCDF - >>> X.ilogccdf(-0.25) -0.2788007830714034 >>> np.allclose(X.ilogccdf(-0.25), X.iccdf(np.exp(-0.25))) True