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

在提供的自變數處評估的反互補累積分布函數。

參見

icdf
ilogccdf

說明

假設一個連續機率分布的支持域為 \([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])