方差分析在MATLAB中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方差分析在MATLAB中的应用
摘要:如今,计算机仿真在许多领域得到了越来越广泛的应用。方差分析(Analysis of Variance缩写为ANOV A)是数理统计中的常用的数据处理方法之一,是工农业生产和科学研究中分析试验数据的一种有效工具,也是开展实验设计,参数设计和容差设计的数学基础。本文就就单因素试验的方差分析在MATLAB中进行建模,并通过数据分析找出对事物有显著影响的因素,以及显著影响因素的最佳水平等。
关键词:均值,自由度,方差分析,MATLAB建模,单因素试验
一、方差分析的基本思想
一个复杂的事物,其中往往有许多因素相互制约又相互依存。方差分析方法为一种重要的对定量变量进行假设检验的统计分析方法。当研究两个或多个样本均数代表的总体均数是否相同时, 可采用方差分析方法。方差分析是检验多组样本均值间的差异是否具有同居意义的一种方法。例如,医学届研究几种药物对某种疾病的疗效;农业研究土壤、肥料、日照时间等因素对某种农作物产量的影响;不同饲料对牲畜体重增长的效果等,这些都可以使用方差分析方法去解决。方差分析的目的是通过数据分析找出对该事物有显著影响的因素,各个因素之间的交互作用,以及显著影响因素的最佳水平。
应用方差分析对资料进行统计推断之前应注意其使用条件,包括:
(1)可比性,若资料中各组均数本身不具可比性则不适用方差分析。
(2)正态性,即偏态分布资料不适用方差分析。对偏态分布的资料应考虑用对数变换、平方根变换、倒数变换、平方根反正弦变换等变量变换方法变为正态或接近正态后再进行方差分析。
(3)方差齐性,即若组间方差不齐则不适用方差分析。多个方差的齐性检验可用Bartlett法,它用卡方值作为检验统计量,结果判断需查阅卡方界值表。
二、方差分析的主要内容
根据资料设计类型的不同,方差分析分以下两类:单因素的方差分析和双因素的方差分析。其中,单因素的方差分析是对成组设计的多个样本均数比较,应采用完全随机设计的方差分析。而双因素方差分析是对随机区组设计的多个样本均数比较,应采用配伍组设计的方差分析。两类方差分析的基本步骤相同,只是变异的分解方式不同,对成组设计的资料,总变异分解为组内变异和组间变异(随
机误差),即:SS
总=SS
组间
+SS
组内
,而对配伍组设计的资料,总变异除了分解为处
理组变异和随机误差外还包括配伍组变异,即:SS
总=SS
处理
+SS
配伍
+SS
误差
。整个方
差分析的基本步骤如下:
(1)建立检验假设;
H0:多个样本总体均数相等。
H1:多个样本总体均数不相等或不全等。
检验水准为0.05。
(2)计算检验统计量F值;
(3)确定P值并作出推断结果。
本文只对单因素试验的方差分析进行具体探讨。
三、在MATLAB中建模
MATLAB语言是21世纪的科学计算语言,在科学计算中有着独特的优势。MATLAB具有强大的计算绘图能力,提供大量的函数库,工具箱,几乎涵盖了所有的工程计算领域,被誉为“演算纸”式的工程计算工具。在MATLAB中,单因素试验的方差分析可用统计应用中的函数anova1实现。
函数anova1 执行单因素试验的方差分析来比较两组或多组数据的均值,它返回原假设样本来自相同的总体或来自具有相同的均值的不同总体的p值,具体调用格式如下:
1. p = anova1(X)
将矩阵X中的每一列作为一个独立样本,函数判断这些样本均值是否相同,并返回p值,给出ANOV A表格和矩阵X各列的箱线图。
2. p = anova1(X , group)
用group中的值标记X样本的箱线图。group的每一行包含X相应列的标记值。因此group的长度必须等于X的列数。
3. p = anova1(X ,group,’displayout’)
用display确定是否要作出ANOV A的表格和样本的箱线图。当displayopt=’on’(默认值)时,给出表格和箱线图;displayept=’off’时不给出表格和图。
四、具体的例子
问题的提出:将抗生素注入人体会产生抗生素与血浆蛋白结合的现象,以致减少了药效。表1中列出了常用的抗生素注入到牛体内时,抗生素与蛋白质结合的百分比。试检验这些百分比的均值有无显著的差异。
表1 各抗生素与血浆蛋白结合的百分比
在MATLAB命令窗口中输入:
>>X=[29.6,27.3,5.8,21.6,29.2;24.3,32.6,6.2,17.4,32.8;28.5,30.8,11.0,1 8.3,25.0;32.0,34.8,8.3,19.0,24.2];
>> group=['青霉素’; '四霉素';'链霉素';'红霉素';'氯霉素'];
>> p=anova1(X ,group)
此时的输出结果为:
p = 6.7398e-008
该值约为0.002,远小于0.01,故可以判断这些抗生素均值均具有显著差异。其中,ANOVA表格截图如1图所示,X箱线图截图如图2所示;
图1 单因素方差分析的ANOVA表格
ANVOA表格共包含6列,每列的意义如下:
第一列为source项,即方差来源;第二列给出每一项来源的平方和SS;第三列给出每一项来源的自由度df,即包含的数据总数;第四列给出每一项来源的均方MS=SS/df;第五列给出F比,也就是MS的比率。
图2 矩阵X箱线图
五、结论
本文就方差分析结合MATLAB进行建模,对模型进行检验,判断其均值有无显著的差异。结果表明,仿真模型和实际系统是一致的,与方差分析所得到的结果相同。理论上说,可以将方差分析的统计方法很好地应用于实际中。但是实际有太多变化因素,不可确定因素等等。方差分析等一系列统计方法在MATLAB中建模对于开展实验设计,参数设计和容差设计有很好的应用价值。
六、参考文献
[1] 盛骤等.概率论与数理统计[M].浙江大学出版社,1997.
[2] 王红卫.建模与仿真[M].科学出版社,2002-3.
[3] 吕栋雷,汪亚夫.利用方差分析进行模型验证[J].1006- 9348(2006)08-0046-03