当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。