一般线性模型7
第七章:一般线性模型
7.1 两因素方差分析
7.1.1 univarate 对话框界面说明 7.1.2 结果解释 7.2 协方差分析 7.2.1 分析步骤 7.2.2 结果解释 7.3 多元方差分析 7.3.1 分析步骤 7.3.2 结果解释
一般线性模型包括的内容非常多,究竟我们用到的哪些分析会包含在其中呢?简而言之:凡是和方差分析粘边的都可以用他来做。比如成组设计的方差分析(即单因素方差分析)、配伍设计的方差分析(即两因素方差分析)、交叉设计的方差分析、析因设计的方差分析、重复测量的方差分析、协方差分析等等。因此,能真正掌握GLM 菜单的用法,会使大家的统计分析能力有极大地提高。
一般线性模型的能力如此强大,下属的四个子菜单各自的功能如下:
∙ Univariate 子菜单:四个菜单中的大哥大,绝大部分的方法分析都在这里面进行。 ∙ Multivariate 子菜单:当结果变量(应变量)不止一个时,当然要用他来分析啦! ∙ Repeted Measures子菜单:顾名思义,重复测量的数据就要用他来分析,这一点
我可能要强调一下,用前两个菜单似乎都可以分析出来结果,但在许多情况下该结果是不正确的,应该用重复测量的分析方法才对(不能再讲了,再讲下去就会扯到多水平模型去了)。
∙ Variance Components 子菜单:用于作方差成份模型的,这个模型实在太深,不是
一时半会说的请的,所以我在这里就干脆不讲了。
§7.1 两因素方差分析
例7.1 对小白鼠喂以A 、B 、C 三种不同的营养素,目的是了解不同营养素增重的效果。采用随机区组设计方法,以窝别作为划分区组的特征,以消除遗传因素对体重增长的影响。现将同品系同体重的24只小白鼠分为8个区组,每个区组3只小白鼠。三周后体重增量结果(克) 列于下表,问小白鼠经三种不同营养素喂养后所增体重有无差别?
区组号 A 营养素 B 营养素 C 营养素 1 2 3 4 5 6
50.10 58.20 64.50 47.80 48.50 62.40 53.10 53.80 58.60 63.50 64.20 72.50 71.20 68.40 79.30 41.40 45.70 38.40
7 8
61.90 53.00 51.20 42.20 39.80 46.20
根据统计分析的要求,我们建立了三个变量来包括上述信息,即group 表示区组,food 代表使用的营养素,weight 表示最终的重量,即:
group food weight 1 1
依此类推。
7.1.1 univarate 对话框界面说明
这里只有一个结果变量weight ,要采用univarate 对话框,对话框内
最常用的按钮有:Dependent Variable框、Fixed Factors框、Model 钮、Post Hoc钮,下面我们来一一解释。
【Dependent Variable框】
选入需要分析的变量(应变量),只能选入一个。这里我们的应变量为weight ,将他选入即可。
【Fixed Factors框】
即固定因素,说的通俗一些,就是--哎呀,我都不知道怎么解释好了,这样,如果你搞不明白,那么绝大多数要分析的因素都应该往里面选。这里我们要分析的是group 和food 两个变量,把他们全都给我抓进去!
固定因素指的是在样本中它所有可能的取值都出现了,比如例中的food ,只可能有1、2、3这三个值,并且都出现了,就被称作固定效应;而相对应的随机效应的因素指的是所有可能的取值在样本中没有都出现,或不可能都出现,如本例中的group ,实际上总体中当然不可能只有这8窝,因此要用样本中group 的情况来推论总体中group 未出现的那些取值的情况时就会存在误差,因此被称为随机因素。我这里让group 也选入固定框是基于下面的事实:这样做统计分析的结论是完全相同的。不同的只是推论的那部分。
【Random Factors框】
用于选入随机因素,如果你弄不明白,假装没看见他就是了。 【Covariate 框】
用于选入协方差分析时的协变量,现在还用不到。 【WLS Weight框】
即用于选入最小二乘法权重系数。 【Model 钮】
单击后出现一个对话框,用于设置在模型中包含哪些主效应和交互因子,默认情况为Full factorial ,即分析所有的主效应和交互作用。我们这里没有交互作用可分析,所以要
1 50.01 2 58.20
改一下,否则将作不出结果来。将按钮切换到右侧的custum ,这时中部的Build Term 下拉列表框就变黑可用,该框用于选择进入模型的因素交互作用级别,即是分析主效应、两阶交互、三阶交互、还是全部分析。这里我们只能分析主效应:选择main ,再用黑色箭头将group 和food 选入右侧的model 框中。
该对话框中还有两个元素:左下方的Sum of squares框用于选择方差分析模型类别,有1型到4型四种,如果你搞不清他们之间的区别,使用默认的3型即可;中下部有个Include intercept in model复选框,用于选择是否在模型中包括截距,不用改动,默认即可。
【Contrast 钮】
弹出Contrast 对话框,用于对精细趋势检验和精确两两比较的选项进行定义,在这里,该对话框比单因素方差分析的时候还要专业,使用频率也更少,反正我都没用过,就干脆就不介绍了。
【Plots 钮】
用于指定用模型的某些参数作图,比如用food 和group 来作图,用的也比较少(指国内,因为它主要是用来做模型诊断用的)。
【Post Hoc钮】
该按钮弹出的两两比较对话框和第7章单因素方差分析中的一模一样,不再重复。本题对food 作两两比较,方法为SNK 法。
【Save 钮】
将模型拟合时产生的中间结果或参数保存为新变量供继续分析时用,可保存的东东有预测值、残差、诊断用指标等。
【Options 钮】
当然是定义选项啦!可以定义输出哪些指标的估计均数、并做所选择的两两比较,还有其他一些输出,如常用描述指标、方差齐性检验等。
好了,都解释完了,再重复以下,我们所作的操作为: 1. Analyze==>General Lineal model==>Univariate 2. Dependent Variable框:选入weight 3. Fixed Factors框:选入group 和food 4. Model 钮:单击 5. Custom单选钮:选中 6. Model框:选入group 和food 7. 单击OK 8. Post Hoc钮:单击
9. Post Hoc test for框:选入food 10. SNK复选框:选中
11. 单击OK 12. 单击OK 7.1.2 结果解释
按照上题的操作,结果输出如下: Univariate Analysis of Variance
这是一个所分析因素的取值情况列表,没有什么不好懂的。
现在大家看到的是一个典型的方差分析表,只不过是两因素的而已,我来解释一下:首先是所用方差分析模型的检验,F 值为00.517,P 小于0.05,因此所用的模型有统计学意义,可以用它来判断模型中系数有无统计学意义;第二行是截距,它在我们的分析中没有实际意义,忽略即可;第三行是变量GROUP ,可见它也有统计学意义,不过我们关心的也不是
他;第四行是我们真正要分析的FOOD ,非常遗憾,它的P 值为0.084,还没有统计学意义。尽管不太愿意,我们的结论也只能是:尚不能认为三种营养素喂养的小白鼠体重增量有差别。
上表的标题内容翻译如下:
Post Hoc Tests FOOD
Homogeneous Subsets
现在是两两比较的结果,方法为SNK 法,由于前面总的比较无差异,所以这里三种食物均在一个亚组内,检验无差异,P 值为0.121。
前面方差分析FOOD 的P 值不是0.084吗?这里又是0.121,究竟哪个为准?两两比较只是近似的比较结果,应以前面方差分析的P 为准,不过这两个P 值不会在检验结果上发生质的冲突,一般只是大小不同而已。
好了,上面是正确的结果,如果model 选择是采用Full factor又如何呢?会得出方差分析表如下:
看到了吗?由于所谓的交互作用将自由度给全部“吃”掉了,没有误差可用于统计分析,什么结果也做不出来。
§7.2 协方差分析
例7.2 某医生欲了解成年人体重正常者与超重者的血清胆固醇是否不同。而胆固醇含量与年龄有关,资料见下表。
正常组 48 33 51 43 44 63 49 42 40 47 41 41 56
3.5 4.6 5.8 5.8 4.9 8.7 3.6 5.5 4.9 5.1 4.1 4.6 5.1
超重组 58 41 71 76 49 33 54 65 39 52 45 58 67
7.3 4.7 8.4 8.8 5.1 4.9 6.7 6.4 6.0 7.5 6.4 6.8 9.2
年龄(X1) 胆固醇(Y1) 年龄(X2) 胆固醇(Y2)
我们这里建立三个变量:GROUP 表示组别,AGE 代表年龄,CHOL 则表示胆固醇。 7.2.1 分析步骤
由于协方差分析涉及到许多较深的统计理论,这里我只好采用照本宣科的方法,告诉大家如何作,而不作过多解释,
首先应进行预分析,了解资料是否符合协方差分析的要求,最重要的一点就是看age 的影响在两组中是否相同,这可以用age 与group 是否存在交互作用来表示。对该问题,粗糙的方法可以是作分组散点图,差不多就可以,也可以进行预分析,看交互作用有无统计学意义,这里用后一种方法中最为精确的步骤来讲解。
预分析步骤:
1. Analyze==>General Lineal model==>Univariate 2. Dependent Variable框:选入chol 3. Fixed Factors框:选入group 4. Model 钮:单击 5. Custom单选钮:选中
6. Model框:选入group 、age 和group*age(后者用interaction 方法就可选入) 7. Sum of squares列表框:改为Model I 8. 单击OK 9. 单击OK
该步骤用于判断group 和age 间是否存在交互作用,如存在,则协方差分析的条件不满足,分析不能继续。注意这里选择了Model I ,从而拟合结果和模型中变量的引入顺序有关,即侧重点在group 对chol 的影响大小和交互作用上。
7.2.2 结果解释 预分析步骤的结果如下:
Univariate Analysis of Variance
上表显示交互作用无统计学意义,而且P 值非常大,因此交换group 和age 多半交互作用也无统计学意义,因此可以不继续作预分析了,当然,严格的步骤应当交换两者的顺序继续进行预分析。
正式分析步骤:
1. Analyze==>General Lineal model==>Univariate 2. Dependent Variable框:选入chol 3. Fixed Factors框:选入group 4. Model 钮:单击 5. Custom单选钮:选中 6. Model框:选入group 、age
7. Sum of squares列表框:改为Model III 8. 单击OK 9. Options 钮:单击
10. Displsy means for框:选入group
11. Compare mean effects复选框:选中(下面的区间调整方法就用LSD(none)即可) 12. 单击OK 13. 单击OK
Univariate Analysis of Variance
这是正式的统计分析结果,显示group 和age 都对胆固醇含量有影响,P 值分别为0.038和小于0.001。
Estimated Marginal Means
这是两组的修正均数及相应的可信区间,显然超重组的胆固醇均值较高。下方的提示表明该修正均数是按年龄为50.2308岁的情形计算的。
§7.3 多元方差分析
所谓的多元方差分析,就是说存在着不止一个应变量,而是两个以上的应变量共同反映了自变量的影响程度。比如要研究某些因素对儿童生长的影响程度,则身高、体重等都可以作为生长程度的测量因子,即都应作为应变量。 7.3.1 分析步骤
为了方便起见,我们这里直接利用SPSS 自带的数据集plastic.sav ,假设tear_res、gloss 和opacity 都使反应橡胶质量的指标(不要笑,是假设),现在要研究extrusn 和additive 对橡胶的质量影响如何,则应采用多元方差分析。
选择Analyze==>General Linear Model==>Multivariate,则弹出Multivariate 对话框,请注意,除了没有random effect 外,它的所有元素都是和univariate 对话框相同的,里面的内容也相同,因此我们这里就不再重复了。
按照我们的分析要求,对话框操作步骤如下: 1. 2. 3. 4.
Analyze==>General Lineal model==>Multivariate
Dependent Variable框:选入tear_res、gloss 和opacity Fixed Factors框:选入extrusn 和additive 单击OK
7.3.2 结果解释
按上面的选择,分析结果如下:
General Linear Model
这是引入模型的自变量的取值情况列表。
上表是针对模型中的自变量间及其交互作用所做的检验,采用的是四种多元检验方法。一般他们的结果都是相同的,如果不同,一般以Hotelling's Trace 方法的结果为准。可见在所用的模型中,extrusn 和additive 对结果变量是有统计学意义的,但交互作用无统计学意义。
上表实际上是四个一元方差分析表的合并,即分别考虑四个应变量时的方差分析结果。上面的多元方差分析已经得知两自变量对应变量有影响,从现在的分析表就可以更清楚的知道是对那些自变量影响较大。对照可知,extrusn 和additive 对tear resistance 和gloss 都有较大影响,而他们的交互作用对gloss 有影响,他们(及交互作用)对Opacity 都没有影响。