您的位置 首页 作文网

方差分析中的自由度 007卡盟_最右网页版在线登录

方差分析(analysis of variance,ANOVA)是检验多个总体均值是否相等的统计方法,通过检验多个总体的均值是否相等来判断分类型自变量对数值型因变量的影响是否显著,因此可用于挖掘出对因变量影响显著的因子,也可用于试验设计。例如,通过检验不同地区的方便面销售量是否相等来判断地区因素是否会对某公司的方便面销售量有显著影响。

1. 假设

方差分析有三个基本假设:

2. 单因素方差分析

方差分析(one-way analysis of variance)可以分为单因素方差分析和双因素方差分析。单因素方差分析是指只有一个分类型自变量的方差分析。举个例子,只研究地区因素对某公司的方便面销售量影响是否显著,不研究其他因素对公司方便面销量的影响,此时就是单因素方差分析。

假设我们研究地区因素对某公司的方便面销售量影响是否显著,并有该公司A,B,C三地的方便面销售数据如下:

A地

B地

C地

41

27

22

26

12

15

12

18

20

18

20

11

20

16

15

13

23

18

24

26

10

31

23

16

22

22

21

36

32

19

30

28

10

28

25

20

接下来我们可以按照以下步骤进行单因素方差分析:

(1) 方差齐性检验

由前文的假设可知,方差分析对总体的分布要求较高,既需要总体服从正态分布,又需要各总体的方差相同,但实际问题中并非所有数据都能完美符合以上假设。

方差分析会用到F检验。当数据分布无法完美满足正态分布时,对检验均值是否相等的F检验影响较小,也就是说数据分布稍微偏离正态分布一点对F检验和方差分析影响不大,但是F检验对方差齐性(即各总体的方差相等)的偏离较为敏感,如果方差不齐容易得出错误结果。因此在进行方差分析之前,需要对数据做方差齐性检验。

常见的方差齐性的检验方法有Bartlett检验、Hartley检验等,这里只介绍MATLAB实现Bartlett检验的方法:

ndim = barttest(x,alpha)

例子:

% 数据源data = [41,27,22;26,12,15;12,18,20;18,20,11;20,16,15;13,23,...18;24,26,10;31,23,16;22,22,21;36,32,19;30,28,10;28,25,20]% Bartlett检验ndim = barttest(data,0.05)

输出结果为:

ndim = NaN

这表明该数据的方差都相同,符合方差齐性的假设,可以做方差分析。

(2) 提出假设:

这里的表示每个总体的均值,也就是A,B,C三地各自的均值。

原假设与备择假设互斥,接受原假设意味着拒绝备择假设;接受备择假设则意味着拒绝原假设;二者只能接受其中一个。

(3) 构造检验统计量

a. 计算各样本的均值,即计算各地区销量的平均值。

其中,为第个总体的样本量; 为第个总体的第个样本,为总体个数。

b. 计算全部观测值的总均值。

其中。

c. 计算各误差平方和。

d. 计算统计量。

由于各误差平方和的大小与观测值的多少有关,为了消除观测值多少对各误差平方和的影响,需要将各误差平方和除以它们对应的自由度,这一步骤叫做均方(mean square)。

由此,我们可以计算得到F统计量:

(4) 做出统计决策

将上文的结果汇总到一起,我们便可以得到一张方差分析表:

误差来源

平方和SS

自由度df

均方MS

F值

P值

F临界值

组间(因素影响)

SSA

k-1

MSA

组内(误差)

SSE

n-k

MSE

总和

SST

n-1

方差分析虽然比较的是总体均值是否相等,但判断均值之间是否有差异时需要借助方差。从另一个角度来看,方差分析通过对数据误差的来源进行分析来判断不同总体的均值是否相等,进而分析自变量对因变量的影响是否显著。

误差的来源可以归为两类:

如果不同地区对于方便面销量没有影响,那么组间误差中只包含随机误差,而没有系统误差。此时,组间误差(SSA)和组内误差(SSE)经均方消除观测值个数影响后,两者的取值应该很接近,即;相反,如果地区因素对方便面销量的影响显著,那么组间误差中系统误差的占比会变大,使F统计量大于1。当F统计量大于一定水平(F临界值)时,统计量落入拒绝域,此时就可以拒绝原假设,认为因素对因变量的影响显著。

在实际应用中,MATLAB并不会给出F临界值,这时可以根据p值来进行判断。p值是指当原假设为真时,得到当前结果的概率。p值越小,原假设发生的概率越低;当p值小于给定的显著性水平(一般为0.05)时,就可以拒绝原假设,认为因素(地区)对因变量(方便面销量)的影响显著。

MATLAB实现单因素方差分析的函数为anova1,以下为语法格式:

p = anova1(y)

[p,tbl,stats] = anova1(y,group)

单因素方差分析示例:

% 数据源data = [41,27,22;26,12,15;12,18,20;18,20,11;20,16,15;13,23,...18;24,26,10;31,23,16;22,22,21;36,32,19;30,28,10;28,25,20]
% 单因素方差分析[p,tbl,stats] = anova1(data,{'A','B','C'})

运行以上代码后可以得到方差分析表(ANOVA Table)和各个总体箱线图:

从方差分析表格可以看到,检验p值为0.0074,小于0.05,因此可以拒绝原假设,认为地区对方便面销量的影响显著。箱线图可以看出各个总体的分布情况。

3. 多重比较

