方差分析之所以被称为方差分析,那是因为虽然我们感兴趣的指标是均值,但在判断均值之间是否有显著差异时需要借助于方差。或者说通过对数据误差的考察来判断不同总体的均值是否相等,进而分析自变量对因变量是否有显著影响。
根据分类变量的多少,方差分析可以分为单因素方差分析、双因素方差分析和多因素方差分析。
只有一个因素的方差分析也被称为是“单因素方差分析”。
引例:
例题中只有“环境”这一个因素,所以用单因素分析分析。
数据差异(总变差)可以分解为两部分:
组间变异:甲、乙、丙三组大鼠全肺湿重各不相等。(此变量反映了因素水平的作用)。
组内变异:各组内部大鼠的全肺湿重各不相同。(此变异主要反映的是随机误差的作用)。
如果不同环境对大鼠全肺湿重没有影响,那么在组间误差中就将只包含随机误差,而没有系统误差。这时,组间误差与组内误差经过平均后的数值(即均方差)就应该很接近,它们的比值就会接近1;否则,若不同环境对大鼠全肺湿重在统计上有显著影响,那么组间误差中除了包含随机误差,还会包含系统误差,这时组间均方差就会大于组内均方差,它们之比就会大于1。当这个比值大到某种程度时,我们就认为因子的不同水平之间存在显著差异即自变量对因变量有显著影响。F统计量就定义为MS与MSp 之比,即
如果原假设H0:为真,即三个不同环境的大鼠全肺湿重的均值相等,就意味着每个样本都来自均值为,方差为的同一个正态分布的总体。从样本均值的抽样分布可知,来自正态总体的一个简单随机样本的均值服从均值为 ,方差为,的正态分布。如果完全不同,则意味着三个样本分别来自均值不同的三个正态总体。
可见,方差分析的基本思想就是根据实验设计的类型,将全部测量值总的变异分解成两个或多个部分,每个部分的变异可由某个因素的作用(或某几个因素的作用)加以解释,通过比较各部分的均方差与随机项均方差的大小,借助F分布来推断各研究因素对实验结果有无影响。
在进行方差分析之前,应当保证模型满足如下三个基本假定:
(1)每个总体都服从正态分布,即对于因素的每个水平,其观测值是来自正态总体的随机样本。
(2)各观测值相互独立。
(3)各组总体方差相等,即方差齐性。换言之,各组观测数据都是从具有相同方差的正态总体中抽取的。
单因素方差分析
1.基本原理:
可以证明,当若干样本都来自均值相同的正态总体时,则有
如果,则拒绝原假设,认为因素的几个水平有显著差异,反之“接受”原假设。当然,也可以通过检验的p值来决定是接受还是拒绝原假设。
2.方差分析表
将上述统计过程归纳为方差分析表。
3.Matlab 实现
首先以大鼠试验为例来说明单因素方差分析的基本步骤。
将以上计算结果代入方差分析表,如下图所示:
clc,clear,close all
a=readmatrix (' data14_1.txt’ )’;
[p,t,st]=anova1(a)