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


Python numpy random.mtrand.RandomState.f用法及代码示例


用法:

RandomState.f(dfnum, dfden, size=None)

从F分布中抽取样本。

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

F分布的随机变量(也称为Fisher分布)是在ANOVA测试中出现的连续概率分布,并且是两个chi-square变量之比。

参数:
dfnum float 或 array_like of floats

分子的自由度必须> 0。

dfden float 或 array_like of float

分母的自由度必须> 0。

size int 或 tuple of ints, 可选参数

输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。如果尺寸是None(默认),如果返回一个值dfnumdfden都是标量。除此以外,np.broadcast(dfnum, dfden).size抽取样品。

返回值:
out ndarray或标量

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

注意:

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

参考文献:

[1]Stanton A. Glantz,《生物统计学入门》,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%的水平上被拒绝。

相关用法


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