sas统计分析学习笔记(九)——方差分析
来源:互联网 发布:h5商城系统源码下载 编辑:程序博客网 时间:2024/06/09 14:12
1.简介
当数据多于两组时,T检验或者相应的非参数分析不再适应,这时需要使用方差分析。
2.单因素方差分析
零假设为所有组的均值相等,备择假设是不是所有平均数都相等。F=组间方差/组内方差=[组间平方和/(k-1)]/[误差平方和/(n-k)],如果组间差异比组内大,比值将大于1,如果零假设为真,F将等于1。
DATA READING; INPUT GROUP $ WORDS @@;DATALINES;X 700 X 850 X 820 X 640 X 920Y 480 Y 460 Y 500 Y 570 Y 580Z 500 Z 550 Z 480 Z 600 Z 610;PROC ANOVA DATA=READING; TITLE "Analysis of Reading Date"; CLASS GROUP;*指定自变量; MODEL WORDS=GROUP; *指定分析模型; MEANS GROUP;*计算GROUP的每个水平上的WORDS平均值;RUN;
这里,F值为16.78,查表(自由度为2和12),p为0.0003,因此拒绝零假设,得到结论阅读方法存在差异。
当已经知道阅读方法存在差异时,可以找出具体的组间差异,此方法为事后检验或者多重检验。若要进行事后检验,将检验的选项名放在MEANS的斜杠后,前面列出检验的SAS关键词DUNCAN(duncan多重范围检验)、SNK(student-newman-keuls多重范围检验)、LSD(最小显著差异检验)、TUKEY(tukey学生化范围检验)、SCHEFFE(scheffe多重比较过程)。实际中,如果方差分析不显著,就不进行事后检验,上例中方差分析结果显著存在差异,运用SNK进行事后检验,语句如下:
MEANS GROUP/SNK;
输出结果次序由各组平均数由高到低排列,平均数没有显著差异的一组会被分配到相同字母。本例中,z和y没有显著差异,但都与x有显著差异。
除非特别指定,组间差异检验显著水平默认为0.05,也可以在事后检验的选项后面加上ALPHA=.1或者ALPHA=.01,指定显著水平分别为.1或者.01。当指定scheffe检验的显著水平为.1时,应写成:
MEANS GROUP / SCHEFFE ALPHA=.1;
3.对比检验
进行特定的比较检验,你需要PROC GLM来代替PROC ANOVA。
PROC GLM DATA=READING; CLASS GROUP; MODEL WORDS=GROUP; CONTRAST 'X VS. Y AND Z' GROUP -2 1 1; CONTRAST 'METHOD Y VS Z' GROUP 0 1 -1;RUN;单因素设计中,CONTRAST语句就是在关键词CONTRAST后跟比较检验的标签(单引号内)、自变量(CLASS)、和k个系数集
规则为:1.系数之和为0;2.如果没有给CLASS变量设定输出格局,那么系数的顺序必须与CLASS变量的各个水平的字母顺序相匹配。如果为CLASS变量指定了输出格式,那么系数顺序就与格式化的值的顺序一致(通过在PROC GLM中添加选项ORDER = DATA,可以使CLASS变量的各个水平按照数据值排序,而不再是格式化顺序,这样就可以避开设定系数顺序问题了);3.系数0表示在比较检验中不纳入相关的水平;4.负系数对应的水平和正系数对应的水平进行比较。
上面程序,第一个CONTRAST比较了方法x与方法y和z的平均数,第二个只比较了y和z。
从结果可以看到,方法x与方法y、z有显著差异,而方法y和z之间没有显著差异。
4.两个自变量的方差分析
假设同样是对阅读方法进行比较,但一共有15个男性被试和15个女性被试。除了比较阅读方法,还想比较男性和女性的阅读速度是否有区别。
这个设计中每个单元的被试数目相同,因此成为“平衡设计”,如果模型中有一个以上的自变量,且设计是不平衡的,则不能使用PROC ANOVA,应该使用广义线性模型PROC GLM.
DATA TWOWAY; LENGTH GROUP GENDER $ 1; INPUT GROUP $ GENDER $ WORDS @@;DATALINES;X M 700 X M 850 X M 820 X M 640 X M 920Y M 480 Y M 460 Y M 500 Y M 570 Y M 580Z M 920 Z M 550 Z M 480 Z M 600 Z M 610X F 900 X F 880 X F 899 X F 780 X F 899Y F 590 Y F 540 Y F 560 Y F 570 Y F 555Z F 520 Z F 660 Z F 525 Z F 610 Z F 645;PROC ANOVA DATA=TWOWAY; TITLE "Analysis of reading data"; CLASS GROUP GENDER; MODEL WORDS=GROUP|GENDER; MEANS GROUP|GENDER /SNK;RUN;同前面一样,CLASS 后面是自变量列表。在MODEL语句里的GROUP和GENDER之间的竖线表明我们使用因子设计(也称交叉设计)。如果不用竖线也可使用*,但遇到多维设计时,比较麻烦,多维时下面两种表达等价:
GROUP|GENDER|DOSE
GROUP GENDER DOSE GROUP*GENDER GROUP*DOSE GENDER*DOSE GENDER*GROUP *DOSE
下面看看上述程序的部分输出结果:
GROUP*GENDER叫做交互项。如果各个阅读组对男性和女性的差异不同,那么交互效应是显著的,例如,如果男性在A方法比B方法表现好,而女性在B方法比A方法表现好,那么交互作用是显著的。
MEANS GROUP|GENDER / SNK;的输出结果部分如下:
第一个表格说明,X与Y、Z有显著差异,第二个说明性别不显著,男女无显著差异。最后还会输出一个各个性别在各个组的平均值表。
5.解释显著地交互作用
下面看一个交互作用显著的例子,有两组小孩,一组正常,一组多动,每组小孩随机分为两组,一组接受安慰剂,一组接受利他林,之后测量每个小孩的活跃度。
DATA RITALIN; DO GROUP = 'NORMAL','HYPER'; DO DRUG = 'PLACEBO','RITALIN'; DO SUBJ = 1 TO 4; INPUT ACTIVITY @;OUTPUT; END;END; END;DATALINES;50 45 55 52 67 60 58 65 70 72 68 75 51 57 48 55;PROC ANOVA DATA=RITALIN; TITLE "Activity Study"; CLASS GROUP DRUG; MODEL ACTIVITY = GROUP|DRUG; MEANS GROUP|DRUG;RUN;此处使用了DO循环,当然也可以直接输入INPUT GROUP $ DRUG $ ACTIVITY;
可以看到group*drug的交互作用显著。当交互作用显著时,我们必须非常小心地解释主效应,也就是说必须先理解交互作用的性质,才能进一步考察主效应。
可以利用平均数画一个交互作用图,首先选一个自变量作横轴,然后在另一个自变量每个水平上画出表示因变量平均数的线条。在绘图之前首先通过PROC MEANS 过程创建一个包含着单元格平均数的数据集。
这个图形说明,普通小孩服用利他林活跃度增加,多动症小孩服用利他林活跃度降低。因此在刚刚的方差分析中,关于利他林的检验,两组小孩的数据会相互抵消。如果要考察利他林的真实效果,需要分别考察两组小孩的反应:
GROUP=HYPER时
GROUP=NORMAL时
从上面可以看到,两组小孩对两组药物的平均数显著不同,但正常组的利他林平均数高于安慰剂,多动组则相反。
还有另一种方法进行上述T检验:将院士变量的每个处理水平相结合,生成一个新的自变量,这样就把两因素ANOVA分解成了单因素ANOVA,可以用串联符号||创建CONDITION变量,在data步骤中加入语句:CONDITION = GROUP || DRUG;
创建了新变量,共有4个水平,当然也可以使用CATX函数串联两个甚至更多字符串,还可以自由选择连接符:
CONDITION = CATX('-',GROUP,DRUG);
DATA RITALIN; DO GROUP = 'NORMAL','HYPER'; DO DRUG = 'PLACEBO','RITALIN'; DO SUBJ = 1 TO 4; INPUT ACTIVITY @;CONDITION=GROUP||DRUG;OUTPUT; END;END; END; DATALINES;50 45 55 52 67 60 58 65 70 72 68 75 51 57 48 55;PROC ANOVA DATA=RITALIN; TITLE "ONE-WAY ANOVA Ritalin study"; CLASS CONDITION; MODEL ACTIVITY=CONDITION; MEANS CONDITION /SNK;RUN;
PROC GLM DATA=RITALIN; TITLE "ONE-WAY ANOVA Ritalin study"; CLASS CONDITION; MODEL ACTIVITY=CONDITION; CONTRAST 'Hyperactive only' CONDITION -1 1 0 0 ; CONTRAST 'NORMAL only' CONDITION
6.多因素设计
双因素方差分析的方法可以扩展到任意多自变量的情况,主要在MODEL 和 MEANS步骤用‘|’将各自变量连接起来即可。
7.非平衡设计:PROC GLM
DATA PUDDING; LENGTH FLAVOR $ 9; INPUT FLAVOR $ SWEET RATING @@;DATALINES;VANILLA 1 9 VANILLA 2 8 VANILLA 3 6VANILLA 1 7 VANILLA 2 7 VANILLA 3 5VANILLA 1 8 VANILLA 2 8 VANILLA 3 7VANILLA 1 7CHOCOLATE 1 9 CHOCOLATE 2 8 CHOCOLATE 3 4CHOCOLATE 1 9 CHOCOLATE 2 7 CHOCOLATE 3 5CHOCOLATE 1 7 CHOCOLATE 2 6 CHOCOLATE 3 6CHOCOLATE 1 7 CHOCOLATE 2 8 CHOCOLATE 3 4CHOCOLATE 1 8 CHOCOLATE 3 4;PROC GLM DATA=PUDDING; TITLE "Pudding Taste Evaluation"; TITLE3 "Two-way ANOVA - Unbalanced Design"; TITLE4 "---------------------------------"; CLASS FLAVOR SWEET; MODEL RATING = FLAVOR|SWEET/SS3;*采用第三类平方和; LSMEANS FLAVOR|SWEET/PDIFF ADJUST=TUKEY; *LSMEANS为使用最小二乘法校正主效应平均数, PDIFF用于计算所有配对差异的概率, ADJUST=TUKEY是对多检验的校正;RUN;
可以看到,只有甜度存在显著差异。
程序中加入的TITLE语句,TITLEn表示SAS输出中的第n行,TITLE和TITLE1等价。带PDIFF选项的LSMEANS语句中给出了SWEET校正后的平均数(ADJUST=TUKEY)
可以看出1对3,2对3,4对3,5对3,均显著,说明他们真的不喜欢甜巧克力。
8.协方差分析
如果有一个变量,例如IQ,影响因变量的测量,在分析因变量之前,应校正混淆 变量导致的差异。
DATA COVAR; LENGTH GROUP $ 1; INPUT GROUP $ MATH IQ @@;DATALINES;A 260 105 A 325 115 A 300 122 A 400 125 A 390 138B 325 126 B 440 135 B 425 142 B 500 140 B 600 160;PROC CORR DATA=COVAR NOSIMPLE; TITLE "Covariate Example"; VAR MATH IQ;RUN;PROC TTEST DATA=COVAR; CLASS GROUP; VAR MATH IQ;RUN;通过计算相关系数检验数学成绩和IQ之间的关系,并通过t检验考察A、B两组是否有显著差异。
可以看到IQ和数学成绩高度相关,且各组IQ和数学成绩存在显著差异(具体输出已略)。
协方差分析之前,必须首先检验协变量和因变量的关系在不同组间的一致性,可以通过简单回归检验,在GROUP的两个水平下吧MATH作为IQ的函数纳入模型,再检验IQ和GROUP的交互作用。PROC GLM 和其中的MODEL语句可以完成建模和回归系数比较。
从结果可知IQ*GROUP无显著差异,可继续进行协方差分析:
PROC GLM DATA=COVAR; CLASS GROUP; MODEL MATH=IQ GROUP/SS3; LSMEANS GROUP;*上两步为校正IQ;RUN;
可看到校正IQ之后,两组的数学成绩不再有显著差异。
阅读全文
0 0
- sas统计分析学习笔记(九)——方差分析
- sas统计分析学习笔记(一)
- sas统计分析学习笔记(二)
- sas统计分析学习笔记(三)
- sas统计分析学习笔记(五)
- sas统计分析学习笔记(六)
- SAS统计分析学习笔记(七)——相关和简单回归分析
- SAS统计分析学习笔记(八)——T检验和非参数比较
- 《SAS应用统计》学习笔记[T检验与方差分析]
- Excel在统计分析中的应用—第十章—方差分析-单因素方差分析-1
- Excel在统计分析中的应用—第十章—方差分析-单因素方差分析-2
- Excel在统计分析中的应用—第十章—方差分析-方差分析表
- Excel在统计分析中的应用—第十章—方差分析-单因素方差分析工具的运用
- Excel在统计分析中的应用—第十章—方差分析-无重复双因素方差分析
- Excel在统计分析中的应用—第十章—方差分析-无重复双因素方差分析工具
- Excel在统计分析中的应用—第十章—方差分析-有重复双因素方差分析工具
- SAS 方差分析
- (九)方差分析
- maven教程
- 最大子数组问题-递归法 @ Python
- 如何做好全屏化的交互体验(解决EditText导致的界面上移、挡住等问题)
- POI导出Excel
- FreeCodeCamp问题汇总
- sas统计分析学习笔记(九)——方差分析
- Centos6.8 软Raid实践
- [BZOJ]1924: [Sdoi2010]所驼门王的宝藏 强连通+DP
- 高精度乘法
- 671
- ThreadLocal深入解析
- 声明
- 如何方便的对Matlab中的代码进行版本管理
- java 多线程 匿名内部类