方差分析(又称 F F F 检验)
- 方差分析的假设前提
(1)对变异元素的某一个水平,例如第 j j j 个水平,进行试验,把得到的观察值 X 1 j , X 2 j , ⋯   , X n j X_{1j},X_{2j},\cdots,X_{nj} X1j,X2j,⋯,Xnj看成从正态总体 N ( μ j , σ 2 ) N(\mu_{j},\sigma^2) N(μj,σ2)中取得的一个容量为 n j n_{j} nj的样本,且 μ j , σ 2 \mu_{j},\sigma^2 μj,σ2未知。
(2)对于表示 s s s个水平的正态总体的方差认为是相等的。
(3)由不同总体中抽取的样本相互独立
- 统计假设
提出待检假设
H 0 : μ 1 = μ 2 = ⋯ = μ s = μ H_{0}:\mu_{1}=\mu_{2}=\cdots=\mu_{s}=\mu H0:μ1=μ2=⋯=μs=μ
- 检验方法
设
S T = ∑ j = 1 s ∑ i = 1 n j ( X n j − X ‾ ) 2 = ∑ j = 1 s ∑ i = 1 n j X i j 2 − T . . 2 n S_{T}=\sum_{j=1}^{s}\sum_{i=1}^{nj}(X_{nj}-\overline{X})^2=\sum_{j=1}^{s}\sum_{i=1}^{nj}X_{ij}^2-\frac{T^2_{..}}{n} ST=j=1∑si=1∑nj(Xnj−X)2=j=1∑si=1∑njXij2−nT..2
S T = ∑ j = 1 s ∑ i = 1 n j ( X i j − X . j ‾ ) 2 = S T = ∑ j = 1 s ∑ i = 1 n j X i j 2 − ∑ j = 1 s T . j 2 n j S_{T}=\sum_{j=1}^{s}\sum_{i=1}^{nj}(X_{ij}-\overline{X_{.j}})^2=S_{T}=\sum_{j=1}^{s}\sum_{i=1}^{nj}X_{ij}^2-\sum_{j=1}^s{\frac{T_{.j}^2}{n_{j}}} ST=j=1∑si=1∑nj(Xij−X.j)2=ST=j=1∑si=1∑njXij2−j=1∑snjT.j2
S A = S T − S E S_{A}=S_{T}-S_{E} SA=ST−SE
S A S_{A} SA是各组均值对总方差的偏差平方和,称为组间平方和,反映 A 不同水平间的差异;
S E S_{E} SE是各组内的数据对均值偏差平方和的总和。表示在同一水平下随机误差的大小。
若 H 0 H_{0} H0为真,则检验统计量 F = ( n − s ) S A ( s − 1 ) S E ∼ F ( s − 1 , n − s ) F=\frac{(n-s)S_{A}}{(s-1)S_{E}}\sim F(s-1,n-s) F=(s−1)SE(n−s)SA∼F(s−1,n−s),对于给定的显著水平 α \alpha α 查表确定临界值 F α F_{\alpha} Fα,使 P { ( n − s ) S A ( s − 1 ) S E > F α } = α P\{\frac{(n-s)S_{A}}{(s-1)S_{E}}>F_{\alpha}\}=\alpha P{(s−1)SE(n−s)SA>Fα}=α,依据样本值计算检验统计量 F F F的观察值,并与 F α F_{\alpha} Fα比较:若检验统计量 F F F的观察值>临界值 F α F_{\alpha} Fα,则拒绝原假设 H 0 H_{0} H0
例7.18
alpha=0.05;
a=[41 65 45;48 57 51;41 54 56;49 72 48;57 64 48];
[p,t,st]=anova1(a);
F=t{2,5}
fa=finv(1-alpha,t{2,3},t{3,3}
- 单因素方差检验与多因素方差检验
单因素方差检验: 是用来研究一个控制变量的不同水平是否对观测变量产生了显著影响。通俗地讲就是分析变量x的变化对变量y的影响的显著性,所以一般变量之间存在某种影响关系的,验证一种变量的变化对另一种变量的影响显著性的检验。
一般的,方差分析都是配对的。
如果从计算来看,独立样本之间不需要进行计算,只在本组中进行计算均值、标准差等,而方差分析中,要计算数据之间的组间差异和组内差异等。
多因素方差检验: 即分析多种因素对某一变量的影响有多大的统计分析。而协方差分析是多种影响因素下,在不考虑某一种因素下,其他因素对该变量的影响有多大。比如,玉米的销量、玉米的价格、爆米花的价格(例子不是很好,但大概就是这个意思,就是a对b有相应,b又对c有影响,但a对c不一定有影响),就是爆米花的价格越高,那么玉米的销量也是 越多的,所以它们之间成正比关系。但这显然是没有相关性的。因为爆米花的价格和玉米的销量均和玉米的温度有关,针对这类问题的分析时要用协方差分析。
- MATLAB命令
(1) MATLAB单因素方差分析
Box 图反映了各组数据的特征,各线表示:最小值、1/4分位数、中位数、3/4分位数、最大值。
若
P
r
>
α
P_{r}>\alpha
Pr>α,则接受
H
0
H_{0}
H0,否则,拒绝
H
0
H_{0}
H0。
方差分析一般用的显著性水平是:取α = 0.01,拒绝
H
0
H_{0}
H0 ,称因素 A 的影响(或 A
各水平的差异)非常显著;取α = 0.01,不拒绝
H
0
H_{0}
H0 ,但取α = 0.05 ,拒绝
H
0
H_{0}
H0,称因
素 A 的影响显著;取α = 0.05 ,不拒绝
H
0
H_{0}
H0 ,称因素 A 无显著影响。
解:代码如下:
x=[1620 1580 1460 1500;1670 1600 1540 1550;1700 1640 1620 1610;1750 1720 1680 1800];
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];
%将x中的数据,从第一组数据到最后一组数据依次排列
%x(1:4)为按列的方向从第一个往下数到第四个
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
%ones(n,m)返回n*m数组,数组中元素均为1
p=anova1(x,g);
解:代码如下:
x=[1620 1580 1460 1500;1670 1600 1540 1550;1700 1640 1620 1610;1750 1720 1680 1800];
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];
%将x中的数据,从第一组数据到最后一组数据依次排列
%x(1:4)为按列的方向从第一个往下数到第四个
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
%ones(n,m)返回n*m数组
p=anova1(x,g);
[c,m,h,nms]=multcompare(st);
%多重比较:
%[c,m,h,gnames] = multcompare(stats,Name,Value)命令中stats为测试数据。
%c- 标量值的多重比较结果
%m- 标量值矩阵的估计
%gnames- 组名称
%Name是参数名称,Value是相应的值。 Name必须出现在引号内.
%Name-value可以是:'Alpha'-置信水平,
%Name-value可以是'CType('tukey-kramer'(默认,表示:Tukey的诚实显着差异标准)| 'bonferroni'(表示:Bonferroni方法)| 'lsd'(Dunn和Sidák的方法)| 'dunn-sidak'(费舍尔最不显着的差异程序)|'scheffe'(Scheffé的S程序))-临界值型,
%Name-value可以是'Display'('on':表示有图形)|'off':表示不显示图形)- 显示切换
%Name-value可以是'Dimension'- 计算边际均值的维度
%Name-value可以是'Estimate'- 要比较的估计值'column'(默认,列)| 'row'(行)| 'slope'| 'intercept'|'pmm'
[nms num2cell(m)]
(2) MATLAB双因素方差分析
解:代码如下:
x0=[58.2,52.6 56.2,41.2 65.3,60.8
49.1,42.8 54.1,50.5 51.6,48.4
60.1,58.3 70.9,73.2 39.2,40.7
75.8,71.5 58.2,51.0 48.7,41.4];
x1=x0(:,1:2:5);
x2=x0(:,2:2:6);
for i=1:4
x(2*i-1,:)=x1(i,:);
x(2*i,:)=x2(i,:);
end
%奇数行为x1数组即第一次实验结果;偶数行为x2数组即第二次实验结果
[p,t,st]=anova2(x,2)
%双因素方差分析
数据非均衡的双因素方差分析的 Matlab 命令要使用多因素方差分析的命令
anovan
(3)MATLAB多因素方差分析
以上摘自司守奎《数学建模算法与应用》,仅做个人学习所用。