scipy.stats.Normal.
iccdf#
- Normal.iccdf(p, /, *, method=None)[source]#
反互補累積分布函數。
反互補累積分布函數(“inverse CCDF”),表示為 \(G^{-1}(p)\),是自變數 \(x\),對於此自變數,互補累積分布函數 \(G(x)\) 的值為 \(p\)。
\[G^{-1}(p) = x \quad \text{s.t.} \quad G(x) = p\]iccdf
接受 p,其中 \(p \in [0, 1]\)。- 參數:
- parray_like
反互補累積分布函數的自變數。
- method{None, ‘formula’, ‘complement’, ‘inversion’}
用於評估反互補累積分布函數的策略。預設情況下(
None
),基礎架構會從以下選項中選擇,並按優先順序排列。'formula'
:使用反互補累積分布函數本身的公式'complement'
:在 p 的補數處評估反累積分布函數'inversion'
:數值求解 CCDF 等於 p 的自變數
並非所有分布都提供所有 method 選項。如果選擇的 method 不可用,則會引發
NotImplementedError
。
- 回傳:
- outarray
在提供的自變數處評估的反互補累積分布函數。
說明
假設一個連續機率分布的支持域為 \([l, r]\)。反互補累積分布函數在 \(p = 1\) 時回傳其最小值 \(l\),在 \(p = 0\) 時回傳其最大值 \(r\)。由於 CCDF 的範圍為 \([0, 1]\),因此反互補累積分布函數僅在域 \([0, 1]\) 上定義;對於 \(p < 0\) 和 \(p > 1\),
iccdf
回傳nan
。範例
使用所需的參數實例化一個分布
>>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=-0.5, b=0.5)
在所需的自變數處評估反互補累積分布函數
>>> X.iccdf(0.25) 0.25 >>> np.allclose(X.iccdf(0.25), X.icdf(1-0.25)) True
當自變數超出域時,此函數回傳 NaN。
>>> X.iccdf([-0.1, 0, 1, 1.1]) array([ nan, 0.5, -0.5, nan])