方差分析的结果表明不同地区的方便面销量不全相同,但是方差分析并没有给出哪些地区之间的方便面销量均值差异明显。要想知道哪些地区之间的方便面销量差距显著,有两个方法:一是画图看均值;二是进行多重比较检验(multiple comparison tests)。多重比较的原理这里不再赘述,感兴趣的可以翻看相关的统计学书籍,这里只介绍MATLAB多重比较的实现方法。

% 多重比较,前文方差分析务必要输出stats,否则无法进行比较multcompare(stats)

输入以上指令后MATLAB会弹出一个交互式窗口:

如上图,点击A组的横线,A组横线会变蓝色,同时C组横线颜色变红色方差分析中的自由度,这表明A组和C组的均值是显著不同的。

再点击B组横线,只有B组横线变蓝,其他组横线颜色依旧是灰色,表明没有一组的均值是与B组的均值有显著性差异的。

4. Kruskal-Wallis检验

前文介绍了满足假设条件下的单因素方差分析的方法。但是,在实际问题中,如果数据分布严重偏离正态分布,或者方差齐性的条件无法满足,就不适合做方差分析了。此时可以尝试非参数检验方法:Kruskal-Wallis检验。

Kruskal-Wallis检验不需要知道原始数据的分布和总体参数,是一种秩和检验,根据所有数据从大到小排序,算出每个数据的秩,然后在计算检验统计量。Kruskal-Wallis检验结果与方差分析结果类似,不过由于转化成了顺序变量,检验统计量由F统计量变成了卡方统计量。判断因素影响是否显著的方法仍与方差分析相同,只需看方差分析表最后一列的检验p值是否小于给定的显著性水平。

MATLAB实现Kruskal-Wallis检验的代码如下:

[p,tbl,stats] = kruskalwallis(data)

其输入参数和输出参数和单因素方差分析anova1相同,data为输入数据,p为检验p值方差分析中的自由度,tbl为方差分析表,stats可用于多重比较。

以下为kruskalwallis检验的示例结果:

可以看到,最后一列的检验p值为0.0073,小于默认的显著性水平(0.05),故拒绝原假设,认为该因素对因变量的影响显著,即地区因素会对方便面销售量产生显著影响。

5. 建模实战

2012年数学建模国赛A题(葡萄酒评价)第一问就运用到了方差分析的知识,我们来回顾一下题目:

确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进行品评。每个评酒员在对葡萄酒进行品尝后对其分类指标打分,然后求和得到其总分,从而确定葡萄酒的质量。酿酒葡萄的好坏与所酿葡萄酒的质量有直接的关系,葡萄酒和酿酒葡萄检测的理化指标会在一定程度上反映葡萄酒和葡萄的质量。附件1给出了某一年份一些葡萄酒的评价结果,附件2和附件3分别给出了该年份这些葡萄酒的和酿酒葡萄的成分数据。请尝试建立数学模型讨论下列问题:

1. 分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?

2. 根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进行分级。

3. 分析酿酒葡萄与葡萄酒的理化指标之间的联系。

4.分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,并论证能否用葡萄和葡萄酒的理化指标来评价葡萄酒的质量?

第一问需要我们判断两组评酒员的评价结果有无显著性差异,而附件1给出了第一二组分别对红葡萄酒和白葡萄酒的品尝评分记录表,也就说一个Excel里有4个表格(sheet),并且更可怕的是,每个sheet里还有20多个表格,首先光整合数据就让人头大…

解题思路:

(1)整合数据,以平衡/整体评价作为每位品酒员对每个葡萄酒样品的综合评价结果,这里先选取第一二组品酒员对红葡萄酒(以下简称红酒)样品的评价,将两组品酒员的评价结果整合到一个表格中,结果如下:(总共有27个红葡萄酒样品,这里只展示部分)

(2)由于行因素为品酒员,列因素为红葡萄酒样品,涉及到了两个因素,所以要判断两组品酒员的评价结果是否有显著差异,就需要用到我们小学一年级学过的双因素方差分析(two-way analysis of variance)知识(其实也就比单因素方差分析多了一个因素)。双因素方差分析的步骤与单因素方差分析的步骤基本一致,感兴趣的同学可以查阅一下相关的统计学书籍。

这里我们直接上MATLAB双因素方差分析的代码:

[p,tbl,stats] = anova2(y,reps)%  y为输入数据,注意不要弄混了列因素和行因素%  reps为行因素单个取值所含的样本数,比如我们这里有两组品酒员,每组有10位品酒员,所以这里的reps就是10。% p为检验p值,tbl为方差分析表,stats为检验统计量。

(3)双因素方差分析结果解读:

(4)哪一组结果更可信?

要衡量哪一组结果更可信,我们可以比较两组结果的变异系数大小。变异系数可以衡量一组结果的取值波动大小,如果某一组品酒员对于同一红酒样品的变异系数较大,说明该组品酒员对于同一红酒样品的看法不一,存在争议,也就说明该组品酒员的结果可信度不高。

变异系数计算公式如下:

其中为样本标准差,为样本均值。

先求出各组品酒员对于每一红酒样品的评价结果的变异系数,再进行求和,得到结果如下:

可以看到第二组品酒员的评价结果变异系数和小于第一组,说明第二组品酒员的评价结果较为一致,可信度更高。

欢迎点击

本文来自网络,不代表立场,转载请注明出处:https://www.looktm.com.cn/zuowen/77221.html

发表回复

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部