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。

另请参阅

cdf
logccdf

注释

假设一个连续概率分布的支持区间为 \([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 也被称为“生存函数”。

参考文献

示例

使用所需的参数实例化一个分布

>>> 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