基于Matlab的假设检验和方差分析实现

基于Matlab的假设检验和方差分析实现

作 者

指导教师 张 跳 施明华

摘 要:假设检验和方差分析是数理统计计算中重要的内容。但由于它们在实际计算与应用中,经常会遇到一些复杂繁琐的计算,这往往是我们力所不能及的。面对这样的难题,我们便可以借助于Matlab进行实现。本文主要阐述了如何利用Matlab对假设检验和方差分析中一些复杂的问题进行计算机求解。在假设检验中主要从U检验法、T检验法、秩和检验、符号秩检验、符号检验、正态分布的拟合优度测试等几个方面在Matlab上的计算机实现进行阐述,而在方差分析中主要从单因素方差分析和双因素方差分析在Matlab平台上的计算机实现进行讲解。

关键词:MATLAB;假设检验;方差分析。

1、引言

假设检验是抽样推断中的一项重要内容,是一种应用非常广泛的统计推断方法,也是学生学习后续专业课程和参加工作会经常用到的基本理论和方法。方差分析的目的是通过数据分析找出对该事物有显著影响的因素,各因素之间的交互作用,以及显著影响因素的最佳水平等。方差分析是在可比较的数组中,把数据间的总的“变差”按各指定的变差来源进行分解的一种技术。对变差的度量,采用离差平方和。方差分析方法就是从总离差平方和分解出可追溯到指定来源的部分离差平方和,这是一个很重要的思想。当前,由于计算机的应用,假设检验和方差分析的应用范围愈来愈广泛,已渗透到许多科学领域,应用到国民经济各个部门,成为科学研究不可缺少的工具。

Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交换式程序的高科技计算环境。它主要适用于矩阵预算及控制和信息处理领域的分析设计,构成一个界面友好、使用方便的用户环境,是实现数据分析处理的有效工具。由于它使用方便,输入简介,运算高效,内容丰富,而且它还提供了十分丰富的数值计算函数,同时采取的数值计算算法都是国际公认的最先进、最可靠的算法。Matlab语言简单易学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需要翻译,比其它语言少了很多内容,也便于自学,通过它的演示和救助命令,人们可以方便地在线学习各种函数的用法极其内涵。而这就大大方便了人们在这方面的盲点,使一些复杂问题得到解决。从而使得科学研究、计算操作变得更加简单方便。

我们知道,在假设检验和方差分析中有很多复杂的问题往往是我们的人力所不能解决的,特别是面对庞大而繁琐的数据处理工作时,使得很多学生、科研工作人员、工作技术人员对

此望而兴叹,感到无助。由于Matlab具有友好的平台工作环境、简单易用的程序语言、强大的科学计算及处理能力、出色的图形处理功能、应用广泛的模块集合工具箱等许多优势,可以使得对数理统计中的假设检验、方差分析等复杂的问题进行简单、快捷的计算处理。鉴于此,本文主要讨论基于Matlab的假设检验和方差分析实现问题。

2、理论背景

本文主要是在Matlab平台上从假设检验和方差分析两个方面进行介绍。所以在此先给出假设检验和方差分析的基本理论知识。

2.1假设检验

假设检验是数理统计学中根据一定假设条件由样本推断总体的一种方法,是数理统计研究的重要组成部分。假设检验亦称显著性检验,是用来判断样本与样本,样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。用样本指标估计总体指标,其结论有的完全可靠,有的只有不同程度的可靠性,需要进一步加以检验和证实。通过检验,对样本指标与假设的总体指标之间是否存在差别作出判断,是否接受原假设。这里必须明确,进行检验的目的不是怀疑样本指标本身是否计算正确,而是为了分析样本指标和总体指标之间是否存在显著差异。从这个意义上,假设检验又称为显著性检验。它是先对总体的某个位置参数或总体的分布形式做某种假设,然后由所抽取的样本提供的信息,构造合适的统计量,对所提出的假设进行检验,已做出统计判断。对于是接受假设还是拒绝假设,这类统计推断问题成为假设检验问题。假设检验的思想就是概率性质的反正法。其依据是小概率事件原理(也称为实际事件原理):小概率事件在一次实验中是几乎不可能发生的。假设检验在数理统计的理论研究和实际应用中占有重要的地位。

2.2 方差分析

方差分析的实质就是检验多个正态总体均值是否相等。它在数理统计学中占有重要的位置。在实际生活和工作中,常常要通过实验来了解各种因素对产品的性能、产量等的影响,这些性能、产量指标统称为试验指标,而称影响试验指标的条件、原因等为因素或因子,称因素所处的不同状态为水平。各因素对试验指标的影响一般是不同的,就是同一因素的不同水平对试验指标的影响往往也是不同的。方差分析就是通过对实验数据进行分析,检验方差相同的正态总体的均值是否相等,以判断各因素对试验指标的影响是否显著。方差分析按影响实验指标的因素的个数分为单因素方差分析、双因素方差分析和多因素方差分析,而本文只介绍单因素方差分析和双因素方差分析。方差分析所分析的并非方差,而是研究数据间的变异来源是条件误差还是随机误差。方差分析是实验研究中分析实验数据的重要方法,应用

十分广泛。

3、MATLAB仿真与分析

下面我们对数理统计中的假设检验以及方差分析问题的Matlab求解进行讨论。

3.1 假设检验的计算机求解

3.1.1 2已知,单个正态总体的均值μ的假设检验(U检验法)

函数 ztest

格式 h = ztest(x,m,sigma) % x为正态总体的样本,m为均值μ0,sigma为标准差,显著性水平为0.05(默认值)

h = ztest(x,m,sigma,alpha) %显著性水平为alpha

