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


Python dask.array.random.f用法及代码示例


用法:

dask.array.random.f(dfnum, dfden, size=None, chunks='auto', **kwargs)

从 F 分布中抽取样本。

此文档字符串是从 numpy.random.mtrand.RandomState.f 复制的。

可能存在与 Dask 版本的一些不一致之处。

样本来自具有指定参数的 F 分布,dfnum(分子自由度)和dfden(分母自由度),其中两个参数必须大于零。

F 分布的随机变量(也称为 Fisher 分布)是在 ANOVA 检验中出现的连续概率分布,是两个卡方变量的比率。

注意

新代码应改为使用default_rng() 实例的f 方法;请参阅快速入门。

参数

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

分子的自由度必须 > 0。

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

分母的自由度必须 > 0。

size整数或整数元组,可选

输出形状。例如,如果给定的形状是 (m, n, k) ,则绘制 m * n * k 样本。如果 size 为 None(默认),如果 dfnumdfden 都是标量,则返回单个值。否则,将抽取np.broadcast(dfnum, dfden).size 样本。

返回

outndarray 或标量

从参数化的 Fisher 分布中抽取样本。

注意

F 统计量用于将in-group 方差与between-group 方差进行比较。计算分布取决于抽样,因此它是问题中各个自由度的函数。变量dfnum是样本数减一,即between-groups自由度,而dfden是within-groups自由度,每组样本数之和减去组数。

参考

1

Glantz, Stanton A. “生物统计学入门”,McGraw-Hill,第五版,2002 年。

2

维基百科,“F-distribution”,https://en.wikipedia.org/wiki/F-distribution

例子

Glantz[1] 中的一个例子,第 47-40 页:

两组,糖尿病儿童(25 人)和非糖尿病儿童(25 人对照)。测量空腹血糖,病例组平均值为86.1,对照组平均值为82.2。标准差分别为 2.09 和 2.49。这些数据是否与父母糖尿病状况不影响孩子血糖水平的零假设一致?根据数据计算 F 统计量得出的值为 36.01。

从分布中抽取样本:

>>> dfnum = 1. # between group degrees of freedom  
>>> dfden = 48. # within groups degrees of freedom  
>>> s = np.random.f(dfnum, dfden, 1000)

前 1% 样本的下限为:

>>> np.sort(s)[-10]  
7.61988120985 # random

所以 F 统计量超过 7.62 的概率大约为 1%,测量值为 36,因此在 1% 的水平上拒绝原假设。

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.random.f。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。