方差分析的主要工作就是将观测数据的总变异(波动)按照变异的原因的不同分解为因子效应与试验误差,并对其作出数量分析,比较各种原因在总变异中所占的重要程度,以此作为进一步统计推断的依据。
1.基本假设
(1).正态假设。对于因素的每个水平,其观测值都是来自正态总体的随机样本;
(2).方差齐性假设。各个总体的方差相同;
(3).独立假设。观测值之间都是独立的。
2.单因素方差分析
设试验只有一个因子(又称为因素)A有r个水平 A1 A 1 , A2 A 2 , A3 A 3 ,…, Ar A r 。现在水平Ai下进行ni次独立试验,得到的观测数据为 Xij X i j
则单因素方差模型可表示为:
(1). Xij X i j = μ+ai+εij μ + a i + ε i j , i=1,2,…,r,j=1,2,…, ni n i
(2). εij ε i j ~ N(0, σ2 σ 2 ),且 εij ε i j 相互独立
(3). ∑ri=1niαi ∑ i = 1 r n i α i = 0
其中 μ μ 为总平均, αi α i 是第i个水平的效应, εij ε i j 是随机误差。
我们的目的是要比较因素A的r个水平的效应是否有显著差异,这可归结为检验假设:
H0:α1=α2=...=αr H 0 : α 1 = α 2 = . . . = α r
如果 H0 H 0 被拒绝,则说明因素A的各个水平的效应之间有显著差异。
按照方差分析的思想,将总离差平方和分解为两部分,即:
SST=∑ri=1∑nij=1(Xij−X¯)2 S S T = ∑ i = 1 r ∑ j = 1 n i ( X i j − X ¯ ) 2 , X¯=1n∑ri=1∑nij=1Xij X ¯ = 1 n ∑ i = 1 r ∑ j = 1 n i X i j
SSE=∑ri=1∑nij=1(Xij−Xi.¯)2 S S E = ∑ i = 1 r ∑ j = 1 n i ( X i j − X i . ¯ ) 2 , Xi.¯=1n∑nij=1Xij X i . ¯ = 1 n ∑ j = 1 n i X i j
SSA=∑ri=1∑nij=1(Xi.¯−X¯)2 S S A = ∑ i = 1 r ∑ j = 1 n i ( X i . ¯ − X ¯ ) 2
这里称 SST S S T 为总离差平方和(总变差),它是所有数据 Xij X i j 与总平均值 X¯ X ¯ 之差的平方和,描绘所有观测数据的离散程度; SSE S S E 为误差平方和(组内平方和),是对固定的i,观测值 Xi1 X i 1 , Xi2 X i 2 ,…, Xini X i n i 之间的差异大小的度量。 SSA S S A 为因素A的效应平方和(组间平方和),表示因子A各水平下的样本均值和总平均值之差的平方和。
可以证明,当 H0 H 0 成立时
SSEσ2 S S E σ 2 ~ χ2(n−r) χ 2 ( n − r ) ,
SSAσ2 S S A σ 2 ~ χ2(r−1) χ 2 ( r − 1 )
且 SSA S S A 与 SSE S S E 独立,于是:
F=SSA/(r−1)SSE/(n−r) F = S S A / ( r − 1 ) S S E / ( n − r ) ~ F(r−1,n−r) F ( r − 1 , n − r )
若 F>Fα(r−1,n−r) F > F α ( r − 1 , n − r ) ,则拒绝原假设,认为因素A的r个水平有显著差异。
3.案例:
以淀粉为原料生产葡萄的过程中, 残留许多糖蜜, 可作为生产
酱色的原料. 在生产酱色的过程之前应尽可能彻彻底底除杂, 以保证酱色质量.
为此对除杂方法进行选择. 在实验中选用5种不同的除杂方法, 每种方法做4次
试验, 即重复4次
4.Python 代码
import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
df = pd.read_csv("one-way.csv")
df.head()
A B
0 a1 25.6
1 a1 22.2
2 a1 28.0
3 a1 29.8
4 a2 24.4
model = ols('B ~ A',df).fit()
anovat = anova_lm(model)
print(anovat)
df sum_sq mean_sq F PR(>F)
A 4.0 131.957 32.98925 4.306128 0.016182
Residual 15.0 114.915 7.66100
说明: 上述结果中, df表示自由度; sum_sq表示平方和; mean_sq表示均方和;
F表示F检验统计量的值,; PR(>F)表示检验的p值; A就是因素A;Residuals为残差。
5.结果说明:
可以看出p=0.016182<0.05,
说明有理由拒绝原假设, 即认为五种除杂方法有显著差异。