[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间,zval为统计量的值。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:0m,

若 tail=0,表示备择假设:H1:0m(默认,双边检验);

tail=1,表示备择假设:H1:0m(单边检验);

tail=-1,表示备择假设:H1:0m(单边检验)。

例1 某车间用一台包装机包装葡萄糖,包得的袋装糖重是一个随机变量,它服从正态分布。当机器正常时,其均值为0.5公斤,标准差为0.015。某日开工后检验包装机是否正常,随机地抽取所包装的糖9袋,称得净重为(公斤)

0.497, 0.506, 0.518, 0.524, 0.498, 0.511, 0.52, 0.515, 0.512

问机器是否正常?

解:总体μ和σ已知,该问题是当2为已知时,在水平0.05下,根据样本值判断μ=0.5还是0.5。为此提出假设:

原假设: H0:00.5

备择假设:H1:0.5

>> X=[0.497,0.506,0.518,0.524,0.498,0.511,0.52,0.515,0.512]; >> [h,sig,ci,zval]=ztest(X,0.5,0.015,0.05,0)

结果显示为

h =

1 sig = 0.0248 %样本观察值的概率 ci = 0.5014 0.5210 %置信区间,均值0.5在此区间之外 zval = 2.2444 %统计量的值

结果表明:h=1,说明在水平0.05下,可拒绝原假设,即认为包装机工作不正常。

3.1.2 2未知,单个正态总体的均值μ的假设检验( t检验法)

函数 ttest

格式 h = ttest(x,m) % x为正态总体的样本,m为均值μ0,显著性水平为0.05

h = ttest(x,m,alpha) %alpha为给定显著性水平

[h,sig,ci] = ttest(x,m,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:0m,

若 tail=0,表示备择假设:H1:0m(默认,双边检验);

tail=1,表示备择假设:H1:0m(单边检验);

tail=-1,表示备择假设:H1:0m(单边检验)。

例2 某种电子元件的寿命X(以小时计)服从正态分布,、σ2均未知。现测得16只元件的寿命如下

159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170

问是否有理由认为元件的平均寿命大于225(小时)?

解:未知2,在水平0.05下检验假设:H0:0225,H1:225

>> X=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170]; >> [h,sig,ci]=ttest(X,225,0.05,1)

结果显示为:

h = 0 sig = 0.2570 ci = 198.2321 Inf %均值225在该置信区间内

结果表明:H=0表示在水平0.05下应该接受原假设H0,即认为元件的平均寿命不大于225小时。

3.1.3 两个正态总体均值差的检验(t检验)

两个正态总体方差未知但等方差时,比较两正态总体样本均值的假设检验

函数 ttest2

格式 [h,sig,ci]=ttest2(X,Y) %X,Y为两个正态总体的样本,显著性水平为0.05

[h,sig,ci]=ttest2(X,Y,alpha) %alpha为显著性水平

[h,sig,ci]=ttest2(X,Y,alpha,tail) %sig为当原假设为真时得到观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:12, (1为X为期望值,2为Y的期望值),

若 tail=0,表示备择假设:H1:12(默认,双边检验);

tail=1,表示备择假设:H1:12(单边检验);

tail=-1,表示备择假设:H1:12(单边检验)。

例3 在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的产率,试验是在同一只平炉上进行的。每炼一炉钢时除操作方法外,其他条件都尽可能做到相同。先用标准方法炼一炉,然后用建议的新方法炼一炉,以后交替进行,各炼10炉,其产率分别为

(1)标准方法:78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3

(2)新方法: 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1

设这两个样本相互独立,且分别来自正态总体N(1,2)和N(2,2),1、2、2均未知。问建议的新操作方法能否提高产率?(取α=0.05)

解:两个总体方差不变时,在水平0.05下检验假设:H0:12,H1:12

>>X=[78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3]; >>Y=[79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1]; >> [h,sig,ci]=ttest2(X,Y,0.05,-1)

结果显示为:

h = 1 sig = 2.1759e-004 %说明两个总体均值相等的概率很小 ci = -Inf -1.9083

结果表明:H=1表示在水平0.05下,应该拒绝原假设,即认为建议的新操作方法提高了产率,因此,比原方法好。

3.1.4 两个总体一致性的检验——秩和检验

函数 ranksum

格式 p = ranksum(x,y,alpha) %x、y为两个总体的样本,可以不等长,alpha为显著性水平

[p,h] = ranksum(x,y,alpha) % h为检验结果,h=0表示X与Y的总体差别不显著h=1表示X与Y的总体差别显著

[p,h,stats] = ranksum(x,y,alpha) %stats中包括:ranksum为秩和统计量的值以及zval为过去计算p的正态统计量的值

说明 P为两个总体样本X和Y为一致的显著性概率,若P接近于0,则不一致较明显。 例4 某商店为了确定向公司A或公司B购买某种商品,将A和B公司以往的各次进货的次品率进行比较,数据如下所示,设两样本独立。问两公司的商品的质量有无显著差异。设两公司的商品的次品的密度最多只差一个平移,取α=0.05。

A:7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5

B:5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3

B分别为A、解:设A、B两个公司的商品次品率总体的均值。则该问题为在水平α=0.05

下检验假设:H0:AB,H1:AB

>> A=[7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5]; >> B=[5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3]; >> [p,h,stats]=ranksum(A,B,0.05)

结果为:

p = 0.8041 h = 0 stats = zval: -0.2481 ranksum: 116

结果表明:一方面,两样本总体均值相等的概率为0.8041,不接近于0;另一方面,H=0也说明可以接受原假设H0,即认为两个公司的商品的质量无明显差异。

3.1.5 两个总体中位数相等的假设检验——符号秩检验

函数 signrank

格式 p = signrank(X,Y,alpha) % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p,h] = signrank(X,Y,alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signrank(x,y,alpha) % stats中包括:signrank为符号秩统计量的值以及zval为过去计算p的正态统计量的值。

例5 两个正态随机样本的中位数相等的假设检验

>> x=normrnd(0,1,20,1); >> y=normrnd(0,2,20,1); >> [p,h,stats]=signrank(x,y,0.05) p = 0.3703 h = 0 stats = zval: -0.8960 signedrank: 81

结果表明:h=0表示X与Y的中位数之差不显著。

3.1.6 两个总体中位数相等的假设检验——符号检验

函数 signtest

格式 p=signtest(X, Y, alpha) % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p, h]=signtest(X, Y, alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signtest(X,Y,alpha) % stats中sign为符号统计量的值

例6 两个正态随机样本的中位数相等的假设检验

>> X=normrnd(0,1,20,1); >> Y=normrnd(0,2,20,1); >> [p,h,stats]=signtest(X,Y,0.05) p = 0.2632 h = 0 stats = sign: 7

结果表明:h=0表示X与Y的中位数之差不显著。

3.1.7 正态分布的拟合优度测试

函数 jbtest

格式 H = jbtest(X) %对输入向量X进行Jarque-Bera测试,显著性水平为0.05。 H = jbtest(X,alpha) %在水平alpha而非5%下施行 Jarque-Bera 测试,alpha在0和1之间。

[H,P,JBSTAT,CV] = jbtest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;JBSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。X为大样本,对于小样本用lillietest函数。

例7 调用MATLAB中关于汽车重量的数据,测试该数据是否服从正态分布

>> load carsmall >> [h,p,j,cv]=jbtest(Weight) h = 1 p = 0.0267 j = 7.2448 cv = 5.9915

说明 p=2.67%表示应该拒绝服从正态分布的假设;h=1也可否定服从正态分布;统计量的值j = 7.2448大于接受假设的临界值cv =5.9915,因而拒绝假设(测试水平为5%)。

3.1.8 正态分布的拟合优度测试

函数 lillietest

格式 H = lillietest(X) %对输入向量X进行Lilliefors测试,显著性水平为0.05。 H = lillietest(X,alpha) %在水平alpha而非5%下施行Lilliefors测试,alpha在0.01和0.2之间。

[H,P,LSTAT,CV] = lillietest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。

例8

>> Y=chi2rnd(10,100,1); >> [h,p,l,cv]=lillietest(Y) h = 1 p = 0.0175 l = 0.1062 cv = (图1) 0.0886

说明 h=1表示拒绝正态分布的假设;p = 0.0175表示服从正态分布的概率很小;统计量的值l = 0.1062大于接受假设的临界值cv =0.0886,因而拒绝假设(测试水平为5%)。

>>hist(Y)

从图中看出,数据Y不服从正态分布。

3.1.9 单个样本分布的 Kolmogorov-Smirnov 测试

函数 kstest

格式 H = kstest(X) %测试向量X是否服从标准正态分布,测试水平为5%。

H = kstest(X,cdf) %指定累积分布函数为cdf的测试(cdf=[ ]时表示标准正态分布),测试水平为5%。

H = kstest(X,cdf,alpha) % alpha为指定测试水平。

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha) %P为原假设成立的概率,KSSTAT为测试统计量的值,CV为是否接受假设的临界值。

