scipy.special.nctdtr#

scipy.special.nctdtr(df, nc, t, out=None) = <ufunc 'nctdtr'>#

非中心 t 分布的累积分布函数。

参数:
dfarray_like

分布的自由度。应在范围 (0, inf) 内。

ncarray_like

非中心性参数。

tarray_like

分位数,即积分上限。

outndarray,可选

用于函数结果的可选输出数组

返回:
cdf标量或 ndarray

计算得到的 CDF。如果所有输入都是标量,则返回值将是一个浮点数。否则,它将是一个数组。

参见

nctdtrit

非中心 t 分布的逆 CDF (iCDF)。

nctdtridf

计算自由度,给定 CDF 和 iCDF 值。

nctdtrinc

计算非中心性参数,给定 CDF iCDF 值。

说明

此函数使用 Boost Math C++ 库 [1] 计算非中心 t 分布的 CDF。

请注意,nctdtr 的参数顺序与 scipy.stats.nct 的类似 cdf 方法的参数顺序不同:tnctdtr 的最后一个参数,但却是 scipy.stats.nct.cdf 的第一个参数。

参考文献

[1]

Boost 开发人员。“Boost C++ 库”。 https://boost.ac.cn/

示例

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

绘制非中心 t 分布的 CDF,对于 nc=0。与 scipy.stats 的 t 分布进行比较

>>> x = np.linspace(-5, 5, num=500)
>>> df = 3
>>> nct_stats = stats.t.cdf(x, df)
>>> nct_special = special.nctdtr(df, 0, x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot(x, nct_stats, 'b-', lw=3)
>>> ax.plot(x, nct_special, 'r-')
>>> plt.show()
../../_images/scipy-special-nctdtr-1.png