94 第4章 SAS的基本统计分析功能................................................................................................
4.1 一些单变量检验问题 ....................................................................................................... 94
4.1.1 正态性检验 ............................................................................................................ 94 4.1.2 两独立样本的均值检验 ........................................................................................ 94 4.1.3 成对总体均值检验 ................................................................................................ 97 4.2 回归分析 ........................................................................................................................... 99
4.2.1 用SAS/INSIGHT进行曲线拟合 ......................................................................... 99 4.2.2 用SAS/INSIGHT进行线性回归分析 ............................................................... 100 4.2.3 用SAS/INSIGHT拟合广义线性模型 ............................................................... 104 4.2.4 用REG过程进行回归分析 ................................................................................ 105 4.2.5 用Analyst进行回归分析 ................................................................................... 109 4.3 方差分析入门 ................................................................................................................. 110
4.3.1 用ANOVA过程进行单因素方差分析 .............................................................. 110 4.3.2 用NPARlWAY进行非参数单因素方差分析 ................................................... 111 4.3.3 多重比较 .............................................................................................................. 112 4.3.4 多因素方差分析 .................................................................................................. 115 4.3.5 用Analyst作方差分析 ....................................................................................... 118 4.4 列联表分析 ..................................................................................................................... 119
4.4.1 列联表的输入与制表 .......................................................................................... 119 4.4.2 列联表独立性检验 .............................................................................................. 121 4.4.3 属性变量关联度计算 .......................................................................................... 122 4.4.4 用Analyst作列联表分析 ................................................................................... 124
124 练习 ..........................................................................................................................................
93
第4章 SAS的基本统计分析功能
前面我们已经看到了SAS的编程计算、数据管理、数据汇总、数据探索分析能力。这一章我们讲如何用SAS进行基本的统计检验、线性回归、方差分析、列联表检验等基本统计分析。我们既使用SAS语言编程,也使用SAS/INSIGHT和Analyst的菜单界面。
4.1 一些单变量检验问题
对单个变量,我们可能需要作正态性检验、两独立样本均值相等的检验、成对样本均值相等的检验。
4.1.1 正态性检验
在PROC UNIVARIATE语句中加上NORMAL选项可以进行正态性检验。例如,我们要检验SASUSER.GPA中GPA是否服从正态分布,只要用如下UNIVARIATE过程:
proc univariate data = sasuser.gpa normal; var gpa; run;
结果(部分)如下:
这里给出了GPA变量的四种正态性检验结果,其中Shapiro-Wilk检验是我们首选的。我们可以看到,p值很小,所以在0.05水平(或0.10水平)下应拒绝零假设,即认为GPA分布非正态。
在SAS/INSIGHT中为了检验GPA的分布,先选“Analyze - Distribution”菜单打开GPA变量的分布窗口,然后选“Curves - Test for Distribution”菜单。除了可以检验是否正态分布外还可以检验是否对数正态、指数分布、Weibull分布。
在Analyst中选“Statistics-Descriptive-Distributions”调出分布研究对话框,选了分析变量后按Fit钮可以要求进行分布拟合,最后的结果中包含了分布拟合的三种检验(为上面Univariate的四种检验的后三种)。这里还可以要求画盒形图、直方图(要求拟合时直方图上面会附加拟合的正态密度曲线)、概率图、QQ图。Analyst的这个菜单也可以进行对数正态、指数和Weibull分布的拟合和检验。
4.1.2 两独立样本的均值检验
假设我们有两组样本分别来自两个独立总体,需要检验两个总体的均值或中心位置是否 94
一样。如果两个总体都分别服从正态分布,而且方差相等,可以使用TTEST过程,这种检验叫做两样本t检验。
比如,我们要检验SASUSER.GPA数据集中男生和女生的SATM分数是否具有相等的平均值,只要用如下程序:
proc ttest data = sasuser.gpa; class sex; var satm; run;
过程中用CLASS语句指定分组变量,用VAR语句指定要比较的变量。结果如下:
结果有三个部分:两个总体的SATM简单统计量(Statistics部分,包括变量分组的均值、标准差、两组平均值差、平均值差的标准差,等等),两样本均值的检验(T-Tests部分),以及两样本方差是否相等的检验(Equality of Variances部分)。标准的两样本t检验要求两总体方差相等,所以第三部分结果检验两样本方差是否相等。如果检验的结果为相等,则可使用精确的两样本t检验(方法为Pooled),看第二部分结果中标Equal那一行。如果方差检验的结果为不等,则只能使用近似的两样本t检验,看第二部分结果的Unequal那一行(方法为Satterthwaite)。这里我们看到方差检验的p值为0.9114不显著,所以可以认为方差相等,所以我们看Equal行,p值为0.0001在0.05水平下是显著的,所以应认为男、女生的SATM分数有显著差异,女生分数要高。这里我们也可以不管方差是否相等都只使用Satterthwaite方法的结果。
上面的检验中对立假设是两组的均值不等,所以检验是双边的,假设Tn-1是n-1个自由
A是我们得到的T统计量的值,度的t分布随机变量,则p值的计算公式为p=Pr(|Tn-1| > |A|)。
如果要进行单边的检验,比如对立假设为女生分数高于男生分数(右边),则p值为p=Pr(Tn-1>A),当计算得到的t统计量值为正数时(现在t = 4.00)此单边p值为双边p值的一半,当计算得到的t统计量为负数时肯定不能否定零假设。检验左边时恰好相反。
95
图4.1 Analyst的两样本t检验对话框
SAS/INSIGHT未提供独立两样本均值检验的功能。Analyst中可以进行两样本t检验。从菜单“Statistics-Hypothesis Tests-Two-Sample t-test for Means”打开检验的对话框如图4-1。这里我们除了可以进行双边检验外还可以选择单边检验(这一点相对于原始的TTEST过程是一个进步),比如选择对立假设为女生比男生SATM分数好,结果如下:
可见女生的SATM分数比男生高。
如果我们希望检验男、女生的GPA分数则无法使用两样本t检验,因为检验女生的GPA样本的正态性发现它非正态。这种情况下我们可以使用非参数检验。检验两独立样本的中心位置是否相同的非参数检验有Wilcoxon秩和检验。我们用NPAIR1WAY过程加Wilcoxon选项可以进行这种检验。见下例:
proc npar1way data=sasuser.gpa wilcoxon; class sex; var gpa; run;
其中CLASS语句和VAR与TTBST过程相同。结果如下:
96
结果分为四部分:两样本的秩和的有关统计量,Wilcoxon两样本检验的结果,t检验的近似显著性,Kruskal-wallis检验结果。我们只要看Wilcoxon检验的p值Prob>|Z|=0.5978,检验结果不显著,可认为男、女生的GPA分数在0.05水平下无显著差异。这里还给了单边检验的结果,单边检验的对立假设是男生分数比女生高,结果也不显著。
Analyst中也提供了Wilcoxon秩和检验。从“Statistics-ANOVA-Nonparametric One-Way ANOVA”菜单进入,它也是使用NPAR1WAY过程。结果与上述结果有细微的差别,这是计算Z统计量时作连续性修正的影响引起的。
4.1.3 成对总体均值检验
我们在现实中经常遇到同一总体两个测量结果的比较,比如,考察同一组人在参加一年的长跑锻炼前后的心率有无显著差异。这时,每个人一年前的心率和一年后的心率是相关的,心率本来较快的人锻炼后仍相对于其它人较快。所以,检验这样的成对总体的均值不能使用两样本t检验的方法,因为独立性条件不再满足。这时,我们可以检验两个变量间的差值的均值是否为零,这等价于检验两组测量值的平均水平有无显著差异。
检验单个样本的均值是否为零只要使用UNIVARIATE过程,在UNIVARIATE过程的矩部分给出了均值为零的t检验和符号检验、符号秩检验的结果。例如,我们想知道SATM和SATV这两门考试的成绩有无显著差异(SATM平均值为595.3,SASTV平均值为504.6,我们希望知道差异是否显著)。因为这两个成绩是同一个学生的成绩,所以它们之间是相关的(学得好的学生两科一般都好,学得差的一般两科都差),不能用独立两样本的t检验,但可以计算两变量间的差DMV=SATM-SATV,检验差值变量的均值是否为零。如果否定,则可认为SATM和SATV的平均值有显著差异。 为此,我们先用一个数据步计算差值,然后对差值变量用UNIVARIATE过程进行分析就可以得到结果。程序如下:
data new;
97