说明 原假设为X服从标准正态分布。若H=0则不能拒绝原假设,H=1则可以拒绝原假设。

例9 产生100个威布尔随机数,测试该随机数服从的分布。

>> x=weibrnd(1,2,100,1); >> [H,p,ksstat,cv]=kstest(x,[x weibcdf(x,1,2)],0.05) %测试是否服从威布尔分布 H = 0 p = 0.3022 ksstat = 0.0959 cv = 0.1340

说明 H=0表示接受原假设,统计量ksstat小于临界值表示接受原假设。

>> [H,p,ksstat,cv]=kstest(x,[x expcdf(x,1)],0.05) %测试是否服从指数分布

H = 1 p = 0.0073 ksstat = 0.1653 cv = 0.1340

说明 H=1表明拒绝服从指数分布的假设。

>> [H,p,ksstat,cv]=kstest(x,[ ],0.05) %测试是否服从标准正态分布 H = 1 p = 3.1285e-026 ksstat = 0.5380 cv = 0.1340

说明 H=1表明不服从标准正态分布。

3.1.10 两个样本具有相同的连续分布的假设检验

函数 kstest2

格式 H = kstest2(X1,X2) %测试向量X1与X2是具有相同的连续分布,测试水平为5%。

H = kstest2(X1,X2,alpha) % alpha为测试水平。

[H,P,KSSTAT] = kstest(X,cdf,alpha) %与指定累积分布cdf相同的连续分布,P为假设成立的概率,KSSTAT为测试统计量的值。

说明 原假设为具有相同连续分布。测试结果为H,若H=0,表示应接受原假设;若H=1,

表示可以拒绝原假设。这是Kolmogorov-Smirnov测试方法。

例10

>> x=-1:1:5; >> y=randn(20,1); >> [h,p,k]=kstest2(x,y) h = 1 p = 0.0444 k = 0.5643

说明 h=1表示可以认为向量x与y的分布不相同,相同的概率只有4.4%。

3.2 方差分析的计算机求解

3.2.1 单因素方差分析

单因素方差分析是比较两组或多组数据的均值,它返回原假设——均值相等的概率。 函数 anova1

格式 p = anova1(X) %X的各列为彼此独立的样本观察值,其元素个数相同,p为各列均值相等的概率值,若p值接近于0,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同。

p = anova1(X,group) %X和group为向量且group要与X对应

p = anova1(X,group,'displayopt') % displayopt=on/off表示显示与隐藏方差分析表图和盒图

[p,table] = anova1(…) % table为方差分析表

[p,table,stats] = anova1(…) % stats为分析结果的构造

说明 anova1函数产生两个图:标准的方差分析表图和盒图。

方差分析表中有6列:

第1列(source)显示:X中数据可变性的来源;

第2列(SS)显示:用于每一列的平方和;

第3列(df)显示:与每一种可变性来源有关的自由度;

第4列(MS)显示:是SS/df的比值;

第5列(F)显示:F统计量数值,它是MS的比率;

第6列显示:从F累积分布中得到的概率,当F增加时,p值减少。

例11 设有3台机器,用来生产规格相同的铝合金薄板。取样测量薄板的厚度,精确至‰厘米。得结果如下:

机器1:0.236 0.238 0.248 0.245 0.243

机器2:0.257 0.253 0.255 0.254 0.261 机器3:0.258 0.264 0.259 0.267 0.262 检验各台机器所生产的薄板的厚度有无显著的差异?

解:

>> X=[0.236 0.238 0.248 0.245 0.243; 0.257 0.253 0.255 0.254 0.261;„ 0.258 0.264 0.259 0.267 0.262]; >> P=anova1(X') 结果为: P =

1.3431e-005

还有两个图,即图2和图3。

0.260.20.25Values

0.20.240.20.23

Column Number

(图2) (图3)

例12 建筑横梁强度的研究:3000磅力量作用在一英寸的横梁上来测量横梁的挠度,钢筋横梁的测试强度是:82 86 79 83 84 85 86 87;

其余两种更贵的合金横梁强度测试为: 合金1:74 82 78 75 76 77; 合金2:79 79 77 78 82 79。 检验这些合金强度有无明显差异?

解:

>> strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79]; >>alloy = {'st','st','st','st','st','st','st','st', 'al1','al1','al1','al1','al1','al1',„ 'al2','al2','al2','al2','al2','al2'};

