用法:
dask.array.stats.f_oneway(*args)
执行one-way ANOVA。
此DocString从scipy.statsf_oneway复制。
可能存在与 Dask 版本的一些不一致之处。
one-way ANOVA 检验两个或多个组具有相同总体均值的原假设。该测试适用于来自两组或更多组的样本,可能具有不同的大小。
- sample1, sample2, …:array_like
每组的样本测量值。必须至少有两个参数。如果数组是多维的,那么除了
axis
之外,数组的所有维度都必须相同。- axis:int 可选(Dask 不支持)
沿其应用测试的输入数组的轴。默认值为 0。
- statistic:浮点数
测试的计算 F 统计量。
- pvalue:浮点数
来自 F 分布的关联 p-value。
- F_onewayConstantInputWarning
如果每个输入数组都是常量数组,则引发。在这种情况下,F 统计量是无限的或未定义,因此返回
np.inf
或np.nan
。- F_onewayBadInputSizesWarning
如果任何输入数组的长度为 0,或者所有输入数组的长度为 1,则引发。在这些情况下,为 F 统计和 p-value 返回
np.nan
。
参数:
返回:
警告:
注意:
ANOVA 检验具有重要的假设,必须满足这些假设才能使关联的p-value 有效。
样本是独立的。
每个样本来自一个正态分布的总体。
各组的总体标准差均相等。此属性称为同方差性。
如果这些假设对于给定的一组数据不成立,则仍然可以使用 Kruskal-Wallis H-test (
scipy.stats.kruskal
) 或 Alexander-Govern 测试 (scipy.stats.alexandergovern
),尽管会损失一些功率。每组的长度必须至少为 1,并且必须至少有一组长度大于 1。如果不满足这些条件,则会生成警告并返回 (
np.nan
,np.nan
)。如果每个组包含常量值,并且至少存在两个具有不同值的组,则该函数会生成警告并返回 (
np.inf
, 0)。如果所有组中的所有值都相同,则函数会生成警告并返回(
np.nan
、np.nan
)。该算法来自 Heiman [2],pp.394-7。
参考:
- 1
R. Lowry,“推理统计的概念和应用”,第 14 章,2014 年,http://vassarstats.net/textbook/
- 2
G.W.海曼,“理解研究方法和统计:心理学综合介绍”,霍顿、米夫林和公司,2001 年。
- 3
G.H. McDonald《生物统计手册》,One-way方差分析。 http://www.biostathandbook.com/onewayanova.html
例子:
>>> from scipy.stats import f_oneway
这里有一些数据[3],来自五个地点的贻贝贻 Shell 测量(前内收肌疤痕的长度,通过除以长度标准化):俄勒冈州蒂拉穆克;俄勒冈州纽波特;阿拉斯加州圣彼得堡;俄罗斯马加丹;和芬兰的 Tvarminne,取自 McDonald 等人使用的更大的数据集。 (1991)。
>>> tillamook = [0.0571, 0.0813, 0.0831, 0.0976, 0.0817, 0.0859, 0.0735, ... 0.0659, 0.0923, 0.0836] >>> newport = [0.0873, 0.0662, 0.0672, 0.0819, 0.0749, 0.0649, 0.0835, ... 0.0725] >>> petersburg = [0.0974, 0.1352, 0.0817, 0.1016, 0.0968, 0.1064, 0.105] >>> magadan = [0.1033, 0.0915, 0.0781, 0.0685, 0.0677, 0.0697, 0.0764, ... 0.0689] >>> tvarminne = [0.0703, 0.1026, 0.0956, 0.0973, 0.1039, 0.1045] >>> f_oneway(tillamook, newport, petersburg, magadan, tvarminne) F_onewayResult(statistic=7.121019471642447, pvalue=0.0002812242314534544)
f_oneway
接受多维输入数组。当输入为多维且未给出axis
时,将沿输入数组的第一个轴执行测试。对于以下数据,进行3次测试,每列一次。>>> a = np.array([[9.87, 9.03, 6.81], ... [7.18, 8.35, 7.00], ... [8.39, 7.58, 7.68], ... [7.45, 6.33, 9.35], ... [6.41, 7.10, 9.33], ... [8.00, 8.24, 8.44]]) >>> b = np.array([[6.35, 7.30, 7.16], ... [6.65, 6.68, 7.63], ... [5.72, 7.73, 6.72], ... [7.01, 9.19, 7.41], ... [7.75, 7.87, 8.30], ... [6.90, 7.97, 6.97]]) >>> c = np.array([[3.31, 8.77, 1.01], ... [8.25, 3.24, 3.62], ... [6.32, 8.81, 5.19], ... [7.48, 8.83, 8.91], ... [8.59, 6.01, 6.07], ... [3.07, 9.72, 7.48]]) >>> F, p = f_oneway(a, b, c) >>> F array([1.75676344, 0.03701228, 3.76439349]) >>> p array([0.20630784, 0.96375203, 0.04733157])
相关用法
- Python dask.array.stats.ttest_ind用法及代码示例
- Python dask.array.stats.ttest_rel用法及代码示例
- Python dask.array.stats.chisquare用法及代码示例
- Python dask.array.stats.kurtosistest用法及代码示例
- Python dask.array.stats.moment用法及代码示例
- Python dask.array.stats.power_divergence用法及代码示例
- Python dask.array.stats.kurtosis用法及代码示例
- Python dask.array.stats.skew用法及代码示例
- Python dask.array.stats.skewtest用法及代码示例
- Python dask.array.stats.ttest_1samp用法及代码示例
- Python dask.array.stats.normaltest用法及代码示例
- Python dask.array.stack用法及代码示例
- Python dask.array.store用法及代码示例
- Python dask.array.std用法及代码示例
- Python dask.array.square用法及代码示例
- Python dask.array.sinc用法及代码示例
- Python dask.array.searchsorted用法及代码示例
- Python dask.array.sum用法及代码示例
- Python dask.array.squeeze用法及代码示例
- Python dask.array.signbit用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.stats.f_oneway。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。