numpy.random.RandomState.f

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.RandomState.f.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

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

从F分布绘制样本。

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

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

参数:

dfnum:float

分子自由度。应大于零。

dfden:float

分母的自由度。应大于零。

size:int或tuple的整数,可选

输出形状。如果给定形状是例如(m, n, k),则 m * n * k默认值为None,在这种情况下返回单个值。

返回:

samples:ndarray或scalar

Fisher分布的样品。

也可以看看

scipy.stats.distributions.f
概率密度函数,分布或累积密度函数等。

笔记

F统计量用于将组内方差与组间方差进行比较。计算分布取决于采样,因此它是问题中相应自由度的函数。变量dfnum是样本数减去组间自由度的数目,而dfden是组内自由度,每组样品减去组数。

参考文献

[R148]Glantz,Stanton A.“Primer of Biostatistics。”,McGraw-Hill,第五版,2002。
[R149]维基百科,“F分布”,http://en.wikipedia.org/wiki/F-distribution

例子

来自Glantz [1],pp 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%的样品的下限为:

>>> sort(s)[-10]
7.61988120985

因此,F统计量将有大约1%的机会超过7.62,测量值为36,因此无效假设在1%水平被拒绝。