>> [p,table,stats] = anova1(strength,alloy,'on') 结果为 p =

1.5264e-004 table =

'Source' 'SS' 'df' 'MS' 'F' 'Prob>F' 'Groups' [184.8000] [ 2] [92.4000] [15.4000] [1.5264e-004] 'Error' [102.0000] [17] [ 6.0000] [ ] [ ] 'Total' [286.8000] [19] [ ] [ ] [ ] stats =

gnames: {3x1 cell} n: [8 6 6] source: 'anova1' means: [84 77 79] df: 17 s: 2.4495

888Values

8777

(图4) (图5)

说明 p值显示,3种合金是明显不同的,盒图显示钢横梁的挠度大于另两种合金横梁的挠度。

3.2.2 双因素方差分析

函数 anova2

格式 p = anova2(X,reps) p = anova2(X,reps,'displayopt') [p,table] = anova2(…) [p,table,stats] = anova2(…)

说明 执行平衡的双因素试验的方差分析来比较X中两个或多个列(行)的均值,不同列的数据表示因素A的差异,不同行的数据表示另一因素B的差异。如果行列对有多于一个的观察点,则变量reps指出每一单元观察点的数目,每一单元包含reps行,如:

A1A2

x111x121x211x221x311x321x112

B1x122

x212

B2 x222x312

B3x322

reps=2

其余参数与单因素方差分析参数相似。

例13 一火箭使用了4种燃料,3种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭2次,得到结果如下:

推进器(B) B1 B2 B3 A1 58.2000 56.2000 65.3000 52.6000 41.2000 60.8000 A2 49.1000 54.1000 51.6000 燃料A 42.8000 50.5000 48.4000 A3 60.1000 70.9000 39.2000 58.3000 73.2000 40.7000 A4 75.8000 58.2000 48.7000 71.5000 51.0000 41.4000

考察推进器和燃料这两个因素对射程是否有显著的影响? 解:建立M文件

X=[58.2000 56.2000 65.3000 52.6000 41.2000 60.8000 49.1000 54.1000 51.6000 42.8000 50.5000 48.4000 60.1000 70.9000 39.2000 58.3000 73.2000 40.7000 75.8000 58.2000 48.7000 71.5000 51.0000 41.4000]; P=anova2(X,2) 结果为: P =

0.0035 0.0260 0.0001 显示方差分析图为图6。

(图6)

总结:

通过对假设检验以及方差分析问题的Matlab求解,我们可以清晰的看到,对于假设检验和方差分析中一些复杂繁琐的数据计算问题,可以通过Matlab简便直观的处理,给予我们学习和工作带来极大的方便。

致谢:

在本论文的写作过程中,我的导师施明华老师给予了我极大地帮助,从选题到开题报告,从写作提纲,到一遍又一遍的指出稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我关心和支持的各位老师、同学和朋友。

参考文献:

[1]刘卫国.Matlab程序设计与应用[M].北京:高等教育出版社:2002 [2]刘卫国.科学计算与Matlab语言[M].北京:中国铁道出版社,2002 [3]张志涌.精通Matlab6.5[M].北京:北京航空航天大学出版社,2003

[4]飞思科技产品研发中心.Matlab基础与提高[M].北京:电子工业出版社,2004 [5]仇庆久.高等数学/面向21世纪课程教材[M].北京:高等教育出版社,2003 [6]王岩,隋思涟.数理统计与Matlab工程数据分析[M].北京:清华大学出版社,2006 [7]张威.Matlab基础与编程入门[M].西安:西安电子科技大学出版社,2008

[8]茆诗松,程依明,濮晓龙.概率论与数理统计教程[M].北京:高等教育出版社,2004

Matlab-based hypothesis testing and variance analysis to achieve

Abstract: Hypothesis testing and variance analysis are important elements in the mathematical statistical calculations. But they often encounter in the actual calculation and application of some complicated calculations, which often are we not. Faced with this problem, we will be able in Matlab to achieve. This article focuses on how to use Matlab for hypothesis testing and variance analysis of the complex issues to solve on a computer. Hypothesis testing mainly from the aspects of the U test method, the T-test method, the Wilcoxon rank sum test, signed rank test, sign test, the normal distribution of the goodness of fit test on the computer by Matlab described. In the variance analysis, from the single-factor analysis of variance and the two-factor analysis of variance in the computer on the Matlab platform to explain.

Key words: MATLAB; hypothesis testing; analysis of variance.

基于Matlab的假设检验和方差分析实现

作 者

指导教师 张 跳 施明华

摘 要:假设检验和方差分析是数理统计计算中重要的内容。但由于它们在实际计算与应用中,经常会遇到一些复杂繁琐的计算,这往往是我们力所不能及的。面对这样的难题,我们便可以借助于Matlab进行实现。本文主要阐述了如何利用Matlab对假设检验和方差分析中一些复杂的问题进行计算机求解。在假设检验中主要从U检验法、T检验法、秩和检验、符号秩检验、符号检验、正态分布的拟合优度测试等几个方面在Matlab上的计算机实现进行阐述,而在方差分析中主要从单因素方差分析和双因素方差分析在Matlab平台上的计算机实现进行讲解。

关键词:MATLAB;假设检验;方差分析。

1、引言

假设检验是抽样推断中的一项重要内容,是一种应用非常广泛的统计推断方法,也是学生学习后续专业课程和参加工作会经常用到的基本理论和方法。方差分析的目的是通过数据分析找出对该事物有显著影响的因素,各因素之间的交互作用,以及显著影响因素的最佳水平等。方差分析是在可比较的数组中,把数据间的总的“变差”按各指定的变差来源进行分解的一种技术。对变差的度量,采用离差平方和。方差分析方法就是从总离差平方和分解出可追溯到指定来源的部分离差平方和,这是一个很重要的思想。当前,由于计算机的应用,假设检验和方差分析的应用范围愈来愈广泛,已渗透到许多科学领域,应用到国民经济各个部门,成为科学研究不可缺少的工具。

Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交换式程序的高科技计算环境。它主要适用于矩阵预算及控制和信息处理领域的分析设计,构成一个界面友好、使用方便的用户环境,是实现数据分析处理的有效工具。由于它使用方便,输入简介,运算高效,内容丰富,而且它还提供了十分丰富的数值计算函数,同时采取的数值计算算法都是国际公认的最先进、最可靠的算法。Matlab语言简单易学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需要翻译,比其它语言少了很多内容,也便于自学,通过它的演示和救助命令,人们可以方便地在线学习各种函数的用法极其内涵。而这就大大方便了人们在这方面的盲点,使一些复杂问题得到解决。从而使得科学研究、计算操作变得更加简单方便。

