方法
random.Generator.
noncentral_f
从非中心F分布中提取样本。
从具有指定参数的F分布中提取样本, dfnum (分子自由度)和 dfden (分母中的自由度),其中两个参数均大于1。 nonc 是非中心性参数。
分子自由度,必须大于0。
在 1.14.0 版更改: 早期的numpy版本需要dfnum>1。
分母自由度必须大于0。
非中心性参数,即分子平均值的平方和,必须大于等于0。
输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。如果尺寸是 None (默认),如果 dfnum , dfden 和 nonc 都是鳞片。否则, np.broadcast(dfnum, dfden, nonc).size 取样。
(m, n, k)
m * n * k
None
dfnum
dfden
nonc
np.broadcast(dfnum, dfden, nonc).size
从参数化非中心Fisher分布中提取样本。
笔记
当计算一个实验的功率(功率=当一个特定的选择是真的时拒绝零假设的概率)时,非中心F统计量变得重要。当零假设成立时,F统计量服从中心F分布。当无效假设不成立时,则遵循非中心F统计量。
工具书类
非中心F-分布〉,摘自《数学世界——沃尔夫拉姆网络资源》。http://mathworld.wolfram.com/noncentralf-distribution.html
维基百科,“非中心F-分布”,https://en.wikipedia.org/wiki/noncentral_f-distribution
实例
在一项研究中,对空假设的特定替代方案的测试需要使用非中心F分布。对于零假设,我们需要计算分布尾部超过f分布值的面积。我们将绘制两个概率分布图进行比较。
>>> rng = np.random.default_rng() >>> dfnum = 3 # between group deg of freedom >>> dfden = 20 # within groups degrees of freedom >>> nonc = 3.0 >>> nc_vals = rng.noncentral_f(dfnum, dfden, nonc, 1000000) >>> NF = np.histogram(nc_vals, bins=50, density=True) >>> c_vals = rng.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()