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 920
Y 480   Y 460   Y 500   Y 570   Y 580
Z 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个女性被试。除了比较阅读方法,还想比较男性和女性的阅读速度是否有区别。
  组别
  X Y Z
男性 700 480 500
850 460 550
820 500 480
640 570 600
920 580 610
女性 900 590 610
880 540 660
899 560 525
780 570 610
899 555 645

在GENDER的每个水平上都有三种阅读方法,这种类型的设计叫做因子设计。总平方和现在被分为4部分。来自GROUP差异的平方和,来自GENDER差异的平方和,GENDER和GROUP的结合,以及误差平方和。

这个设计中每个单元的被试数目相同,因此成为“平衡设计”,如果模型中有一个以上的自变量,且设计是不平衡的,则不能使用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 920
Y M 480  Y M 460  Y M 500  Y M 570  Y M 580
Z M 920  Z M 550  Z M 480  Z M 600  Z M 610
X F 900  X F 880  X F 899  X F 780  X F 899
Y F 590  Y F 540  Y F 560  Y F 570  Y F 555
Z 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.解释显著地交互作用

下面看一个交互作用显著的例子,有两组小孩,一组正常,一组多动,每组小孩随机分为两组,一组接受安慰剂,一组接受利他林,之后测量每个小孩的活跃度。
安慰剂(PLACEBO) 利他林(RITALIN)
正常 50 67
45 60
55 58
52 65
多动症 70 51
72 57
68 48
75 55

研究中变量命名为GROUP(NORMAL  HYPER)、DRUG(PLACEBO  RITALIN)、ACTIVITY(活跃度)。

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

  甜度水平
  1 2 3
香草 9 8 6
7 7 5
8 8 7
7    
巧克力 9 8 4
9 7 5
7 6 6
7 8 4
8   4
DATA PUDDING;LENGTH FLAVOR $ 9;INPUT FLAVOR $ SWEET RATING @@;
DATALINES;
VANILLA 1 9  VANILLA 2 8  VANILLA 3 6
VANILLA 1 7  VANILLA 2 7  VANILLA 3 5
VANILLA 1 8  VANILLA 2 8  VANILLA 3 7
VANILLA 1 7
CHOCOLATE 1 9  CHOCOLATE 2 8  CHOCOLATE 3 4
CHOCOLATE 1 9  CHOCOLATE 2 7  CHOCOLATE 3 5
CHOCOLATE 1 7  CHOCOLATE 2 6  CHOCOLATE 3 6
CHOCOLATE 1 7  CHOCOLATE 2 8  CHOCOLATE 3 4
CHOCOLATE 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,影响因变量的测量,在分析因变量之前,应校正混淆 变量导致的差异。
组别
A B
数学成绩 IQ 数学成绩 IQ
260 105 325 126
325 115 440 135
300 122 425 142
400 125 500 140
390 138 600 160
DATA COVAR;LENGTH GROUP $ 1;INPUT GROUP $ MATH IQ @@;
DATALINES;
A  260  105   A  325  115   A  300  122   A  400  125   A  390  138
B  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之后,两组的数学成绩不再有显著差异。

sas统计分析学习笔记(九)——方差分析相关推荐

  1. sas统计分析学习笔记(六)

    1.lag函数 LAG函数返回上次执行时的自变量值,而不是上一个观测值,下面例子能说明这个特点: DATA LAGGARD; INPUT X; IF X GT 5 THEN LAG_X=LAG(X); ...

  2. sas统计分析学习笔记(一)

    一.基本规则 1.DATA步骤:定义数据和创建数据集,以DATA 开始,以DATALINES结束:PROC步骤:定义统计分析的类型,每个PROC过程后接一个run语句. 2.SAS变量名必须遵循以下原 ...

  3. [统计学笔记九] 方差分析(ANOVA)

    [统计学笔记九] 方差分析(ANOVA) 方差分析(Analysis of Variance,简称ANOVA) 方差分析(ANOVA)又称"变异数分析"或"F检验&quo ...

  4. 概率与统计分析学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 概率与统计分析 描述性分析 用一个数字描述一组数字的特征.用一个数字来归纳一组数字,这个数字称为统计量或统计指标. 均值.中位数 ...

  5. 统计学习方法笔记(九)-最大熵原理及python实现

    最大熵模型 最大熵模型介绍 最大熵模型原理 代码案例 案例地址 最大熵模型介绍 最大熵模型(maximum entropy model)可以用于二分类,也可以用于多分类.其是由最大熵原理推导实现的,所 ...

  6. 空间统计分析学习笔记

    空间统计有别于经典统计学的两大特征:空间相关性和空间异质性,莫兰指数等可以用来量化空间相关性,地理加权回归等用来量化空间异质性. 潜在的(因为没有很明显的表现出来)的相互依赖性,就是所谓的" ...

  7. sas统计学习笔记(四)

    有时候列联表的情况很负责,比如某个因素的每个水平上都有一个2×2列联表,一种用于分析多层2×2表的方法是Mantel-Haenszel卡方统计量,这个技术有时也叫元分析.用sas软件计算分层表的卡方值 ...

  8. 统计学习笔记:方差分析

    方差分析(ANOVA)又称F检验.方差分析是判定方差在组间和组内是否(明显)具有区别的一种方法.如果组内差异相对于组间差异较小,则可以推断出组与组之间是有明显差异的. 从形式上看,方差分析与t检验或z ...

  9. 利用python进行统计分析学习笔记 第7章

    第7章,基本功能部分,讲到了函数应用和映射 这里作者说了. ,将函数应用到由各列或行所形成的一维数组上.DataFrame 的apply方法即可实现此功能: 然后又说, 元素级的Python函数也是可 ...

最新文章

  1. -bash: make: command not found的解决办法
  2. SDOI 2009 ED
  3. java ceilingentry_java.util.TreeMap.ceilingKey()
  4. java 读取svg元素_svg动态添加元素
  5. 1 SAP DEBUG调试改表操作手册
  6. 字节流复制文件 java
  7. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】
  8. 前端学习笔记:Bootstrap框架入门
  9. 简易 Vue 构建--终
  10. Node.js 教程第十三篇——WebSocket
  11. java B2B2C springmvc mybatis电子商城系统-分布式配置中心(Spring Cloud Config)
  12. 软件外包中常见的七个错误之一 - 不懂用户需求
  13. java商家查询订单功能_查询订单详情示例代码
  14. MPP集群基本概念和搭建
  15. python链接sql报错_python3.7连接sqlserver数据库失败报错20002, DB-Lib error message 20002
  16. MarkdownNote
  17. lotus domino_保护IBM Lotus Domino Web服务器的安全:案例研究
  18. 刘强东终于向自己的兄弟下手了!
  19. linux的mount bind命令
  20. 管道程序c语言,怎么创建管道

热门文章

  1. 一张图看懂2G、3G、4G和5G(Y2016)
  2. 简述PGA相关概念及参数
  3. 股票基金模拟交易日志7
  4. Ipad2模拟器及 图标下载
  5. 【阿冈评点】超女、我秀、好男和梦想的12项大PK(下)
  6. linux开源调色软件,几款达到专业水准,开源免费的视频编辑软件
  7. sql 两张表的相同字段中刷选出不同数据
  8. 1.1 密码学发展历史
  9. 著名动物园出版社 O'Reilly 提供数十本免费的电子书【含下载地址】
  10. 物联网LoRa系列-3:LoRa终端搭建的总体思路、步骤与架构