我们知道,在假设检验和方差分析中有很多复杂的问题往往是我们的人力所不能解决的,特别是面对庞大而繁琐的数据处理工作时,使得很多学生、科研工作人员、工作技术人员对

此望而兴叹,感到无助。由于Matlab具有友好的平台工作环境、简单易用的程序语言、强大的科学计算及处理能力、出色的图形处理功能、应用广泛的模块集合工具箱等许多优势,可以使得对数理统计中的假设检验、方差分析等复杂的问题进行简单、快捷的计算处理。鉴于此,本文主要讨论基于Matlab的假设检验和方差分析实现问题。

2、理论背景

本文主要是在Matlab平台上从假设检验和方差分析两个方面进行介绍。所以在此先给出假设检验和方差分析的基本理论知识。

2.1假设检验

假设检验是数理统计学中根据一定假设条件由样本推断总体的一种方法,是数理统计研究的重要组成部分。假设检验亦称显著性检验,是用来判断样本与样本,样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。用样本指标估计总体指标,其结论有的完全可靠,有的只有不同程度的可靠性,需要进一步加以检验和证实。通过检验,对样本指标与假设的总体指标之间是否存在差别作出判断,是否接受原假设。这里必须明确,进行检验的目的不是怀疑样本指标本身是否计算正确,而是为了分析样本指标和总体指标之间是否存在显著差异。从这个意义上,假设检验又称为显著性检验。它是先对总体的某个位置参数或总体的分布形式做某种假设,然后由所抽取的样本提供的信息,构造合适的统计量,对所提出的假设进行检验,已做出统计判断。对于是接受假设还是拒绝假设,这类统计推断问题成为假设检验问题。假设检验的思想就是概率性质的反正法。其依据是小概率事件原理(也称为实际事件原理):小概率事件在一次实验中是几乎不可能发生的。假设检验在数理统计的理论研究和实际应用中占有重要的地位。

2.2 方差分析

方差分析的实质就是检验多个正态总体均值是否相等。它在数理统计学中占有重要的位置。在实际生活和工作中,常常要通过实验来了解各种因素对产品的性能、产量等的影响,这些性能、产量指标统称为试验指标,而称影响试验指标的条件、原因等为因素或因子,称因素所处的不同状态为水平。各因素对试验指标的影响一般是不同的,就是同一因素的不同水平对试验指标的影响往往也是不同的。方差分析就是通过对实验数据进行分析,检验方差相同的正态总体的均值是否相等,以判断各因素对试验指标的影响是否显著。方差分析按影响实验指标的因素的个数分为单因素方差分析、双因素方差分析和多因素方差分析,而本文只介绍单因素方差分析和双因素方差分析。方差分析所分析的并非方差,而是研究数据间的变异来源是条件误差还是随机误差。方差分析是实验研究中分析实验数据的重要方法,应用

十分广泛。

3、MATLAB仿真与分析

下面我们对数理统计中的假设检验以及方差分析问题的Matlab求解进行讨论。

3.1 假设检验的计算机求解

3.1.1 2已知,单个正态总体的均值μ的假设检验(U检验法)

函数 ztest

格式 h = ztest(x,m,sigma) % x为正态总体的样本,m为均值μ0,sigma为标准差,显著性水平为0.05(默认值)

h = ztest(x,m,sigma,alpha) %显著性水平为alpha

