當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy special.ncfdtr用法及代碼示例


本文簡要介紹 python 語言中 scipy.special.ncfdtr 的用法。

用法:

scipy.special.ncfdtr(dfn, dfd, nc, f, out=None) = <ufunc 'ncfdtr'>#

非中心 F 分布的累積分布函數。

非中心 F 說明了的分布,

其中\(X\) \(Y\) 是獨立分布的,有\(X\) 分布式非中心\(\chi^2\) 具有非中心性參數數控\(d_n\) 自由度,和\(Y\) 分散式\(\chi^2\) \(d_d\) 自由度。

參數

dfn array_like

分子平方和的自由度。範圍(0,inf)。

dfd array_like

分母平方和的自由度。範圍(0,inf)。

nc array_like

非中心性參數。應在 (0, 1e4) 範圍內。

f array_like

分位數,即積分的上限。

out ndarray,可選

函數結果的可選輸出數組

返回

cdf 標量或 ndarray

計算的 CDF。如果所有輸入都是標量,則返回將是浮點數。否則它將是一個數組。

注意

CDFLIB 的包裝器[1]Fortran 例程cdffnc.

使用 [2] 的公式 26.6.20 計算累積分布函數:

其中 是正則化不完全 beta 函數,而

該例程所需的計算時間與非中心性參數 nc 成正比。此參數的非常大的值會消耗大量的計算機資源。這就是搜索範圍以 10,000 為界的原因。

參考

[1]

Barry Brown、James Lovato 和 Kathy Russell,CDFLIB:累積分布函數、逆函數和其他參數的 Fortran 例程庫。

[2]

Milton Abramowitz 和 Irene A. Stegun 合編。帶有公式、圖表和數學表格的數學函數手冊。紐約:多佛,1972 年。

例子

>>> import numpy as np
>>> from scipy import special
>>> from scipy import stats
>>> import matplotlib.pyplot as plt

繪製非中心 F 分布的 CDF,對於 nc=0。與 scipy.stats 中的 F-distribution 進行比較:

>>> x = np.linspace(-1, 8, num=500)
>>> dfn = 3
>>> dfd = 2
>>> ncf_stats = stats.f.cdf(x, dfn, dfd)
>>> ncf_special = special.ncfdtr(dfn, dfd, 0, x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot(x, ncf_stats, 'b-', lw=3)
>>> ax.plot(x, ncf_special, 'r-')
>>> plt.show()
scipy-special-ncfdtr-1.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.special.ncfdtr。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。