我们已经作过两个总体均值的假设检验,如两台机床生产的零件尺寸是否相等,病人和正常人的某个生理指标是否一样。如果把这类问题推广一下,要检验两个以上总体的均值彼此是否相等,仍然用以前介绍的方法是很难做到的。而你在实际生产和生活中可以举出许多这样的问题:从用几种不同工艺制成的灯泡中,各抽取了若干个测量其寿命,要推断这几种工艺制成的灯泡寿命是否有显著差异;用几种化肥和几个小麦品种在若干块试验田里种植小麦,要推断不同的化肥和品种对产量有无显著影响。可以看到,为了使生产过程稳定,达到优质、高产,需要对影响产品质量的因素进行分析,找出有显著影响的那些因素,除了从机理方面进行研究外,常常要作许多试验,对结果作分析、比较,寻求规律。用数理统计分析试验结果、鉴别各因素对结果影响程度的方法称为方差分析(AnalysisOfVariance),记作ANOVA。人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子,因素所处的状态称为水平。上面提到的灯泡寿命问题是单因素试验,小麦产量问题是双因素试验。处理这些试验结果的统计方法就称为单因素方差分析和双因素方差分析。A取某个水平下的指标视为随机变量,判断A取不同水平时指标有无显著差别,相当于检验若干总体的均值是否相等。§1单因素方差分析只考虑一个因素A对所关心的指标的影响,A取几个水平,在每个水平上作若干个试验,试验过程中除A外其它影响指标的因素都保持不变(只有随机因素存在),我们的任务是从试验结果推断,因素A对指标有无显著影响,即当A取不同水平时指标有无显著差别。1.1数学模型设A取r个水平rAAA,,,21,在水平iA下总体ix服从正态分布),(2iN,ri,,1,这里2,i未知,i可以互不相同,但假定ix有相同的方差。又设在每个水平iA下都作了n次独立试验,即从中抽取容量为n的样本,记作njxji,,1,,jix服从),(2iN,njri,,1,,,1且相互独立。将这些数据列成下表(单因素试验数据表)的形式:1A2A…rA111x12x…rx1221x22x…rx2n1nx2nx…nrx将第i列称为第i组数据。判断A的r个水平对指标有无显著影响,相当于要作以下的假设检验rH210:;rH,,,:211不全相等由于jix的取值既受不同水平iA的影响,又受iA固定下随机因素的影响,所以将它分解为jiijix,ri,,1,nj,,1(1)其中),0(~2Nji,且相互独立。记riir11,ii,ri,,1(2)是总均值,i是水平iA对指标的效应。由(1)、(2)模型可表为njriNxjiriijiiji,,1,,,1),,0(~021(3)原假设为(以后略去备选假设)0:210rH(4)1.2统计分析记njjiixnx11,ririnjjiixrnxrx11111(5)ix是第i组数据的组平均值,x是总平均值。考察全体数据对x的偏差平方和rinjjixxS112)((6)经分解可得rinjijiriixxxxnS11212)()(记riiAxxnS12)((7)rinjijiExxS112)((8)则EASSS(9)AS是各组均值对总方差的偏差平方和,称为组间平方和;ES是各组内的数据对均值偏差平方和的总和。AS反映A不同水平间的差异,ES则表示在同一水平下随机误差的大小。对ES和AS作进一步分析可得2)1(nrESE(10)riiAnrES122)1((11)当0H成立时2)1(rESA(12)可知若0H成立,AS只反映随机波动,而若0H不成立,那它就还反映了A的不同水平的效应i。单从数值上看,当0H成立时,由(10)、(12)对于一次试验应有1)]1(/[)1/(nrSrSEA而当0H不成立时这个比值将远大于1。当0H成立时,该比值服从自由度11rn,)1(2nrn的F分布,即))1(,1(~)]1(/[)1/(nrrFnrSrSFEA(13)为检验0H,给定显著性水平,记F分布的1分位数为))1(,1(1nrrF,检验规则为))1(,1(1nrrFF时接受0H,否则拒绝。以上对SSSEA,,的分析相当于对组间、组内等方差的分析,所以这种假设检验方法称方差分析。1.3方差分析表将试验数据按上述分析、计算的结果排成下表的形式,称为单因素方差分析表。方差来源平方和自由度平方均值F值概率因素AAS1r1rSSAApF1p误差ES)1(nr)1(nrSSEE总和S1rn最后一列给出的概率p相当于))1(,1(1nrrFF。方差分析一般用的显著性水平是:取01.0,拒绝0H,称因素A的影响(或A各水平的差异)非常显著;取01.0,不拒绝0H,但取05.0,拒绝0H,称因素A的影响显著;取05.0,不拒绝0H,称因素A无显著影响。1.4Matlab实现Matlab统计工具箱中单因素方差分析的命令是anoval,用法为:p=anoval(x)返回值p是一个概率,当p时接受0H,x为rn的数据矩阵(如上面的单因素试验数据表形式),x的每一列是一个水平的数据。另外,还给出一个方差表和一个Box图。例1为考察5名工人的劳动生产率是否相同,记录了每人4天的产量,并算出其平均值,如下表。你能从这些数据推断出他们的生产率有无显著差别吗?工人1A2A3A4A5A天1256254250248236224233027728025232802902303052204298295302289252平均产量269.00292.25264.75280.50240.00解编写程序如下:x=[256254250248236242330277280252280290230305220298295302289252];p=anova1(x)求得05.01109.0p,故接受0H,即5名工人的生产率没有显著差异。方差表对应于上面的单因素方差分析表的5~1列,262.2F是)15,4(F分布的p1分位数,可以验证fcdf(2.262,4,15)=0.8891=1-pBox图反映了各组数据的特征。注:接受0H,是将5名工人的生产率作为一个整体进行假设检验的结果,并不表明取其中2个工人的生产率作两总体的均值检验时,也一定接受均值相等的假设。实际上,读者可以用ttest2对本题作520:H的检验,看看会得到什么结果。1.5非均衡数据的方差分析上面所讨论的情况是r个样本的容量即各组数据个数相等,称为均衡数据。若各组数据个数不等,称非均衡数据。非均衡数据的方差分析,其数学模型和统计分析的思路和方法与上面一样。anova1也能处理非均衡数据,与处理均衡数据的区别仅在于数据输入的不同:p=anova1(x,group)x为数组,从第1组到第r组数据依次排列;group为与x同长度的数组,标志x中数据的组别(在与x第i组数据相对应的位置处输入整数),,2,1(rii)。例2用4种工艺生产灯泡,从各种工艺制成的灯泡中各抽出了若干个测量其寿命,结果如下表,试推断这几种工艺制成的灯泡寿命是否有显著差异。工艺1A2A3A4A序号116201580146015002167016001540155031700164016201610417501720168051800解编写程序如下:x=[1620158014601500167016001540155017001640162016101750172016801800];x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];p=anova1(x,g)求得0.01p=0.03310.05,所以几种工艺制成的灯泡寿命有显著差异。1.6多重比较在灯泡寿命问题中,为了确定哪几种工艺制成的灯泡寿命有显著差异,我们先算出各组数据的均值:工艺1A2A3A4A均值1708163515401585虽然1A的均值最大,但要判断它与其它几种有显著差异,尚需作两总体均值的假设检验。用ttest2检验的结果如下:原假设213141h011p0.14590.02020.0408即1A与43,AA有显著差异()05.0,但与2A无显著差异,要想进一步比较优劣,应增加试验数据。以上作的几个两总体均值的假设检验,是多重比较的一部分。一般多重比较要对所有r个总体作两两对比,分析相互间的差异。根据问题的具体情况可以减少对比次数。§2双因素方差分析如果要考虑两个因素BA,对指标的影响,BA,各划分几个水平,对每一个水平组合作若干次试验,对所得数据进行方差分析,检验两因素是否分别对指标有显著影响,或者还要进一步检验两因素是否对指标有显著的交互影响。2.1数学模型设A取r个水平rAAA,,,21,B取s个水平sBBB,,,21,在水平组合),(ijBA下总体ijx服从正态分布),(2ijN,si,,1,rj,,1。又设在水平组合),(ijBA下作了t个试验,所得结果记作ijkx,ijkx服从),(2ijN,si,,1,rj,,1,tk,,1,且相互独立。将这些数据列成下表的形式:1A2A…rA1Btxx11111txx12121…rtrxx1112Btxx21211txx22221…rtrxx212sBtssxx111tssxx221…srtsrxx1将ijkx分解为ijkijijkx,si,,1,rj,,1,tk,,1(14)其中),0(~2Nijk,且相互独立。记sirjijrs111,rjijir11,iisiijjs11,jj,ijijij(15)是总均值,j是水平jA对指标的效应,i是水平iB对指标的效应,ij是水平jA与iB对指标的交互效应。模型表为tkrjsiNxijkrjsisirjijijijijkijjiijk,,1,,,1,,,1),,0(~0,0,021111(16)原假设为),,1(0:01rjHj),,1(0:02siHi),,1,,,1(0:03rjsiHij2.2无交互影响的双因素方差分析如果根据经验或某种分析能够事先判定两因素之间没有交互影响,每组试验就不必重复,即可令1t,过程大为简化。2.3Matlab实现统计工具箱中用anova2作双因素方差分析。命令为p=anova2(x,reps)其中x不同列的数据表示单一因素的变化情况,不同行中的数据表示另一因素的变化情况。如果每种行—列对(“单元”)有不止一个的观测值,则用参数reps来表明每个“单元”多个观测值的不同标号,即reps给出重复试验的次数t。下面的矩阵中,列因素有3种水平,行因素有两种水平,但每组水平有两组样本,相应地用下标来标识:232222212231221211132122112131121111xxxxxxxxxxxx例3一火箭使用了4种燃料,3种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭2次,得到结果如下:1B2B3B1A58.2,52.656.2,41.265.3,60.82A49.1,42.854.1,50.551.6,48.43A60.1,58.370.9,73.239.2,40.74A75.8,71.558.2,51.048.7,41.4试在水平0.05下,检验不同