SAS讲义 第二十六课协方差分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二十六课 协方差分析
当定量的影响因素对观察结果有难以控制的影响,甚至还有交互作用时,采用协方差分析,这些影响变量称为协变量,扣除(或消除)协变量的影响,可以得到修正后的均值估计。
一、 协方差分析概述
1. 协方差分析概念
协方差分析(analysis of covariance )又称带有协变量的方差分析(analysis of variance with covariates ),是将回归分析与方差分析结合起来使用的一种分析方法。在各种试验设计中,对主要变量y 研究时,常常希望其他可能影响和干扰y 的变量保持一致以到达均衡或可比,使试验误差的估计降到最低限度,从而可以准确地获得处理因素的试验效应。但是有时,这些变量难以控制,或者根本不能控制。为此需要在试验中同时记录这些变量的值,把这些变量看作自变量,或称协变量(covariate ),建立因变量y 随协变量变化的回归方程,这样就可以利用回归分析把因变量y 中受协变量影响的因素扣除掉,从而,能够较合理地比较定性的影响因素处在不同水平下,经过回归分析手段修正以后的因变量的总体均值之间是否有显著性的差别。简单地说,协方差分析是扣除协变量的影响,或者将这些协变量处理成相等,再对修正的y 的均值作方差分析。 2. 协方差分析的假定
协方差分析需要满足的假定为:
①各样本来自具有相同方差2
σ的正态分布总体,即要求各组方差齐性。 ②协变量与主要变量y 间的总体回归系数不等于0。 ③各组的回归线平等,即回归系数 ==21ββ。
如果上述的假定满足,就作协方差分析。前述的各种试验设计,如完全随机化设计、随机区组设计、析因设计、拉丁方设计等,都可以带一个或多个协变量,按设计方案扣除协变量的影响后,对主要变量y 的修正均值作比较,得出统计结论。 3. 协方差分析的模型
最简单的单因素一元协方差分析的模型,是由单因素效应模型ij i ij a y εμ++=加上协变量的影响因素)(x x ij -β而得出:
ij ij i ij x x a y εβμ+-++=)(
(26.1)
其中x 为协变量,ij x 为协变量在分类水平i 和j 上的记录值,x 为所有协变量的平均值,β为相关的回归系数。设x βμβ-=0,为平均截距。上式可以化简成
ij ij i ij x a y εββ+++=0
(26.2)
设i i a +=00ββ,上式可以化简成
ij ij i ij x y εββ++=0
(26.3)
很明显i 0β是第i 组回归线的截距,等于回归线的平均截距0β加上本组的效应i a 。这个式揭示了,观察值ij y 的模型可以表示成一组相似的回归线,且各组具有共同的回归系数β,和各组自己的截距i i a +=00ββ。
用SAS 中的glm 过程进行协方差分析时,要注意不同试验设计时class 语句和model 语句的写法。设分类变量为A 、B ,协变量为X ,观察值为Y ,则有:
①单因素k 水平设计的协方差分析模型
class A; model X A ;
②随机区组设计的协方差分析模型
class A B; model X A B ;
③两因素析因设计的协方差分析模型
class A B;
model X A B A*B;
二、 实例分析
1. 一元协方差分析
例26.1 研究牡蛎在不同温度的水中不同位置上的生长情况。有人做了如下试验:分别在通向发电站的入口处(温度较低)不同位置(底部和表层)和出口处(温度较高)不同位置(底部和表层)及电站附近的深水处(底部和表层的中间)总共5个不同位置点上,随机地各放4袋牡蛎(每袋中有10个),共5×4=20袋。在将每袋牡蛎放入位置点之前,先洗干净称出每袋的初始体重,放在5个不同点一个月后再称出最后体重。试验结果数据见表26.1所示。
表26.1 牡蛎在不同温度和位置上的生长数据
位置 trt 重复数rep (x 为初始体重,y 为最后体重) 1 2
3
4
x y x y x y x y 1(入口底部) 27.2 32.6 32.0 36.6 33.0 37.7 26.8 31.0 2(入口顶部) 28.6 33.8 26.8 31.7 26.5 30.7 26.8 30.4 3(出口底部) 28.6 35.2 22.4 29.1 23.2 28.9 24.4 30.2 4(出口顶部) 29.3 35.0 21.8 27.0 30.3 36.4 24.3 30.5 5(附近中部) 20.4
24.6
19.6
23.4
25.1
30.3
18.1
21.8
程序如下:
data growth;
do trt=1 to 5; do rep=1 to 4;
input x y @@; output;
end;
end;
cards;
27.2 32.6 32.0 36.6 33.0 37.7 26.8 31.0
28.6 33.8 26.8 31.7 26.5 30.7 26.8 30.4
28.6 35.2 22.4 29.1 23.2 28.9 24.4 30.2
29.3 35.0 21.8 27.0 30.3 36.4 24.3 30.5
20.4 24.6 19.6 23.4 25.1 30.3 18.1 21.8
;
proc anova data=growth;
class trt;
model y=trt;
proc glm data=growth;
class trt;
model y=trt x /solution;
means trt;
lsmeans trt /stderr tdiff;
contrast 'trt12 vs trt34' trt -1 -1 1 1 0;
estimate 'trt1 adj mean' intercept 1 trt 1 0 0 0 0 x 25.76;
estimate 'trt2 adj mean' intercept 1 trt 0 1 0 0 0 x 25.76;
estimate 'adj trt diff' trt 1 -1 0 0 0;
estimate 'trt1 unadj mean' intercept 1 trt 1 0 0 0 0 x 29.75;
estimate 'trt2 unadj mean' intercept 1 trt 0 1 0 0 0 x 27.175;
estimate 'unadj trt diff' trt 1 -1 0 0 0 x 2.575;
run;
程序说明:定性变量trt的5个不同位置点对y可能有较大的影响,因此class语句中分组变量为trt,先选用anova过程进行方差分析。然而,牡蛎的初始体重x对牡蛎的最后体重y可能也有一定的影响,故适合选用glm过程进行协方差分析,在model语句中不仅包括分组变量trt,而且应包括协变量x。选择项solution要求输出回归系数的估计值及其标准误差和假设检验等结果。means和lsmeans语句要求输出分组变量trt各水平下y的未修正均值和修正后的均值,选择项stderr要求输出y的修正均值的标准误差、各修正均值与0比较的假设检验结果;选择项tdiff要求输出y的各修正均值之间两两比较所对应的t值和p值。
Contrast语句是用来比较入口处底部和顶部均值之和与出口处底部和顶部均值之和是否相等。前三条estimate语句是用来估计入口处底部和顶部调整后的均值及它们之差,并假设检验是否为0,后三条estimate语句是用来估计入口处底部和顶部未调整的均值及它们之差,并假设检验是否为0。程序输出的主要结果见表26.2(a)(b)(c)所示。
表26.2(a)单因素trt一元x的协方差分析