您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第七章方差分析和协方差分析
第七章方差分析和协方差分析(医学统计之星)上次更新日期:方差分析和协方差分析在SAS系统中由SAS/STAT模块来完成,其中我们常用的有ANOVA过程和GLM过程。前者运算速度较快,但功能较为有限;后者运算速度较慢,但功能强大,我们做协方差分析时就要用到GLM过程。本章将首先介绍方差分析所用数据集的建立技巧,然后重点介绍这两个程序步。其实,这里的速度快慢只是相对而言,SAS的处理速度是首屈一指的。举个例子,这个暑假我做了一个有6600条记录的,7因素的,交叉设计的方差分析(是不是已经有人喊头痛了?),我先是用SPSSFORWIN957.5来做,运行了大约10分钟才出结果。我又换用SASFORWIN956.12来做,结果用了――2.47秒!§7.1方差分析数据集的建立技巧7.1.1方差分析的数据集格式统计分析所用的数据格式和我们在分析整理资料时所用的格式是不同的。一般来说,数据集中应至少有一个结果变量,用于记录不同处理因素水平下观察值的大小;至少有一个处理因素变量,用于记录处理因素的类型及其水平数。以单因素方差分析为例,就应有一个结果变量和一个处理因素变量;而两因素的方差分析应有一个结果变量和两个处理因素变量。例7.1某职业病防治院对31名石棉矿工中的石棉肺患者、可疑患者及非患者进行了用力肺活量测定,请给出数据集的结构(卫统p44例5.1)。解:数据集中应有两个变量,x和group。x记录肺活量的大小;group取值为1、2或3,分别代表石棉肺患者、可疑患者及非患者。例7.2某厂医务室测定了10名氟作业工人工前、工中及工后4小时的尿氟浓度,请给出数据集的结构(卫统p46例5.2)。解:数据集中应有三个变量,x、group和worker。x记录尿氟浓度;group取值为1、2或3,分别代表工前、工中及工后;worker取值为1到10,分别代表10名工人。7.1.2方差分析数据集的建立技巧可见方差分析的数据集其变量取值有一定的规律,因此可以利用循环语句和判断语句来简化输入。例7.3请建立例6.1的数据集。解:我们可以一个一个的输入变量group的值,但这里给出一种更酷的建立方法。libnamea'c:\user';dataa.wtli5_1;group=1;if_n_11then此处的_n_为SAS系统变量,表明读入的数据为第几条记录,由于石棉肺患者只有11人,因此第12条记录只能是可疑患者的记录,同理,从第20条记录开始的只能是非患者的记录。这里利用判断语句来完成从_n_到group的转换。if_n_20thengroup=3;elsegroup=2;;inputvalue@@;cards;1.81.41.52.1......3.33.5;procprint;run;例7.4请建立例7.2的数据集。解:此例中数据较有规律,各组的例数均相等,这可正是循环语句大显身手的时候。libnamea'c:\user';dataa.wtli5_2;dogroup=1to3;这里的SAS语句非常类似于Foxbase语句,两个循环分别控制了group和worker的取值,这在输入数据时是常见的一种技巧。doworker=1to10;inputvalue@@;output;两个变量只是循环变量,因此要用output语句写入数据集中。end;end;cards;90.5388.4347.37......105.2758.95请注意x变量和处理因素变量的对应关系,不要改变数据块的次序,否则建立的数据集是错的。;procprint;run;§7.2引例例7.5请回答在例7.1中三组石棉矿工的用力肺活量有无差别?解:由于是三组做比较,因此要用方差分析法。在建立数据集后可用ANOVA过程或GLM过程进行分析,同时给出选项进行各组均数的两两比较(此处用SNK法),两过程的输出格式基本一致。对于单因素的方差分析,在比较之前一般要考虑方差齐性的问题。这里可以用GLM过程中的HOVTEST选项实现,实际上这也是在SAS中做方差齐性检验的唯一途径。①设定数据库环境:LIBNAMEA'C:\USER';②数据步,建立数据集(略):③ANOVA或GLM过程,进行方差分析并同时做两两比较(SNK法):PROCANOVADATA=A.WTLI5_1;PROCGLMDATA=A.WTLI5_1;CLASSGROUP;CLASSGROUP;MODELVALUE=GROUP;MODELVALUE=GROUP/SS1;MEANGROUP/SNK;MEANGROUP/SNKHOVTEST;RUN;RUN;这里的GLM过程中有两个选项,SS1要求只输出方差分析SS1模型的结果(默认输出SS1和SS3两种模型的结果),HOVTEST则要求进行方差齐性检验(该选项只能在SAS6.12以上的版本中实现)。§7.3ANOVA过程ANOVA过程是SAS系统中用于方差分析的几个程序步之一,它适用于平衡的数据。这意味着如果按所分析的变量将观测值分类,则每个格子内的观测值数目应相同。如果数据不满足这一要求,则ANOVA过程的分析结果并不可靠,分析者应改用GLM过程来处理数据。7.3.1语法格式PROCANOVA[DATA=数据集名MANOVA按多元分析的要求略去有任一缺失值的记录OUTSTAT=数据集名];指定统计结果输出的数据集名CLASS处理因素名列;必需,指定要分析的处理因素MODEL应变量名=处理因素名列/[选项];必需,给出分析用的方差分析模型MEANS变量名列/[选项];指定要两两比较的因素及比较方法BY变量名列;FREQ变量名;MANOVAH=效应E=效应M=公式...;指定多元方差分析的选项7.3.2语法说明Means语句的选项主要用来指定两两比较的方法和检验水准,主要有:两两比较方法BON(Bonferroni检验)、DUNCAN(新复极差法)、DUNNETT、GABRIEL、LSD(最小显著差法)、SCHEFFE、SIDAK、SNK(q检验)、TUKEY、WALLER其它ALPHA=p值更改水准7.3.3结果解释这里以例7.2的数据为例,ANOVA过程的输出结果分两大部分,第一部分是分析变量的列表描述,第二部分是统计结果,先是所用方差分析模型的检验,然后是各个处理因素和交互作用的检验结果,最后则是两两比较的结果。AnalysisofVarianceProcedure方差分析过程ClassLevelInformation处理因素取值情况ClassLevelsValues处理因素变量名取值数具体值GROUP3123WORKER1012345678910Numberofobservationsindataset=30样本大小为30--------------以下为方差分析的统计结果部分,首先是对方差分析所用模型的检验-------------AnalysisofVarianceProcedureDependentVariable:VALUE应变量名为VALUESourceDFSumofSquaresMeanSquareFValuePrF变异来源自由度SSMSFp值Model1147895.877286674354.170662424.510.0024Error1817365.56086000964.75338111CorrectedTotal2965261.43814667R-SquareC.V.RootMSE应变量名Mean所用模型的决定系数变异系数剩余标准差应变量均数0.73390828.2750131.06047941109.85133333-----------统计结果的第二部分,对各个具体处理因素及其交互作用的检验----------DependentVariable:VALUESourceDFAnovaSSMeanSquareFValuePrF变异来源自由度SSMSFp值GROUP28182.893406674091.446703334.240.0310WORKER939712.983880004412.553764444.570.0030---------统计结果的第三部分,对GROUP变量做两两比较,只有MEAN语句中指定了才会出现------AnalysisofVarianceProcedureStudent-Newman-Keulstestforvariable:VALUE注意这里我们用SNK法做例子,其余比较方法的输出结果与之类似NOTE:ThistestcontrolsthetypeIexperimentwiseerrorrateunderthecompletenullhypothesisbutnotunderpartialnullhypotheses.Alpha=0.05df=18MSE=964.7534α水准为0.05,自由度为18,MS误差为964.7534NumberofMeans23CriticalRange29.18321935.451257SNK法两两比较时的界值,两均数之差大于该界值时则两组有统计学差异Meanswiththesameletterarenotsignificantlydifferent.SNKGroupingMeanNgroup(处理因素变量名)A126.59102ABA115.59103BB87.38101检验的分组结果各组均数例数组别注:为了便于理解,SAS将两两比较的结果直接用英文字母的形式标示出来。两两比较结果的最右侧是处理因素变量的取值,最左侧标以字母A、B、C等等,用以表示该处理组和其它组有无差异。如果两组有相同的字母(如2、3两组),则两者之间无差异;而如果两组间只有不同的字母,则表示两组间的差异有统计学意义。可以看出此次比较的结果为:1组和2组有区别,其余均两两无区别。7.3.4应用实例例7.6现测定了某湖湖水不同季节氯化物的含量,问不同季节氯化物含量有无区别(卫统p2262.6题)?解:dataa.wt2_6;doseason=1to4;inputx@@;output;end;cards;22.619.1...19.614.8注意输入次序;procanovadata=a.wt2_6;classseason;modelx=season;meanseason/snk;run;在本例中我为了节省地方,将大部分数据块用省略号略去了,可在带习时我惊讶的发现:有的同学在上机时敲入的这个程序居然也带有省略号?!显然是我误导了大家,辜负了同志们的信任,在此仅致以深深的歉意。你们到底要我怎么写才好...§7.4GLM过程GLM过程即广义线形模型(GeneralLinerModel)过程,它使用最小二乘法对数据拟合广义线形模型。GLM过程中可以进行回归分析、方差分析、协方差分析、剂量――反应模型分析、多元方差分析和偏相关分析等等,其功能之强大可见一斑。以上所提到的各种分析均可归入广义线形模型的范畴,因此均可用GLM过程来分析。7.4.1语法格式非常走运,在我们所用到的范围里,GLM过程的语法结构和ANOVA过程完全相同,这可大大的方便了我们的学习。这里我们只解释协方差分析的做法:由于协变量并非我们研究的处理因素,因此在CLASS语句中可不能有它的位置;但是,另一方面协变量要影响结果变量的取值,因此必须在模型中引入,怎么办?只要在MODEL语句中将其写入即可(写在分析变量的首位)。瞧,就这么简单!7.4.2结果解释这次我们仍然很走运,GLM过程的结果和ANOVA过程是雷同的――注意是雷同而不是相同。在处理因素、协变量及交互作用的检验结果部分,GLM过程会给出两种结果(Ⅰ类和Ⅲ类结果)。在我们用到的范围里,两种结果是完全相同的,所以用哪一种都可以。7.4.3应用实例例7.7今用A、B两药治疗12名贫血病人,测得治疗一个月时的红细胞增加数(百万/mm3),问两药的治疗效果如何,两药同时使用的效果如何(医统第二版P92例5.5)?解:该实验的设计为析因设计,在分析时要将交互作用考虑在内。程
本文标题:第七章方差分析和协方差分析
链接地址:https://www.777doc.com/doc-2209515 .html