美文网首页
Python 单因素方差分析

Python 单因素方差分析

作者: YuAllon | 来源:发表于2019-05-29 21:11 被阅读0次

本文目的不是讲方差分析数学理论,而是如何使用Python对数据方差分析

spicy.stats.f_oneway(*args)
Parameters:
  sample1, sample2, ... : array_like
    The sample measurements for each group.
Returns:
  statistic : float
    The computed F-value of the test.
  pvalue : float
    The associated p-value from the F-distribution.

单因素方差分析(one-way ANOVA):

假定有k组实验数据,彼此之间相互独立且服从正态分布,均值分别为\mu_1,\mu_2,...\mu_k,方差都为\sigma2
H0:假设两组或者多组数据之间有相同的均值
H1:至少有两个均值不相等

例子:

现在我们有来自5个不同地方蚌壳的长度数据,这5个地方的蚌壳长度的均值是否都一样呢?

from scipy import stats
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,p = stats.f_oneway(tillamook, newport, petersburg, magadan, tvarminne)
print(f,p)
7.121019471642447 0.0002812242314534544
#或者可以把上面数据放到一个列表data里面,然后直接对data进行单因素方差分析
data = [tillamook,newport,petersburg,magadan,tvarminne]
#注意data前面的*号一定要有,至于为什么,该函数语法要求
f,p = stats.f_oneway(*data)
print(f,p)
7.121019471642447 0.0002812242314534544

结论:由f,p值可知不同地方蚌壳平均长度不一样。

参考资料:scipy.org,Handbook of Biological Statistics.

相关文章

网友评论

      本文标题:Python 单因素方差分析

      本文链接:https://www.haomeiwen.com/subject/iqeutctx.html