scipy.stats.Mixture.
ccdf#
- Mixture.ccdf(x, y=None, /, *, method=None)[源代码]#
互补累积分布函数
互补累积分布函数(“CCDF”),记为\(G(x)\),是累积分布函数 \(F(x)\) 的补集;即,随机变量 \(X\) 取值大于 \(x\) 的概率
\[G(x) = 1 - F(x) = P(X > x)\]此函数的双参数变体是
\[G(x, y) = 1 - F(x, y) = P(X < x \text{ 或 } X > y)\]ccdf
接受 x 作为 \(x\),y 作为 \(y\)。- 参数:
- x, y类数组
CCDF 的参数。x 是必需的;y 是可选的。
- method{None, ‘formula’, ‘logexp’, ‘complement’, ‘quadrature’, ‘addition’}
用于计算 CCDF 的策略。 默认情况下(
None
),基础设施会从以下选项中选择,优先级从高到低排列。'formula'
: 使用 CCDF 本身的公式'logexp'
: 计算对数 CCDF 并取指数'complement'
: 计算 CDF 并取补集'quadrature'
: 数值积分 PDF
双参数形式在以下选项中选择
'formula'
: 使用 CCDF 本身的公式'addition'
: 计算 x 处的 CDF 和 y 处的 CCDF,然后相加
并非所有分布都提供所有 method 选项。 如果所选的 method 不可用,将引发
NotImplementedError
。
- 返回:
- out数组
在提供的参数处计算的 CCDF。
注释
假设一个连续概率分布的支持区间为 \([l, r]\)。CCDF \(G(x)\) 与概率密度函数 \(f(x)\) 的关系为
\[G(x) = \int_x^r f(u) du\]双参数版本为
\[G(x, y) = \int_l^x f(u) du + \int_y^r f(u) du\]CCDF 在 \(x ≥ r\) 时返回最小值 \(0\),在 \(x ≤ l\) 时返回最大值 \(1\)。
CCDF 也被称为“生存函数”。
参考文献
[1]累积分布函数, Wikipedia, https://en.wikipedia.org/wiki/Cumulative_distribution_function#Derived_functions
示例
使用所需的参数实例化一个分布
>>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5)
在所需的参数处计算 CCDF
>>> X.ccdf(0.25) 0.25 >>> np.allclose(X.ccdf(0.25), 1-X.cdf(0.25)) True
计算两个参数之间累积概率的补集
>>> X.ccdf(-0.25, 0.25) == X.cdf(-0.25) + X.ccdf(0.25) True