numpy.random.RandomState.noncentral_f

方法

random.RandomState.noncentral_f(dfnum, dfden, nonc, size=None)

从非中心F分布中提取样本。

从具有指定参数的F分布中提取样本, dfnum (分子自由度)和 dfden (分母中的自由度),其中两个参数均大于1。 nonc 是非中心性参数。

注解

新代码应该使用 noncentral_f A方法 default_rng() 请参阅 快速启动 .

参数
dfnum浮点数或类似浮点数的数组

分子自由度,必须大于0。

在 1.14.0 版更改: 早期的numpy版本需要dfnum>1。

dfden浮点数或类似浮点数的数组

分母自由度必须大于0。

nonc浮点数或类似浮点数的数组

非中心性参数,即分子平均值的平方和,必须大于等于0。

sizeint或int的元组,可选

输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。如果尺寸是 None (默认),如果 dfnumdfdennonc 都是鳞片。否则, np.broadcast(dfnum, dfden, nonc).size 取样。

返回
outndarray或scalar

从参数化非中心Fisher分布中提取样本。

参见

Generator.noncentral_f

应该用于新代码。

笔记

当计算一个实验的功率(功率=当一个特定的选择是真的时拒绝零假设的概率)时,非中心F统计量变得重要。当零假设成立时,F统计量服从中心F分布。当无效假设不成立时,则遵循非中心F统计量。

工具书类

1

非中心F-分布〉,摘自《数学世界——沃尔夫拉姆网络资源》。http://mathworld.wolfram.com/noncentralf-distribution.html

2

维基百科,“非中心F-分布”,https://en.wikipedia.org/wiki/noncentral_f-distribution

实例

在一项研究中,对空假设的特定替代方案的测试需要使用非中心F分布。对于零假设,我们需要计算分布尾部超过f分布值的面积。我们将绘制两个概率分布图进行比较。

>>> dfnum = 3 # between group deg of freedom
>>> dfden = 20 # within groups degrees of freedom
>>> nonc = 3.0
>>> nc_vals = np.random.noncentral_f(dfnum, dfden, nonc, 1000000)
>>> NF = np.histogram(nc_vals, bins=50, density=True)
>>> c_vals = np.random.f(dfnum, dfden, 1000000)
>>> F = np.histogram(c_vals, bins=50, density=True)
>>> import matplotlib.pyplot as plt
>>> plt.plot(F[1][1:], F[0])
>>> plt.plot(NF[1][1:], NF[0])
>>> plt.show()
../../../_images/numpy-random-RandomState-noncentral_f-1.png