注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

【转载】4.3 SAS方差分析入门  

2012-06-29 10:47:02|  分类: spss学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.用ANOVA过程进行单因素方差分析

单因素方差分析是4.1.2问题的一个自然延续。在4.1.2中,我们有一个分类变量把观测分为两组,我们要研究这两组的均值有没有显著差异。如果这个分类变量的取值不只两个,则这时4.1.2的检验方法不再适用,但我们同样要解决各组均值是否有显著差异的问题。如果各组之间有显著差异,说明这个因素(分类变量)对指标是有显著影响的,因素的不同取值(叫做水平)会影响到指标的取值。

注意,经典的方差分析只判断因素的各水平有无显著差异,而不管两个水平之间是否有差异。

方差分析把指标的方差分解为由因素的不同取值能够解释的部分,和剩余的不能解释的部分,然后比较两部分,当能用因素解释的部分明显大于剩余的部分时认为因素是显著的。方差分析假定观测是彼此独立的,观测为正态分布的样本,由因素各水平分成的各组的方差相等。在这些假定满足时,就可以用ANOVA过程来进行方差分析。其一般写法为:

PROC ANOVA DATA=数据集;

CLASS 因素;

MODEL 指标=因素;

RUN;

例1:为了分析SASUSER.VENEER中各种牌子的胶合板的耐磨性有无显著差别,首先我们假定假设检验使用的检验水平为0.05,可以使用如下程序进行方差分析:

proc anova data=sasuser.veneer;

class brand;

model wear=brand;

run;

结果可以分为四个部分,第一部分是因素水平的信息,第二部分就是经典的方差分析表,表前面指明了因变量(指标)为WEAR,第一列"来源(Source)"说明方差的来源,是模型(Model)的(可以用方差分析模型解释的),误差(Error)的(不能用模型解释的),还是总和(Corrected Total)。第三列为平方和,其大小代表了各方差来源作用的大小。第二列为自由度。第四列为均方,即平方和除以自由度。第五列F值是F统计量的值,其计算公式为模型均方除以误差均方,用来检验模型的显著性,如果不显著说明模型对指标的变化没有解释能力。第六列是F统计量的p值。由于这里p值小于0.05(我们的检验水平),所以模型是显著的,因素对指标有显著影响。结果的第三部分是一些与模型有关的简单统计量,第一个是复相关系数平方,与回归模型一样仍代表总变差中能被模型解释的比例,第二个是变异系数,第三个是根均方误差,第四个是指标的均值。结果的第四部分是方差分析表的细化,给出了各因素的平方和和F统计量,因为是单因素所以这一行与上面的"模型"一行相同。

 

2.用NPARIWAY进行非参数单因素方差分析

    当方差分析的正态分布假定或方差相等假定不能满足时,对单因素问题,可以使用称为Kruskal-Wallis检验的非参数方差分析方法。这种检验不要求观测来自正态分布总体,不要求各组的方差相等,甚至指标可以是有序变量(变量取值只有大小之分而没有差距的概念,比如磨损量可以分为大、中、小三档,得病的程度可以分为重、轻、无,等等)。

NPARIWAY过程的调用与ANOVA过程不同,因为它是单因素方差分析过程,所以只要用CLASS语句给出分类变量(因素),用VAR语句给出指标就可以了,一般格式为:

PROC NPARIWAY DATA=数据集WILCOXON;

     CLASS因素:

     VAR指标:

RUN;

3.多重比较

方差分析只检验各组是否没有任何两两之间的差异,但不检验到底是哪两组之间有显著差异。在三个或多个组之间进行两个或多个比较的检验叫做多重比较。多重比较在统计学中没有一个公认的解决方法,而是提供了若干种检验方法。因为多重比较要进行不只一次的比较,所以在多重比较的检验水平有两种:总错误率(experimentwise error rate)和单次比较错误率(compa,risonwise error rate)。总错误率是指所有比较(比如,五个组两两之间比较有10次)的总第一类错误概率,单次比较错误率是指每一次比较的第一类错误概率。显然,总错误率要比单次比较错误率高。

在ANOVA过程中使用MEANS语句可以进行多重比较。格式如下:

MEANS因素/选项;

如果不使用选项,则ANOVA过程内的MEANS语句只对因素的各水平计算指标的平均值和标准差,比如:

proc anova data=sasuser.veneer;

class brand;

model wear=brand;    

means brand;

run;

为了进行两两比较,可以在MEANS语句的选项中旨定检验方法。SAS提供了多种方法。

一、用重复t检验控制单次比较错误率

重复t检验的想法很简单:在适当的检验水平下用两样本t检验对所有组两两之间进行检验。控制的是每次比较的第一类错误概率。缺省使用0.05水平。注意这样检验的总错误率将大大高于每次比较的错误率。比如,在上面程序后加入(ANOVA是交互式过程)。

means brand/t;

run;

结果如下:

