析因设计资料单独效应分析的SAS实现_张旭东
重庆医科大学学报 2008 年第 33 卷第 12 期 J o u r n a l o f C h o n g q i n gMe d i c a l U n i v e r s i t y 2008 V o l 33 N o 12 作者介绍 张旭东 1983 男 硕士 研究方向 多元统计方法在医学中的应用 通讯作者 王润华 男 教授 E mail wrhzyp 在对析因设计资料进行分析时 我们通常先对 各因素的主效应和交互效应进行分析 如果因素间 存在交互作用时 只对各因素主效应进行整体检验 的意义不大 此时需要对各因素水平间的单独效应 做进一步分析 1 在一般的参考书和文献中以两因 素析因设计资料的讨论居多 而有关三因素的讨论 较少 并且涉及对三因素析因设计资料的单独效应 分析的讨论和实例更是鲜见 而在日常中此实验设 计类型也常用到 因此本文将讨论通过构造参数的 对比系数矩阵 利用S A S 编程来实现其单独效应分 析 并对三因素的析因设计资料作实例分析 单独效应分析一般是在其他因素的水平固定 时 比较某一因素不同水平的差别 分析单独效应 时 应当利用析因分析得到的总的误差均方作为标 准误 这样不仅使各次比较具有统一的尺度 而且 使计算统计量的分母有较大的自由度 并充分利用 了整体数据信息 使结论更加可靠 2 析因分析及其 基于总的误差均方的单独效应分析可以通过S A S 中 G L M过程实现 下面着重探讨对比系数矩阵的设 计 并在S A S 中编写C o n t r a s t 语句来实现析因设计资料 的单独效应分析 1原理和方法 1 1三因素方差分析模型 假设处理因素A B C 分别有r s t个水平 总共有r s t种 组合 每种组合下重复例数为 则r s t以析因设计资料的方 差分析模型 3 可构造为 Xabck a b c ab ac bc abc abck 模型中 1 2 r b 1 2 t k 1 2 n Xabck表示第abc组中第k个观察值 为常数项 表 示总体平均值 a b和 c表示处理因素A B C分别取a b c水 平的主效应 ab ac bc abc分别代表因素A B C 间一级与二级交互作用的效应 并满足以下条件 r a 1 a 0 s b 1 b 0 t c 1 c 0 r a 1 ab 0 s b 1 ab 0 r a 1 析因设计资料单独效应分析的SAS实现 张旭东 彭斌 王润华 重庆医科大学公共卫生学院卫生统计教研室 重庆4 0 0 0 1 6 摘 要 目的 探讨析因设计资料单独效应分析的S A S 实现方法 方法 将析因设计的总的误差均方作为标准误 通过构造参数 的对比系数矩阵 利用S A S 的G L M 过程中C o n t r a s t 语句编程实现单独效应分析 并结合实例给出S A S 程序来实现三因素析因设计 资料的统计分析 结果 给出了设计参数对比系数矩阵的方法 结论 通过构造设计矩阵 在S A S 中编写C o n t r a s t 语句来实现单独 效应分析 是一种方便可行的方法 关键词 析因设计 单独效应 对比系数矩阵 中图法分类号 O2 1 2 6 文献标识码 A 收稿日期 2 0 0 8 0 3 0 6 A n a l y s i s o f s i mp l ee f f e c t o nf a c t o r i a l d e s i g nw i t hS A S ZHANG Xu dong et al Department of Health Statistics School of Public Health Chongqing Medical University A b s t r a c t Objective T oe x p l o r et h ea p p r o a c ht oa n a l y z i n gs i m p l ee f f e c to nf a c t o r i a ld e s i g nw i t hS A S s T h em e a n s q u a r eo fe r r o rc o m i n gf r o m f a c t o r i a ld e s i g nw a sc o n s i d e r e da ss t a n d a r de r r o r S E a n ds i m p l ee f f e c ta n a l y s i su n d e rC o n t r a s t s t a t e m e n ti nG L M w a sc o n d u c t e db yd e s i g n i n gt h ec o n t r a s tc o e f f i c i e n tm a t r i xo ft h ep a r a m e t e r a n dS A Sp r o g r a m w a sr e a l i z e d b a s e do na ne x a m p l eo f3 w a yf a c t o r i a ld e s i g n Results h ep r o c e d u r e so fd e s i g n i n gt h ec o n t r a s tc o e f f i c i e n tm a t r i xo ft h ep a r a m e t e rw e r ea c h i e v e d Conclusion I t i sc o n v e n i e n t a n df e a s i b l et oc o n d u c t s i m p l ee f f e c t a n a l y s i su n d e rC o n t r a s t s t a t e m e n t b y c o n s t r u c t i n gd e s i g nm a t r i x K e yw o r d s F a c t o r i a l d e s i g n S i m p l ee f f e c t C o n t r a s t c o e f f i c i e n t m a t r i x 文章编号 0 2 5 3 3 6 2 6 2 0 0 8 1 2 1 5 0 9 0 4论著 1509 重庆医科大学学报 2008 年第 33 卷第 12 期 J o u r n a l o f C h o n g q i n gMe d i c a l U n i v e r s i t y 2008 V o l 33 N o 12 ac 0 t c 1 ac 0 s b 1 bc 0 t c 1 ac 0 r a 1 a b c 0 s b 1 abc 0 t c 1 abc 0 abck代表实验误差 是随 机效应 abck N 0 2 且各 abck独立 两因素析因设计的方差分析模型可以从三因素的模型 简化而来 以r s析因设计为例 其方差分析模型可构造为 Xijk i j ij ijk 并满足 r i 1 i 0 s j 1 j 0 t i 1 ij 0 s j 1 ij 0 ijk的意义同三因素模型 1 2对比系数矩阵 矩阵 在S A S 的一般线性模型中 C o n t r a s t 语句提供了一种获得 一般假设检验的技巧 即通过规定矩阵来构造线性假设检验 L 0 4 其中L为L矩阵 也称为对比系数矩阵 为一般线性模 型中的参数向量 进行单独效应分析时 可以对因素各水平 的参数设计对比系数矩阵 并利用S A S 中C o n t r a s t 语句来实现 以最简单的两因素 A 和B 析因设计为例 其水平数分别为3 和4 现要比较A 因素第一水平和第三水平间效应的差异 则 可以构造关于A 因素的矩阵和参数向量 L 1 0 1 A1 A2 A 3 根 据 线 性 模 型 假 设 L 0 可以得到表达式 1 A1 0 A2 1 A3 0 化简后即等价于A1 A 3 这正是我们希望 进行比较的假设检验 在S A S 中C o n t r a s t 语句的一般形式为 c o n t r a s t l a b e l e f f e c t v a l u e 其中引号内的l a b e l 用以标注识别对比 e f f e c t 是识别在 M o d e l 语句中出现的效应 v a l u e 表示和效应 e f f e c t 相关的矩 阵向量的元素 上例中A 因素的第一和第三水平的比较在 S A S 中可写为 c l a s sA B m o d e l x A B c o n t r a s t A1vs A3 A10 1 当A 与B 存在交互作用时 要比较A 因素第一水平和第三 水平间效应的差异 就需要固定B 因素的某一个水平来进行 分析 以固定B 因素的第二个水平为例 可以通过构造交互效 应表来设计矩阵向量 因素在设计表中的排列位置与它们在 c l a s s 语句中的顺序有关 在此c l a s s 语句中A 因素在B 因素之 前 所以在设置表格时将A 的水平放在行 B 的水平放在列 同时将A 因素中需要对比的两个水平 A1和A3 的系数分别设 为1 和 1 B 因素中被固定的水平 B 2 的系数设为1 其余水平 的系数均设置为0 见图1 的横纵标目 然后将行和列的系数进行交叉相乘 将所得的值填进相 应的交叉单元格 这样得到中间大方格的矩阵即为A 与B 的 交互作用矩阵 见图1 的中间大方格 C o n t r a s t 语句中就可以 根据这个矩阵从上到下依次写出每行的向量 从而得到交互 效应项的L矩阵 即 A B 再将交互作用矩阵的各行和各列分别求和 把所得的值 填进表格相应行和列的单元格 见图1 的右侧行合计和下侧列 合计 得到的向量在C o n t r a s t 语句中就分别代表因素A 的主效 应 最右边一列 和因素B 的主效应 最下边一行 因此就可 以根据主效应向量构造C o n t r a s t 语句 即 A 1 由于因素 B 的系数全部为0 所以在C o n t r a s t 语句中可以不用写出来 余下的右下角最后一个单元格为相应的总行合计或总 列合计 见图1 的右下单元格 它代表截距项的系数 由于系 数为0 所以在C o n t r a s t 语句中也不需要进行指定 通过以上的设计矩阵 就可以在S A S 的G L M 过程中构造 C o n t r a s t 语句来实现B 2水平下A1和A3水平间效应的差异比较 即 c o n t r a s t A1vsA3inB2 A 1 A B 三因素析因设计资料的单独效应分析 其构造设计矩阵 的方法与上述一致 以A B C 三因素 2 2 3 为例 当各因 素间均存在交互效应时 以固定A 因素的第二个水平和B 因 素的第一个水平 来比较C 因素第一和第三水平效应的差异 由于三因素析因设计方差分析模型中包含主效应A B C 及 交互效应A B A C B C A B C 并且A C B C 及A B C 效 应中均包含有C 因素 则当C o n t r a s t 语句中指定为比较C 因素 水平间的效应差异时 在设计矩阵的时候就需要构造关于C A C B C 及A B C 效应的对比系数 可构造设计矩阵 见图 2 图3 图4 一般当模型中有交互项不显著时 则将此交互 项的平方和与自由度合并到误差中去 进行重新计算 5 这样就可以根据图2 图3 图4 的系数矩阵 编写C o n t r a s t 语句 实现在A2B 1组合下 C 因素第一水平和第三水平效应的 差异检验 即 c o n t r a s t C1vs C3in A2and B1 C10 1 A C00010 1B C10 1000 A B C00000010 100