[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间,zval为统计量的值。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:0m,

若 tail=0,表示备择假设:H1:0m(默认,双边检验);

tail=1,表示备择假设:H1:0m(单边检验);

tail=-1,表示备择假设:H1:0m(单边检验)。

例1 某车间用一台包装机包装葡萄糖,包得的袋装糖重是一个随机变量,它服从正态分布。当机器正常时,其均值为0.5公斤,标准差为0.015。某日开工后检验包装机是否正常,随机地抽取所包装的糖9袋,称得净重为(公斤)

0.497, 0.506, 0.518, 0.524, 0.498, 0.511, 0.52, 0.515, 0.512

问机器是否正常?

解:总体μ和σ已知,该问题是当2为已知时,在水平0.05下,根据样本值判断μ=0.5还是0.5。为此提出假设:

原假设: H0:00.5

备择假设:H1:0.5

>> X=[0.497,0.506,0.518,0.524,0.498,0.511,0.52,0.515,0.512]; >> [h,sig,ci,zval]=ztest(X,0.5,0.015,0.05,0)

结果显示为

h =

1 sig = 0.0248 %样本观察值的概率 ci = 0.5014 0.5210 %置信区间,均值0.5在此区间之外 zval = 2.2444 %统计量的值

结果表明:h=1,说明在水平0.05下,可拒绝原假设,即认为包装机工作不正常。

3.1.2 2未知,单个正态总体的均值μ的假设检验( t检验法)

函数 ttest

格式 h = ttest(x,m) % x为正态总体的样本,m为均值μ0,显著性水平为0.05

h = ttest(x,m,alpha) %alpha为给定显著性水平

[h,sig,ci] = ttest(x,m,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:0m,

若 tail=0,表示备择假设:H1:0m(默认,双边检验);

tail=1,表示备择假设:H1:0m(单边检验);

tail=-1,表示备择假设:H1:0m(单边检验)。

例2 某种电子元件的寿命X(以小时计)服从正态分布,、σ2均未知。现测得16只元件的寿命如下

159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170

问是否有理由认为元件的平均寿命大于225(小时)?

解:未知2,在水平0.05下检验假设:H0:0225,H1:225

>> X=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170]; >> [h,sig,ci]=ttest(X,225,0.05,1)

结果显示为:

h = 0 sig = 0.2570 ci = 198.2321 Inf %均值225在该置信区间内

结果表明:H=0表示在水平0.05下应该接受原假设H0,即认为元件的平均寿命不大于225小时。

3.1.3 两个正态总体均值差的检验(t检验)

两个正态总体方差未知但等方差时,比较两正态总体样本均值的假设检验

函数 ttest2

格式 [h,sig,ci]=ttest2(X,Y) %X,Y为两个正态总体的样本,显著性水平为0.05

[h,sig,ci]=ttest2(X,Y,alpha) %alpha为显著性水平

[h,sig,ci]=ttest2(X,Y,alpha,tail) %sig为当原假设为真时得到观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间。

说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;

若h=1,表示在显著性水平alpha下,可以拒绝原假设。

原假设:H0:12, (1为X为期望值,2为Y的期望值),

若 tail=0,表示备择假设:H1:12(默认,双边检验);

tail=1,表示备择假设:H1:12(单边检验);

tail=-1,表示备择假设:H1:12(单边检验)。

例3 在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的产率,试验是在同一只平炉上进行的。每炼一炉钢时除操作方法外,其他条件都尽可能做到相同。先用标准方法炼一炉,然后用建议的新方法炼一炉,以后交替进行,各炼10炉,其产率分别为

(1)标准方法:78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3

(2)新方法: 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1

设这两个样本相互独立,且分别来自正态总体N(1,2)和N(2,2),1、2、2均未知。问建议的新操作方法能否提高产率?(取α=0.05)

解:两个总体方差不变时,在水平0.05下检验假设:H0:12,H1:12

>>X=[78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3]; >>Y=[79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1]; >> [h,sig,ci]=ttest2(X,Y,0.05,-1)

结果显示为:

h = 1 sig = 2.1759e-004 %说明两个总体均值相等的概率很小 ci = -Inf -1.9083

结果表明:H=1表示在水平0.05下,应该拒绝原假设,即认为建议的新操作方法提高了产率,因此,比原方法好。

3.1.4 两个总体一致性的检验——秩和检验

函数 ranksum

格式 p = ranksum(x,y,alpha) %x、y为两个总体的样本,可以不等长,alpha为显著性水平

[p,h] = ranksum(x,y,alpha) % h为检验结果,h=0表示X与Y的总体差别不显著h=1表示X与Y的总体差别显著

[p,h,stats] = ranksum(x,y,alpha) %stats中包括:ranksum为秩和统计量的值以及zval为过去计算p的正态统计量的值

说明 P为两个总体样本X和Y为一致的显著性概率,若P接近于0,则不一致较明显。 例4 某商店为了确定向公司A或公司B购买某种商品,将A和B公司以往的各次进货的次品率进行比较,数据如下所示,设两样本独立。问两公司的商品的质量有无显著差异。设两公司的商品的次品的密度最多只差一个平移,取α=0.05。

A:7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5

B:5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3

B分别为A、解:设A、B两个公司的商品次品率总体的均值。则该问题为在水平α=0.05

下检验假设:H0:AB,H1:AB

>> A=[7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5]; >> B=[5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3]; >> [p,h,stats]=ranksum(A,B,0.05)

结果为:

p = 0.8041 h = 0 stats = zval: -0.2481 ranksum: 116

结果表明:一方面,两样本总体均值相等的概率为0.8041,不接近于0;另一方面,H=0也说明可以接受原假设H0,即认为两个公司的商品的质量无明显差异。

3.1.5 两个总体中位数相等的假设检验——符号秩检验

函数 signrank

格式 p = signrank(X,Y,alpha) % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p,h] = signrank(X,Y,alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signrank(x,y,alpha) % stats中包括:signrank为符号秩统计量的值以及zval为过去计算p的正态统计量的值。

例5 两个正态随机样本的中位数相等的假设检验

>> x=normrnd(0,1,20,1); >> y=normrnd(0,2,20,1); >> [p,h,stats]=signrank(x,y,0.05) p = 0.3703 h = 0 stats = zval: -0.8960 signedrank: 81

结果表明:h=0表示X与Y的中位数之差不显著。

3.1.6 两个总体中位数相等的假设检验——符号检验

函数 signtest

格式 p=signtest(X, Y, alpha) % X、Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑。

[p, h]=signtest(X, Y, alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著。

[p,h,stats] = signtest(X,Y,alpha) % stats中sign为符号统计量的值

例6 两个正态随机样本的中位数相等的假设检验

>> X=normrnd(0,1,20,1); >> Y=normrnd(0,2,20,1); >> [p,h,stats]=signtest(X,Y,0.05) p = 0.2632 h = 0 stats = sign: 7

结果表明:h=0表示X与Y的中位数之差不显著。

3.1.7 正态分布的拟合优度测试

函数 jbtest

格式 H = jbtest(X) %对输入向量X进行Jarque-Bera测试,显著性水平为0.05。 H = jbtest(X,alpha) %在水平alpha而非5%下施行 Jarque-Bera 测试,alpha在0和1之间。

[H,P,JBSTAT,CV] = jbtest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;JBSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。X为大样本,对于小样本用lillietest函数。

例7 调用MATLAB中关于汽车重量的数据,测试该数据是否服从正态分布

>> load carsmall >> [h,p,j,cv]=jbtest(Weight) h = 1 p = 0.0267 j = 7.2448 cv = 5.9915

说明 p=2.67%表示应该拒绝服从正态分布的假设;h=1也可否定服从正态分布;统计量的值j = 7.2448大于接受假设的临界值cv =5.9915,因而拒绝假设(测试水平为5%)。

3.1.8 正态分布的拟合优度测试

函数 lillietest

格式 H = lillietest(X) %对输入向量X进行Lilliefors测试,显著性水平为0.05。 H = lillietest(X,alpha) %在水平alpha而非5%下施行Lilliefors测试,alpha在0.01和0.2之间。

[H,P,LSTAT,CV] = lillietest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。

说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布。

例8

>> Y=chi2rnd(10,100,1); >> [h,p,l,cv]=lillietest(Y) h = 1 p = 0.0175 l = 0.1062 cv = (图1) 0.0886

说明 h=1表示拒绝正态分布的假设;p = 0.0175表示服从正态分布的概率很小;统计量的值l = 0.1062大于接受假设的临界值cv =0.0886,因而拒绝假设(测试水平为5%)。

>>hist(Y)

从图中看出,数据Y不服从正态分布。

3.1.9 单个样本分布的 Kolmogorov-Smirnov 测试

函数 kstest

格式 H = kstest(X) %测试向量X是否服从标准正态分布,测试水平为5%。

H = kstest(X,cdf) %指定累积分布函数为cdf的测试(cdf=[ ]时表示标准正态分布),测试水平为5%。

H = kstest(X,cdf,alpha) % alpha为指定测试水平。

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha) %P为原假设成立的概率,KSSTAT为测试统计量的值,CV为是否接受假设的临界值。

说明 原假设为X服从标准正态分布。若H=0则不能拒绝原假设,H=1则可以拒绝原假设。

例9 产生100个威布尔随机数,测试该随机数服从的分布。

>> x=weibrnd(1,2,100,1); >> [H,p,ksstat,cv]=kstest(x,[x weibcdf(x,1,2)],0.05) %测试是否服从威布尔分布 H = 0 p = 0.3022 ksstat = 0.0959 cv = 0.1340

说明 H=0表示接受原假设,统计量ksstat小于临界值表示接受原假设。

>> [H,p,ksstat,cv]=kstest(x,[x expcdf(x,1)],0.05) %测试是否服从指数分布

H = 1 p = 0.0073 ksstat = 0.1653 cv = 0.1340

说明 H=1表明拒绝服从指数分布的假设。

>> [H,p,ksstat,cv]=kstest(x,[ ],0.05) %测试是否服从标准正态分布 H = 1 p = 3.1285e-026 ksstat = 0.5380 cv = 0.1340

说明 H=1表明不服从标准正态分布。

3.1.10 两个样本具有相同的连续分布的假设检验

函数 kstest2

格式 H = kstest2(X1,X2) %测试向量X1与X2是具有相同的连续分布,测试水平为5%。

H = kstest2(X1,X2,alpha) % alpha为测试水平。

[H,P,KSSTAT] = kstest(X,cdf,alpha) %与指定累积分布cdf相同的连续分布,P为假设成立的概率,KSSTAT为测试统计量的值。

说明 原假设为具有相同连续分布。测试结果为H,若H=0,表示应接受原假设;若H=1,

表示可以拒绝原假设。这是Kolmogorov-Smirnov测试方法。

例10

>> x=-1:1:5; >> y=randn(20,1); >> [h,p,k]=kstest2(x,y) h = 1 p = 0.0444 k = 0.5643

说明 h=1表示可以认为向量x与y的分布不相同,相同的概率只有4.4%。

3.2 方差分析的计算机求解

3.2.1 单因素方差分析

单因素方差分析是比较两组或多组数据的均值,它返回原假设——均值相等的概率。 函数 anova1

格式 p = anova1(X) %X的各列为彼此独立的样本观察值,其元素个数相同,p为各列均值相等的概率值,若p值接近于0,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同。

p = anova1(X,group) %X和group为向量且group要与X对应

p = anova1(X,group,'displayopt') % displayopt=on/off表示显示与隐藏方差分析表图和盒图

[p,table] = anova1(…) % table为方差分析表

[p,table,stats] = anova1(…) % stats为分析结果的构造

说明 anova1函数产生两个图:标准的方差分析表图和盒图。

方差分析表中有6列:

第1列(source)显示:X中数据可变性的来源;

第2列(SS)显示:用于每一列的平方和;

第3列(df)显示:与每一种可变性来源有关的自由度;

第4列(MS)显示:是SS/df的比值;

第5列(F)显示:F统计量数值,它是MS的比率;

第6列显示:从F累积分布中得到的概率,当F增加时,p值减少。

例11 设有3台机器,用来生产规格相同的铝合金薄板。取样测量薄板的厚度,精确至‰厘米。得结果如下:

机器1:0.236 0.238 0.248 0.245 0.243

机器2:0.257 0.253 0.255 0.254 0.261 机器3:0.258 0.264 0.259 0.267 0.262 检验各台机器所生产的薄板的厚度有无显著的差异?

解:

>> X=[0.236 0.238 0.248 0.245 0.243; 0.257 0.253 0.255 0.254 0.261;„ 0.258 0.264 0.259 0.267 0.262]; >> P=anova1(X') 结果为: P =

1.3431e-005

还有两个图,即图2和图3。

0.260.20.25Values

0.20.240.20.23

Column Number

(图2) (图3)

例12 建筑横梁强度的研究:3000磅力量作用在一英寸的横梁上来测量横梁的挠度,钢筋横梁的测试强度是:82 86 79 83 84 85 86 87;

其余两种更贵的合金横梁强度测试为: 合金1:74 82 78 75 76 77; 合金2:79 79 77 78 82 79。 检验这些合金强度有无明显差异?

解:

>> strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79]; >>alloy = {'st','st','st','st','st','st','st','st', 'al1','al1','al1','al1','al1','al1',„ 'al2','al2','al2','al2','al2','al2'};

>> [p,table,stats] = anova1(strength,alloy,'on') 结果为 p =

1.5264e-004 table =

'Source' 'SS' 'df' 'MS' 'F' 'Prob>F' 'Groups' [184.8000] [ 2] [92.4000] [15.4000] [1.5264e-004] 'Error' [102.0000] [17] [ 6.0000] [ ] [ ] 'Total' [286.8000] [19] [ ] [ ] [ ] stats =

gnames: {3x1 cell} n: [8 6 6] source: 'anova1' means: [84 77 79] df: 17 s: 2.4495

888Values

8777

(图4) (图5)

说明 p值显示,3种合金是明显不同的,盒图显示钢横梁的挠度大于另两种合金横梁的挠度。

3.2.2 双因素方差分析

函数 anova2

格式 p = anova2(X,reps) p = anova2(X,reps,'displayopt') [p,table] = anova2(…) [p,table,stats] = anova2(…)

说明 执行平衡的双因素试验的方差分析来比较X中两个或多个列(行)的均值,不同列的数据表示因素A的差异,不同行的数据表示另一因素B的差异。如果行列对有多于一个的观察点,则变量reps指出每一单元观察点的数目,每一单元包含reps行,如:

A1A2

x111x121x211x221x311x321x112

B1x122

x212

B2 x222x312

B3x322

reps=2

其余参数与单因素方差分析参数相似。

例13 一火箭使用了4种燃料,3种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭2次,得到结果如下:

推进器(B) B1 B2 B3 A1 58.2000 56.2000 65.3000 52.6000 41.2000 60.8000 A2 49.1000 54.1000 51.6000 燃料A 42.8000 50.5000 48.4000 A3 60.1000 70.9000 39.2000 58.3000 73.2000 40.7000 A4 75.8000 58.2000 48.7000 71.5000 51.0000 41.4000

考察推进器和燃料这两个因素对射程是否有显著的影响? 解:建立M文件

X=[58.2000 56.2000 65.3000 52.6000 41.2000 60.8000 49.1000 54.1000 51.6000 42.8000 50.5000 48.4000 60.1000 70.9000 39.2000 58.3000 73.2000 40.7000 75.8000 58.2000 48.7000 71.5000 51.0000 41.4000]; P=anova2(X,2) 结果为: P =

0.0035 0.0260 0.0001 显示方差分析图为图6。

(图6)

总结:

通过对假设检验以及方差分析问题的Matlab求解,我们可以清晰的看到,对于假设检验和方差分析中一些复杂繁琐的数据计算问题,可以通过Matlab简便直观的处理,给予我们学习和工作带来极大的方便。

致谢:

在本论文的写作过程中,我的导师施明华老师给予了我极大地帮助,从选题到开题报告,从写作提纲,到一遍又一遍的指出稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我关心和支持的各位老师、同学和朋友。

参考文献:

[1]刘卫国.Matlab程序设计与应用[M].北京:高等教育出版社:2002 [2]刘卫国.科学计算与Matlab语言[M].北京:中国铁道出版社,2002 [3]张志涌.精通Matlab6.5[M].北京:北京航空航天大学出版社,2003

[4]飞思科技产品研发中心.Matlab基础与提高[M].北京:电子工业出版社,2004 [5]仇庆久.高等数学/面向21世纪课程教材[M].北京:高等教育出版社,2003 [6]王岩,隋思涟.数理统计与Matlab工程数据分析[M].北京:清华大学出版社,2006 [7]张威.Matlab基础与编程入门[M].西安:西安电子科技大学出版社,2008

[8]茆诗松,程依明,濮晓龙.概率论与数理统计教程[M].北京:高等教育出版社,2004

Matlab-based hypothesis testing and variance analysis to achieve

Abstract: Hypothesis testing and variance analysis are important elements in the mathematical statistical calculations. But they often encounter in the actual calculation and application of some complicated calculations, which often are we not. Faced with this problem, we will be able in Matlab to achieve. This article focuses on how to use Matlab for hypothesis testing and variance analysis of the complex issues to solve on a computer. Hypothesis testing mainly from the aspects of the U test method, the T-test method, the Wilcoxon rank sum test, signed rank test, sign test, the normal distribution of the goodness of fit test on the computer by Matlab described. In the variance analysis, from the single-factor analysis of variance and the two-factor analysis of variance in the computer on the Matlab platform to explain.

Key words: MATLAB; hypothesis testing; analysis of variance.


相关内容

  • 数学建模大赛一等奖作品
  • 数学建模论文 高速公路道路交通事故分析预测 摘 要 我国目前的道路交通安全状况相对于世界水平要差得多,高速公路道路交通事故所造成的损失非常高.因此,改善交通安全状况.预防和减少高速公路交通事故具有重大的现实意义.针对这样的现状,我们必须进行高速公路交通事故的预测,从而及早采取措施进行预防工作,从而减 ...

  • 2012年全国数学建模大赛优秀论文
  • 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外的任何人(包括指导教师)研究.讨论与赛题有关的问题. 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资 ...

  • 四葡萄酒的评价
  • 葡萄酒的评价 摘 要 本文围绕葡萄酒,酿酒葡萄的理化指标,利用层次聚类分析法,主成分分析法,统计理论,建立了偏相关系数模型,多元分析模型,从而对葡萄酒.酿酒葡萄质量高低进行排名,并找到二者关系,得到葡萄酒等级的划分. 问题一,针对葡萄酒,首先通过直方图的检验,认为评酒员对葡萄酒的评分服从正态分布,采 ...

  • 葡萄酒的评价
  • 2015年江苏师范大学暑期数学建模模拟竞赛 题 目 葡萄酒的评价 摘 要 题目要求解决解决葡萄酒的评价问题及其指标之间的联系,需要运用统计学中不同的分析方法,并建立模型,再利用相应的统计软件进行求解. 针对问题一,首先分析对各种样本葡萄酒的打分进行统计整理,得到每位评酒员对所有酒样品的总得分,然后利 ...

  • Fcnki_空间计量模型选择及其模拟分析_陶长琪
  • 第31卷第8期2014年8月统计研究 StatisticalResearchVol.31,No.8Aug.2014 空间计量模型选择及其模拟分析 陶长琪 杨海文 * 也是空间计量模型实证分析的关键步内容提要:空间计量模型的选择是空间计量建模的一个重要组成部分, LM检验.骤.本文对空间计量模型选择中 ...

  • 最小二乘法在数学模型建立与检验中的运用
  • 最小二乘法在数学模型建立与检验中的应用 信息与计算科学专业2008级 周建勤 摘要:本文主要研究了最小二乘法在建立数学模型中的参数学模型中的参数估计数估计,模型检验中的应用.通过给出最小二乘法在Matlab 中的代码计算模型参数,误差精确度,并给出检验模型是否具有多重共线,异方差性,序列相关性方法. ...

  • 手部动作的肌电信号分析与建模
  • 手部动作的肌电信号分析与建模 摘要 随着人机交互技术的发展,机器的智能程度不断提高,利用肌肤表面的电位信号 判断手部动作就是典型的智能技术,其具有广泛的应用前景和实用价值.本文根据实 验一.实验二中所给的数据进行分析,对每种动作所反馈的不同识别信号进行研究并 建出模型. 1.针对问题一,在MATLA ...

  • 2012建模论文
  • 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外的任何人(包括指导教师)研究.讨论与赛题有关的问题. 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资 ...

  • 碎纸片的拼接复原de论文
  • 承 诺 书 我们仔细阅读了<全国大学生数学建模竞赛章程>和<全国大学生数学建模竞赛参赛规则>(以下简称为"竞赛章程和参赛规则",可从全国大学生数学建模竞赛网站下载). 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话.电子邮件.网上咨询等)与队外 ...