下面给出了检验的一些指标,比如水平(Alpha)为0.05(控制单次比较的第一类错误概率),自由度(df)为15,误差的均方(MSE,是方差分析表中误差的均方1为0.020833,两样本t检验的t统计量的临界值(Critical Value of t)为2.13,如果两样本t检验的t统计量值绝对值超过临界值则认为两组有显著差异,或者等价地,如果两组的均值之差绝对值大于最小显著差别(Least Significant Difference)0.2175也是有显著差异。所以这个检验也叫LSD检验。下面列出了检验的结果,把因素各水平的指标平均值由大到小排列,然后把两两比较的结果用第一列的字母来表示,字母相同的水平没有显著差异,字母不同的水平有显著差异。所以我们看到,重复t检验的结果把五种牌子分成了A、B、C三个组,TUFFY单独是一组,它的磨损量最大;XTRA、CHAMP、ACME是一组,这三种两两之间没有显著差异;AJAX单独是一组,

其磨损量最小。

二、用Bonferroni t检验控制总错误率

Bonferroni t检验通过把每次比较的错误率取得很小来控制总误差率。比如,共有10次比较时,把每次比较的错误率控制在0.005就可以保证总错误率不超过0.05,但是,这样得到的实际总第一类错误率可能要比预定的水平小得多。在MEANS语句中使用BON语句可以执行Bonferroni t检验,缺省总错误率控制水平为0.05。对上面数据增加如下语句:

means brand/bon;

run;

结果先说明了检验类型和指标,然后说明了检验控制总第一类错误率,但一般比REGWQ方法的第二类错误概率高(检验功效较低)。下面给出了几个检验用的值。最后给出了Bonferroni t枪验的结果,有相同分组字母的因素水平间无显著差异,否则有显著差异。我们看到,TUFFY与XTRA、CHAMP、ACME没有显著差异,与AJAX有显著差异;XTRA、CHAMP、ACME两两之间没有显著差异,而且与其它两个也都没有显著差异;AJAX与TUFFY有显著差异,与其它三个没有显著差异。其分组是有交叉的。最后只发现了TUFFY和AJAX之间有显著差异。

三、用REGWQ检验控制总错误率

Bonferroni t检验控制总错误率过于保守,功效较低,不易发现实际存在的显著差异。REGWQ方法可以控制总错误率并且一般比Bonferroni t检验要好。这种方法执行多阶段的检验,它对因素水平的各种子集进行检验。在MEANS语句中用REGWQ选项可以进行REGWQ检验。例如,在前面的例子后再运行:

means brand/regwq;

run;

MEANS语句的选项可以同时使用。在MEANS语句中可以用ALPHA=水平值来指定检验的水平。ANOVA过程中还提供了其它的多重比较方法,请自己参考有关资料。

 

4. 多因素方差分析

SAS提供了若干个方差分析过程,可以考虑多个因素、有交互作用、有嵌套等情况的方差分析。用GLM过程还可以用一般线性模型来处理方差分析问题。在这里我们只介绍如何用ANOVA过程进行均衡设计的多因素方差分析。

例如:为了提高一种橡胶的定强,考虑三种不同的促进剂(因素A)、四种不同分量的氧化锌(因素B)对定强的影响,对配方的每种组合重复试验两次,总共试验了24次,得到表的结果。

 

B:氧化锌

A:促进剂

1

2

3

4

1

31, 33

34, 36

35, 36

39, 38

2

33, 34

36, 37

37, 39

38, 41

3

35, 37

37, 38

39, 40

42, 44

首先把数据输入为SAS数据集。输入的办法可以是直接输入各个观测,例如:

data rubber;

input a b stren;

cards;

1 1 31

1 1 33

1 2 34

1 2 36

…………

;

run;

为了研究两个因素的主效应和交互作用,使用如下ANOVA过程 :

proc anova data=rubber;

class a b;

model stren=a b a*b;

run;

ANOVA也可以用来分析正交设计的结果。

5.用Analyst作方差分析

Analyst的"Statistics - ANOVA"菜单提供了七种方差分析方法,我们这里只介绍前三种:单因素方差分析(One-Way ANOVA)、非参数单因素方差分析(Nonparametric One-Way ANOVA)、多因素方差分析(Factorial ANOVA)。

为了对SASUSER.VENEER进行方差分析,选"Statistics - ANOVA - One-Way ANOVA),弹出对话框,我们要指定因变量(Dependent,即指标)和自变量(Independent,即因素)。用这里的Tests钮可以选择一些其他的检验,比如对各组方差相等假设的检验,稳健的Welch方差如权方差分析等。Means按钮用来进行多重比较,可以选择多种比较方法。这个菜单调用的是PROCANOVA,所以最后的结果与上面编程得到的结果一致。

用"Statistics - ANOVA - Nonparametric One-WayANOVA"可以作Kruskal-Wallis检验。它调用PROC NPARIWAY。

用"Statistics - ANOVA - Fa,ctorial ANOVA"可以进行多元方差分析。它调用PROC GLM,这个过程与ANOVA的差别在于它允许非均衡设计。对于均衡设计如上面的橡胶试验这里得到的结果与PROC ANOVA得到的结果是一致的。

  评论这张
 
阅读(425)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017