scipy.stats.Uniform.
ccdf#
- Uniform.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{ or } X > y)\]ccdf
接受 x 作為 \(x\) 和 y 作為 \(y\)。- 參數:
- x, yarray_like
CCDF 的參數。x 為必填;y 為選填。
- method{None, ‘formula’, ‘logexp’, ‘complement’, ‘quadrature’, ‘addition’}
用於評估 CCDF 的策略。預設情況下 (
None
),基礎架構會在以下選項之間選擇,並依優先順序排列。'formula'
: 使用 CCDF 本身的公式'logexp'
: 評估 log-CCDF 並取指數'complement'
: 評估 CDF 並取補集'quadrature'
: 數值積分 PDF
雙參數形式在以下之間選擇
'formula'
: 使用 CCDF 本身的公式'addition'
: 計算 x 的 CDF 和 y 的 CCDF,然後相加
並非所有 method 選項都適用於所有分布。如果選定的 method 不可用,將會引發
NotImplementedError
。
- 回傳:
- outarray
在提供的參數下評估的 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\]對於 \(x ≥ r\),CCDF 回傳最小值 \(0\);對於 \(x ≤ l\),CCDF 回傳最大值 \(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