方差分析(ANOVA)又称F检验。方差分析是判定方差在组间和组内是否(明显)具有区别的一种方法。如果组内差异相对于组间差异较小,则可以推断出组与组之间是有明显差异的。
从形式上看,方差分析与t检验或z检验区别不大,都是检验均值是否相等,但方差分析可以同时比较多个均值。
广义的方差分析分为:
- 单因素方差分析(1-way ANOVA)
- 双因素方差分析(2-way ANOVA)与多因素方差分析(N-way ANOVA)
- 协方差分析(ANCOVA)
- 多响应方差分析(MANOVA)
- 重复测量(Repeated Measures)
在这里主要介绍单因素方差分析(1-way ANOVA)。
基本思想
首先要说明的是,方差分析一共有三大前提假设:
- 各组样本背后所隐含的族群分布必须为正态分布或者是逼近正态分布。
- 各组样本必须独立。
- 族群的方差必须相等。
方差分析的核心思想一句话:“所有样本的总差异可以分解为组间差异和组内差异”,即SST=SSR+SSE。 i i i为组别 ( i = 1 , 2... , I ) (i=1,2...,I) (i=1,2...,I), j j j为观测值个数 ( j = 1 , 2 , 3 , . . . , J ) (j=1,2,3,...,J) (j=1,2,3,...,J), Y i j Y_{ij} Yij为第 i i i组第 j j j个观测值, Y ‾ T o t a l \overline Y_{Total} YTotal为所有观测值的平均数。
- 总差异(SST):全部样本与全体样本均值的总差异, ∑ i ∑ j ( Y i j − Y ‾ T o t a l ) 2 \sum_i\sum_j(Y_{ij}-\overline Y_{Total})^2 ∑i∑j(Yij−YTotal)2,总差异的自由度为N-1。
- 组间差异(SSR):组均值与总体均值的差异, ∑ i n i ( Y ˉ j − Y ‾ T o t a l ) 2 \sum_in_i(\bar Y_j-\overline Y_{Total})^2 ∑ini(Yˉj−YTotal)2,组间差异的自由度为k-1。
- 组内差异(SSE):具体每个样本与其所在组均值的差异, ∑ i ∑ j ( Y i j − Y ‾ j ) 2 \sum_i\sum_j(Y_{ij}-\overline Y_{j})^2 ∑i∑j(Yij−Yj)2 ,组内差异的自由度为N-k。
F检验的零假设认为所有组的均值都相等,备择假设则认为所有组的均值不全相等(即至少有一个组的均值与其它具有显著差异),如下:
H
0
:
μ
1
=
μ
2
=
.
.
.
=
μ
n
H
1
:
所有组的均值不全相等
H_0:\mu_1=\mu_2=...=\mu_n\\ H_1:所有组的均值不全相等
H0:μ1=μ2=...=μnH1:所有组的均值不全相等
我们要通过SSR与SSE除以各自的自由度,得到MSR和MSE,MSR和MSE的比值就是F统计量:
F
=
S
S
R
/
k
−
1
S
S
E
/
N
−
k
=
M
S
R
M
S
E
∼
F
k
−
1
,
N
−
k
F=\frac{SSR/k-1}{SSE/N-k}=\frac{MSR}{MSE}\sim F_{k-1,N-k}
F=SSE/N−kSSR/k−1=MSEMSR∼Fk−1,N−k
当H0成立时,F统计量服从对应自由度分别为k-1,N-k的F分布。F值越接近1,就越没有理由拒绝H0;反之,F值越大,拒绝H0的理由就越充分。
实例
- 计算总均值: Y ‾ T o t a l = 1.626 \overline Y_{Total}=1.626 YTotal=1.626
- 计算分组均值: Y ‾ 1 = 1.674 \overline Y_1=1.674 Y1=1.674, Y ‾ 2 = 1.598 \overline Y_2=1.598 Y2=1.598, Y ‾ 3 = 1.649 \overline Y_3=1.649 Y3=1.649, Y ‾ 4 = 1.562 \overline Y_4=1.562 Y4=1.562。
- 计算组内差异: S S E = ∑ i ∑ j ( Y i j − Y ‾ j ) 2 = 0.167 SSE=\sum_i\sum_j(Y_{ij}-\overline Y_{j})^2=0.167 SSE=∑i∑j(Yij−Yj)2=0.167
- 计算组间差异: S S R = ∑ i n i ( Y ˉ j − Y ‾ T o t a l ) 2 = 0.049 SSR=\sum_in_i(\bar Y_j-\overline Y_{Total})^2=0.049 SSR=∑ini(Yˉj−YTotal)2=0.049
- 计算F统计量: F = S S R / k − 1 S S E / N − k = 0.049 / 3 0.167 / 22 ≈ 2.17 F=\frac{SSR/k-1}{SSE/N-k}=\frac{0.049/3}{0.167/22}\approx2.17 F=SSE/N−kSSR/k−1=0.167/220.049/3≈2.17
参考F统计量表, P ( F > 3.05 ) = 0.05 P(F>3.05)=0.05 P(F>3.05)=0.05,在95%置信水平上临界值为3.05。2.17<3.05,所以没有理由拒绝原假设。所以认为这四组数据的均值无显著差异。文章来源:https://www.toymoban.com/news/detail-780168.html
Python实现
from scipy import stats
A1 = [1.6, 1.61, 1.65, 1.68, 1.7, 1.7, 1.78]
A2 = [1.5, 1.64, 1.4, 1.7, 1.75]
A3 = [1.64, 1.55, 1.6, 1.62, 1.64, 1.60, 1.74, 1.8]
A4 = [1.51, 1.52, 1.53, 1.57, 1.64, 1.6]
data = [A1, A2, A3, A4]
f, p = stats.f_oneway(*data)
print(f, p)
得到的结果为:
其中p>0.05,接受原假设。文章来源地址https://www.toymoban.com/news/detail-780168.html
到了这里,关于统计学习笔记:方差分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!