05方差分析.docx
《05方差分析.docx》由会员分享,可在线阅读,更多相关《05方差分析.docx(46页珍藏版)》请在冰豆网上搜索。
![05方差分析.docx](https://file1.bdocx.com/fileroot1/2022-11/15/1372c1dc-10b8-49da-a7ae-a5ed0798429a/1372c1dc-10b8-49da-a7ae-a5ed0798429a1.gif)
05方差分析
第五章数值资料的统计推断
(二)——方差分析
5.1方差分析的意义、应用条件及常见设计类型
在一个分类变量(自变量)不同水平下或是在多个分类变量的水平组合下测量一个连续反应变量(因变量),这个反应变量的总变异可被解释为分类变量的效应(即主效应,如A,B分别表示由于分类变量A和B的不同水平引起的变异)或分类变量的组合产生的效应(即交互效应,如A*B表示A和B的交互作用,或嵌套效应,如B(A)表示B的效应嵌套在A之下),余下的变异为随机误差;同时将总自由度
分解为对应的各部分自由度之和。
例如在单因素完全随机设计方差分析中,方差分析的统计量为F值,
,F值服从F分布,在一定的显著水平下,如果F大于F界
值,说明该分类变量有统计学意义,即对应的各水平间的总体均数的差别有显著性,这就是方差分析的基本思想。
方差分析有三个应用条件∶①各样本是相互独立的;②各样本数据来自正态总体;③各处理组总体方差相等即方差齐性。
因此在作方差分析之前,要作正态性检验和方差齐性检验,如不满足上述要求,可考虑作变量变换,使其基本达到正态和方差齐性。
常用的变量变换方法有平方根变换(如Poisson分布的计数资料)、平方根反正弦变换(如服从二项分布的率的资料)、对数变换(标准差与均数之间成正比关系,各组CV值比较接近时的资料)及倒数变换(标准差与其均数的平方成正比关系时的资料)。
方差分析的常用设计类型有完全随机设计、随机区组设计、拉丁方设计、析因试验设计、正交设计、系统分组设计、裂区试验设计等。
5.2多样本的正态性检验和方差齐性检验
利用测得的三组大白鼠营养试验中每组测得12只大鼠的尿中氨氮的排出量x(mg/6天)建立SAS数据集work.ex1,编写的SAS程序如下:
DATAEX1;
DOGROUP=1TO3;
DOI=1TO12;
INPUTX@@;
OUTPUT;
END;
END;
CARDS;
302735352933323626413331
434553445153543747574842
826666865652768372735953
;
RUN;
5.2.1多样本的正态性检验
例5.1对SAS数据集work.ex1中以group分组的三组数据x分别作正态性检验。
编写的SAS程序如下:
PROCUNIVARIATENORMALDATA=EX1;
VARX;
BYGROUP;
RUN;
由于建立的SAS数据集work.ex1中group变量的值已经按升序排列,因此在使用上述程序之前不必使用PROCSORT过程对group变量进行排序。
正态性检验的输出结果:
--------------GROUP=1--------------
W:
Normal0.972879Pr------------GROUP=2--------------
W:
Normal0.97246Pr--------------GROUP=3--------------
W:
Normal0.941628Pr各组P值均大于0.05,可以认为三组数据均来自正态总体。
5.2.2多样本的方差齐性检验
例5.2对SAS数据集work.ex1中以group分组的三组数据x作方差齐性检验。
SAS程序如下:
PROCMEANSNOPRINTDATA=EX1;
VARX;
BYGROUP;
OUTPUTOUT=MX1CSS=SSN=NSTD=S;
RUN;
DATAMX2;
SETMX1;
F=N-1;
U=1/F;
_TYPE_=1;
LOGS=2*F*LOG(S);
RUN;
PROCMEANSNOPRINTDATA=MX2;
VARSSNFULOGS_TYPE_;
OUTPUTOUT=MX3SUM=T_SST_NT_FT_UT_LOGSK;
DATARESULT;
SETMX3;
SC2=T_SS/T_F;
FZ=T_F*LOG(SC2)-T_LOGS;
FM=1+1/3/(K-1)*(T_U-1/T_F);
DF=K-1;
CHISQR=FZ/FM;
PROB=1-PROBCHI(CHISQR,DF);
PROCPRINTNOOBS;
VARCHISQRDFPROB;
RUN;
上述MEANS过程创建一个名为_type_的变量以识别输出集中的观察结果。
这里_type_=1是表示变量group中的每一个组(水平)所生成的观测结果。
该SAS程序是方差齐性检验的通用程序,它适用于任意多组数据的方差齐性检验,在对其它的数据集作方差齐性检验时只需对程序中的前三句作相应的修改即可,即指明要分析的数据集名、要分析的变量名和分组变量名。
输出结果:
CHISQRDFPROB
12.13902.0023124
P<0.05,表明三组数据的方差不齐。
5.2.3通过适当的变量变换以达到方差分析的应用条件
例5.3以SAS数据集work.ex1为例,为观察资料的特点,可作如下过程:
PROCMEANSMEANSTDSTDERRDATA=EX1;
BYGROUP;
VARX;
RUN;
输出结果为:
--------------GROUP=1---------------
MeanStdDevStdError
32.33333334.16333201.2018504
--------------GROUP=2---------------
MeanStdDevStdError
47.83333335.90582661.7048653
----------------GROUP=3--------------
MeanStdDevStdError
68.666666711.90365363.4362888
发现均数大的组,其标准差也大,标准差与均数之间似有某种比例关系,故尝试作如下对数变换,编写的SAS程序如下:
DATAEX2;
SETEX1;
X=LOG10(X/10);
然后重复例5.1和例5.2的步骤就可对作对数变换后的新变量x按group分组作正态性检验和方差齐性检验。
由于新变量x是存在于数据集ex2中,故需将例5.1和例5.2的SAS程序中的data=ex1修改为data=ex2。
正态检验的输出结果:
----------------GROUP=1----------------------------
W:
Normal0.981635Pr----------------GROUP=2----------------------------
W:
Normal0.965168Pr----------------GROUP=3----------------------------
W:
Normal0.93628Pr方差齐性检验的输出结果:
CHISQRDFPROB
1.6340120.44175
以上结果表明变换后的数据既能满足服从正态分布的要求,又能满足方差齐性的要求,故可对作对数变换后的新变量x按group分组作单因素方差分析。
5.3完全随机设计资料的方差分析(含多重比较)
完全随机设计的方法是将受试对象完全随机地分配到一个处理因素的各个水平组。
分析的目的是要判断处理因素是否有统计学意义,即处理因素对应的不同水平组的总体均数是否相同。
由于它只涉及到一个因素,又称单因素方差分析。
设因素A有p个水平,每个水平分别重复了ni次试验,在水平Ai(i=1,2,…,p)下的第k(k=1,2,…,ni)次试验结果
可分解为
(5.1)
表示在因素A的第i水平下的理论均数,
是试验误差,它是相互独立并服从N(0,
)分布。
为了看出各因素水平的影响大小,可将
进行分解为
,其中
(5.2)
(5.3)
μ为总体均数,
表示水平
对试验结果的影响大小,即水平
的效应,则方差分析的数学模型可表示为:
(5.4)
完全随机设计的方差分析的结果可列成表5.1的形式。
其中p表示单因素A的水平数(即处理组数);N表示各处理组的观察单位数之和;C=
,它是N个数据之和的平方除以N,又称为校正数,以下各节表格中的C均表示校正数;
QA=
,其中
(i=1,2,…,p)是第i个处理组数据的小计,ni表示第i个处理组
的观察单位数;W=
,它为N个数据之平方的求和。
表5.1完全随机设计的方差分析表
变异来源
离均差平
方和(SS)
自由度
(df)
均方
(MS)
F值
P值
处理组间
SSA=
p-1
SS组间/df组间
MS组间/MS组内
误差
SSE=SST-SSA
N-p
SS组内/df组内
总计
SST=W-C
N-1
例5.4用二氧化矽(SiO2)50mg对大鼠染尘后,不同时期全肺湿重的变化见下表。
试比较染尘后1月、3月、6月,三个时期的全肺湿种有无差别?
表5.2SiO250mg染尘后3个时期大鼠全肺湿重(g)
月份
全肺湿重(g)
1月
3.33.64.34.14.23.3
2月
4.44.43.44.24.74.2
6月
3.64.45.15.05.54.7
程序如下:
DATAEX4;
DOA=1TO3;
DOJ=1TO6;
INPUTX@@;
OUTPUT;
END;
END;
LIST;
CARDS;
3.33.64.34.14.23.3
4.44.43.44.24.74.2
3.64.45.15.05.54.7
;
PROCANOVA;
CLASSA;
MODELX=A;
MEANSA/SNKALPHA=0.05;
MEANSA;
RUN;
上述程序中利用循环语句读取数据,注意在循环结构中output语句必不可少。
class语句说明a是分组变量。
model语句指明以连续性变量x作为因变量,以分类变量a(a=1,2,3)作为自变量(又称效应变量),要求按变量a分组对变量x作为方差分析,并用alpha=0.05指明检验水准为0.05。
MEANSA/SNK;语句要求对变量a的各水平组用SNK法(Student-Newman-Keuls),即q检验法作两两比较。
MEANSA;语句要求输出变量a的各水平组的例数、均数和标准差。
结果输出如下:
AnalysisofVarianceProcedure
DependentVariable:
X
SumofMean
SourceDFSquaresSquareFValuePr>F
Model22.527777781.263888894.520.0291
Error154.196666670.27977778
CorrectedTotal176.72444444
R-SquareC.V.RootMSEXMean
0.375