实验9 sas4Word格式文档下载.docx
《实验9 sas4Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验9 sas4Word格式文档下载.docx(45页珍藏版)》请在冰豆网上搜索。
这一章我们讲如何用SAS进行基本的统计检验、线性回归、方差分析、列联表检验等基本统计分析。
我们既使用SAS语言编程,也使用SAS/INSIGHT和Analyst的菜单界面。
4.1一些单变量检验问题
对单个变量,我们可能需要作正态性检验、两独立样本均值相等的检验、成对样本均值相等的检验。
4.1.1正态性检验
在PROCUNIVARIATE语句中加上NORMAL选项可以进行正态性检验。
例如,我们要检验SASUSER.GPA中GPA是否服从正态分布,只要用如下UNIVARIATE过程:
procunivariatedata=sasuser.gpanormal;
vargpa;
run;
结果(部分)如下:
这里给出了GPA变量的四种正态性检验结果,其中Shapiro-Wilk检验是我们首选的。
我们可以看到,p值很小,所以在0.05水平(或0.10水平)下应拒绝零假设,即认为GPA分布非正态。
在SAS/INSIGHT中为了检验GPA的分布,先选“Analyze-Distribution”菜单打开GPA变量的分布窗口,然后选“Curves-TestforDistribution”菜单。
除了可以检验是否正态分布外还可以检验是否对数正态、指数分布、Weibull分布。
在Analyst中选“Statistics-Descriptive-Distributions”调出分布研究对话框,选了分析变量后按Fit钮可以要求进行分布拟合,最后的结果中包含了分布拟合的三种检验(为上面Univariate的四种检验的后三种)。
这里还可以要求画盒形图、直方图(要求拟合时直方图上面会附加拟合的正态密度曲线)、概率图、QQ图。
Analyst的这个菜单也可以进行对数正态、指数和Weibull分布的拟合和检验。
4.1.2两独立样本的均值检验
假设我们有两组样本分别来自两个独立总体,需要检验两个总体的均值或中心位置是否一样。
如果两个总体都分别服从正态分布,而且方差相等,可以使用TTEST过程,这种检验叫做两样本t检验。
比如,我们要检验SASUSER.GPA数据集中男生和女生的SATM分数是否具有相等的平均值,只要用如下程序:
procttestdata=sasuser.gpa;
classsex;
varsatm;
过程中用CLASS语句指定分组变量,用VAR语句指定要比较的变量。
结果如下:
结果有三个部分:
两个总体的SATM简单统计量(Statistics部分,包括变量分组的均值、标准差、两组平均值差、平均值差的标准差,等等),两样本均值的检验(T-Tests部分),以及两样本方差是否相等的检验(EqualityofVariances部分)。
标准的两样本t检验要求两总体方差相等,所以第三部分结果检验两样本方差是否相等。
如果检验的结果为相等,则可使用精确的两样本t检验(方法为Pooled),看第二部分结果中标Equal那一行。
如果方差检验的结果为不等,则只能使用近似的两样本t检验,看第二部分结果的Unequal那一行(方法为Satterthwaite)。
这里我们看到方差检验的p值为0.9114不显著,所以可以认为方差相等,所以我们看Equal行,p值为0.0001在0.05水平下是显著的,所以应认为男、女生的SATM分数有显著差异,女生分数要高。
这里我们也可以不管方差是否相等都只使用Satterthwaite方法的结果。
上面的检验中对立假设是两组的均值不等,所以检验是双边的,假设Tn-1是n-1个自由度的t分布随机变量,A是我们得到的T统计量的值,则p值的计算公式为p=Pr(|Tn-1|>
|A|)。
如果要进行单边的检验,比如对立假设为女生分数高于男生分数(右边),则p值为p=Pr(Tn-1>
A),当计算得到的t统计量值为正数时(现在t=4.00)此单边p值为双边p值的一半,当计算得到的t统计量为负数时肯定不能否定零假设。
检验左边时恰好相反。
图4.1Analyst的两样本t检验对话框
SAS/INSIGHT未提供独立两样本均值检验的功能。
Analyst中可以进行两样本t检验。
从菜单“Statistics-HypothesisTests-Two-Samplet-testforMeans”打开检验的对话框如图4-1。
这里我们除了可以进行双边检验外还可以选择单边检验(这一点相对于原始的TTEST过程是一个进步),比如选择对立假设为女生比男生SATM分数好,结果如下:
可见女生的SATM分数比男生高。
如果我们希望检验男、女生的GPA分数则无法使用两样本t检验,因为检验女生的GPA样本的正态性发现它非正态。
这种情况下我们可以使用非参数检验。
检验两独立样本的中心位置是否相同的非参数检验有Wilcoxon秩和检验。
我们用NPAIR1WAY过程加Wilcoxon选项可以进行这种检验。
见下例:
procnpar1waydata=sasuser.gpawilcoxon;
其中CLASS语句和VAR与TTBST过程相同。
结果分为四部分:
两样本的秩和的有关统计量,Wilcoxon两样本检验的结果,t检验的近似显著性,Kruskal-wallis检验结果。
我们只要看Wilcoxon检验的p值Prob>
|Z|=0.5978,检验结果不显著,可认为男、女生的GPA分数在0.05水平下无显著差异。
这里还给了单边检验的结果,单边检验的对立假设是男生分数比女生高,结果也不显著。
Analyst中也提供了Wilcoxon秩和检验。
从“Statistics-ANOVA-NonparametricOne-WayANOVA”菜单进入,它也是使用NPAR1WAY过程。
结果与上述结果有细微的差别,这是计算Z统计量时作连续性修正的影响引起的。
4.1.3成对总体均值检验
我们在现实中经常遇到同一总体两个测量结果的比较,比如,考察同一组人在参加一年的长跑锻炼前后的心率有无显著差异。
这时,每个人一年前的心率和一年后的心率是相关的,心率本来较快的人锻炼后仍相对于其它人较快。
所以,检验这样的成对总体的均值不能使用两样本t检验的方法,因为独立性条件不再满足。
这时,我们可以检验两个变量间的差值的均值是否为零,这等价于检验两组测量值的平均水平有无显著差异。
检验单个样本的均值是否为零只要使用UNIVARIATE过程,在UNIVARIATE过程的矩部分给出了均值为零的t检验和符号检验、符号秩检验的结果。
例如,我们想知道SATM和SATV这两门考试的成绩有无显著差异(SATM平均值为595.3,SASTV平均值为504.6,我们希望知道差异是否显著)。
因为这两个成绩是同一个学生的成绩,所以它们之间是相关的(学得好的学生两科一般都好,学得差的一般两科都差),不能用独立两样本的t检验,但可以计算两变量间的差DMV=SATM-SATV,检验差值变量的均值是否为零。
如果否定,则可认为SATM和SATV的平均值有显著差异。
为此,我们先用一个数据步计算差值,然后对差值变量用UNIVARIATE过程进行分析就可以得到结果。
程序如下:
datanew;
setsasuser.gpa;
dmv=satm-satv;
keepdmv;
procunivariatedata=new;
vardmv;
其中的位置检验(TestsforLocation:
Mu0=0)部分是假设检验问题H0:
=0Ha:
0的检验结果。
第一个检验为t检验(Student'
st),需要假定差值变量服从正态分布,检验的p值Pr>
|t|<
.0001,这个检验在0.05水平下是显著的,所以可认为两科分数有显著差异。
第二个检验(Sign)是叫做符号检验的非参数检验,其p值为Pr>
=|M|<
.0001,在0.05水平下也是显著的,结论不变。
第三个检验(SgnedRank)是叫做符号秩检验的非参数检验,其p值为Pr>
=|S|<
.0001,在0.05水平下是显著的,结论不变。
所以这三个检验的结论都是两科成绩有显著差异。
如果t检验对立假设是单边的,其p值算法与上面讲的两样本t检验p值算法相同。
注意:
虽然SAS给了三个检验结果,我们在作结论时只用其中一个。
如果可以认为差值变量服从正态分布则只要看t检验结果。
否则只要看符号秩检验结果。
只有在数据为两两比较的大小结果而没有具体数值时符号检验才有用。
对于其他的统计检验问题我们也是遵照如此的原则:
有多种方法可用时要根据对统计知识的理解选出最合适的一个。
在SAS/INSIGHT中比较成对样本均值的显著差异,同样是先计算两变量的差值变量。
在“Edit-Variables-Other”菜单中,指定两个变量,指定两个变量间的计算为减法,则可以生成差值变量,可以用数据窗口菜单的“DefineVariables”改变量名。
然后对此差值变量选“Analyze-Distribution”,选“Tables-TestsforLocation”就可以在分布窗口显示这三个检验的结果。
Analyst中成对t检验十分方便,不需要自己计算差值变量,只要选菜单“Statistics-HypothesisTests-Two-SamplePairedt-testforMeans”,在弹出的对话框中给出第一组变量名SATM,第二组变量名SATV,就可以进行成对t检验。
这里除了可以作双边检验以
外还可以作单边检验,见图4-2。
图4-2Analyst的成对t检验对话框
4.2回归分析
本节先讲述如何用SAS/INSIGHT进行曲线拟合,然后进一步讲如何用SAS/INSIGHT进行线性回归,简单介绍SAS/INSIGHT的广义线性模型拟合,最后介绍如何用编程进行回归分析。
4.2.1用SAS/INSIGHT进行曲线拟合
两个变量Y和X之间的相关关系经常可以用一个函数来表示,一元函数可以等同于一条曲线,实际工作中经常对两个变量拟合一条曲线来近似它们的相关关系。
最基本的“曲线”是直线,还可以用多项式、样条函数、核估计和局部多项式估计曲线。
其模型可表示为:
例如,我们要研究SASUSER.CLASS数据集中学生体重与身高之间的相关关系。
为此,我们可以先画出两者的散点图(Analyze-Scatterplot)。
从图中可以看出,身高越高的人一般体重越重。
我们可以把体重作为因变量、身高作为自变量拟合一条回归直线,只要选“AnalyzeFit(YX)”,并选体重为Y变量,身高为X变量,即可自动拟合出一条回归直线,见图4-3。
窗口中还给出了拟合的模型方程、参数估计、诊断信息等,我们在下一小节再详细介绍。
图4-3身高对体重的散点图及回归直线
在拟合了直线后,为拟合多项式曲线,只要选“Curves-Polynomial”,然后输入阶次(Degree(Polynomial)),就可以在散点图基础上再加入一条多项式曲线。
对于本例,我们看到二次多项式得到的曲线与直线差别很小,所以用二次多项式拟合没有优势。
还可以试用三次、四次等多项式。
为了改变阶次还可以使用拟合窗口中的多项式阶次滑块(ParametricRegressionFit中的Degree(Polynomial))。
这里我们试着增大多项式阶可以发现取太高阶的多项式得到的模型并不合理。
样条曲线是一种非参数回归的曲线拟合方法。
光滑样条为分段的三次多项式,曲线在每一段内是一个三次多项式,在两段的连接点是连续、光滑的。
为拟合样条曲线,只要选“CurvesSpline”,使用缺省的GCV准则(广义交叉核实)来选取光滑系数(光滑系数c越大,得到的曲线越光滑,但拟合同时变差,光滑系数c小的时候得到的曲线较曲折,而拟合较好),就可以在散点图的基础上画出样条曲线。
可以用光滑系数c的滑块来调整曲线的光滑程度/拟合优度。
对于本例,GCV准则得到的样条曲线与回归直线几乎是重合的,说明直线拟合可以得到满意的结果。
核估计是另一种非参数回归的曲线拟合方法。
它定义了一个核函数K(x),例如使用标准正态分布密度曲线作核K(x),然后用如下公式估计经验公式f(x):
其中为光滑系数,越大得到的曲线越光滑。
为了画核估计曲线,只要选“Curves-Kernel”,核函数使用缺省的正态核,选取光滑系数的方法采用缺省的GCV法,就可以把核估计图附加到散点图上。
本例得到的核估计曲线与回归直线、样条曲线有一定差别。
可以手动调整光滑系数c的值,可以看到,当c过大时曲线不仅变光滑而且越来越变水平,因为这时的拟合值基本是一个常数,这与样条曲线的情形不同,样条曲线当c增大时曲线变光滑但不趋向与常数(水平线)。
局部多项式估计(Loess)是另一种非参数回归的曲线拟合方法。
它在每一自变量值处拟合一个局部多项式,可以是零阶、一阶、二阶,零阶时与核估计相同。
SAS/INSIGHT缺省使用一阶(线性)局部多项式。
改变Loess的系数alpha可以改变曲线的光滑度。
alpha增大时曲线变光滑,而且使用一阶或二阶多项式时曲线不会因为加大alpha而变水平。
固定带宽的局部多项式是另一种局部多项式拟合方法。
它有一个光滑系数c。
4.2.2用SAS/INSIGHT进行线性回归分析
上面我们已经看到,用菜单“Analyze-Fit(YX)”就可以拟合一条回归直线,这是对回归方程
的估计结果。
这样的线性回归可以推广到一个因变量、多个自变量的情况。
线性模型写成矩阵形式为
其中Y为n1向量,X为np矩阵,一般第一列元素全是1,代表截距项。
为p1未知参数向量,为n1随机误差向量,元素独立且方差为相等的2(未知)。
正常情况下,系数的估计为
,拟合值(或称预报值)为
,其中
是Rn空间内向X的列张成的线性空间(X)投影的投影算子矩阵,叫做“帽子”矩阵。
拟合残差为
,残差平方和为
,误差项方差的估计(要求设计阵X满秩)为均方误差(MSE)
,在线性模型的假设下,若设计阵X满秩,
和s2分别是和2的无偏估计,系数估计的方差阵
。
判断回归结果优劣的一个重要指标为复相关系数平方(决定系数)
(其中
),它代表在因变量的变差中用模型能够解释的部分的比例,所以R2越大说明模型越好。
例如,我们在“Fit(YX)”的选择变量窗口选Y变量(因变量)为体重(WEIGHT),选X变量(自变量)为身高(HEIGHT)和年龄(AGE),则可以得到体重对身高、年龄的线性回归结果。
下面对基本结果进行说明。
回归基本模型:
回归模型方程:
拟合概况:
其中MeanofResponse为因变量(Response)的均值,RootMSE叫做根均方误差,是均方误差的平方根,R-Square即复相关系数平方,AdjR-Sq为修正的复相关系数平方,其公式为
,其中i当有截距项时取1,否则取0,这个公式考虑到了自变量个数p的多少对拟合的影响,原来的R2随着自变量个数的增加总会增大,而修正的
则因为p对它有一个单调减的影响所以p增大时修正的
不一定增大,便于不同自变量个数的模型的比较。
方差分析表:
这是关于模型是否成立的最重要的检验。
它检验的是H0:
模型中所有斜率项系数都等于零,这等价于说自变量的线性组合对因变量没有解释作用。
它依据的是一个标准的方差分解,把因变量的总离差平方和(CTotal)分解为能用模型解释的部分(Model)与不能被模型解释的误差平方和(随机误差,Error)两个部分,如果能解释的部分占的比例大就否定H0。
F统计量(FStat)就是用自由度修正过的两部分的比值。
从上面结果看我们这个模型很显著(p值不超过万分之一),所以可以否定H0,模型是有意义的。
第三类检验:
这个表格给出了对各斜率项是否为零(H0:
j=0)的检验结果。
检验利用的是所谓第三类平方和(TypeIIISS),又叫偏平方和,它代表在只缺少了本变量的模型中加入本变量导致的模型平方和的增加量。
比如,HEIGHT的第三类平方和即现在的模型平方和与不包含变量HEIGHT的模型计算的模型平方和之差。
第三类平方和与模型中自变量的次序无关,一般也不构成模型平方和的平方和分解。
表中用F统计量对假设进行了检验,分子是第三类平方和的均方,分母为误差的均方。
实际上,当分子自由度为1时,F统计量即通常的t检验统计量的平方。
从表中可见,身高的作用是显著的,而年龄的作用则不显著,有可能去掉年龄后的模型更好一些。
参数估计及相关统计量:
对截距项系数和各斜率项系数,给出了自由度(DF),估计值(Estimate),估计的标准误差(StdError),检验系数为零的t统计量,t统计量的p值,检验共线性的容许度(Tolerance)和方差膨胀因子(VarInflation)。
其中自变量Xi的容许度定义为1减去Xi对其它自变量的复相关系数平方,因此容许度越小(接近0),说明Xi对其它自变量的复相关系数平方大,即Xi可以很好地被其它自变量的线性组合近似,这样Xi在模型中的作用不大。
记C=(cij)nn=(X'
X)-1,则
,cii叫做方差膨胀因子,它代表Xi的系数估计的方差的比例系数,显然其值越大说明估计越不准确,也说明Xi在模型中的作用不大。
方差膨胀因子与容许度互为倒数。
图4-4残差对预测值散点图
下一个结果为残差对预测值的散点图,用它可以检验残差中有无异常情况,比如非线性关系、异方差、模型辨识错误、异常值、序列相关等等。
此例中各散点较随机地散布在0线的上下,没有明显的模式,可认为结果是合适的(可舍弃的不显著的变量AGE不反映在残差图中)。
图4-5-图4-8是典型的非线性、异方差、异常值、序列相关的情况的残差图。
检查序列相关的残差图以观测时间(次序)为横坐标。
用Tables菜单可以加入一些其它的统计量,如做共线诊断(ColinearityDiagnostics)的条件数(ConditionalIndex)。
用Graphs菜单可以加入残差的正态概率图(ResidualNormalQQ)和偏杠杆图(PartialLeverage)。
在Vars菜单中可以指定一些变量,这些变量可以加入到数据窗口中。
数据窗口的内容保存在内存中,不自动改写磁盘中的数据集,所以要保存数据窗口的修改结果的话需要用“File-Save-Data”命令指定一个用来保存的数据集名。
为了了解加入的变量的具体意义,选数据窗口菜单中的“DataOptions”,选中“ShowVariableLabels”选项。
各变量中,HatDiag为帽子矩阵的对角线元素(帽子矩阵H恰好是nn的),即杠杆率,反映了每个观测的影响大小。
Predicted为拟合值(预报值),LinearPredictor为使用线性模型拟合的结果,在线性回归时与Predicted相同。
Residual为残差。
ResidualNormalQuantile是残差由小到大排序后对应的标准正态的分位数,第i个残差的正态分位数用
计算,其中为标准正态分布函数,参见1.3.7关于QQ图的解释。
StandardizedResidual(标准化误差)为残差除以其标准误差。
StudentizedResidual(学生化残差)为与标准化残差类似,但计算第i个学生化残差时预测值和方差估计都是在删除第i个观测后得到的。
当学生化残差的值超过2时这个观测有可能是强影响点或异常点。
关于其它的一些诊断统计量请参考帮助菜单的“SASSystemHelp-HelponSASSoftwareProducts-SAS/INSIGHTSoftware-MultipleRegression”,或《SAS系统:
SAS/STAT软件使用手册》第一章和第九章。
在SAS/INSIGHT中,为了保存结果表格,在进行分析之前选中菜单“File-Save-InitialTables”,这是一个状态开关,选中时输出表格画在分析窗口内的同时显示在输出(Output)窗口。
如果要保存某一个表格,也可以选定此表格(单击表格外框线),然后用菜单“File-Save-Tables”。
为了保存分析窗口的图形,先选定此图形,然后选“File-Save-GraphicsFile”,输入一个文件名,选择一种文件类型如BMP即可。
为了打印某一表格或图形,先选定它,然后用菜单“File-Print”。
选中“File-Save-Statements”可以开始保存SAS/INSIGHT程序语句,但意义不大。
4.2.3用SAS/INSIGHT拟合广义线性模型
经典线性回归理论的估计与假设检验要求自变量X非随机,随机误差项满足
广义线性模型放宽了这些假设,其模型为
其中因变量Y(n1向量)的元素为服从指数族分布(如正态、逆高斯、伽马、泊松、二项分布)的随机变量,随机误差项(n1向量)的元素与Y的元素分布类型相同,元素之间相互独立,单调函数g(.)叫做联系函数(Linkfunction),它把因变量的均值与自变量X(np阵)列的线性组合联系起来。
(p1向量)为回归系数。
模型中每个自变量对应于设计阵X中的一列或几列,X的第一列一般元素全为1,对应于截距项。
0(n1向量)是表示偏移量的变量。
注:
随机变量Y称为服从指数族分布,如果其分布密度(概率函数)有如下形式:
其中为自然参数或称经典参数,为分散度参数(与尺度参数相关),a,b,c为确定性函数。
这样的随机变量Y的均值和方差与参数的关系如下:
为了使用SAS/INSIGHT拟合广义线性模型,在选“Analyze-Fit(YX)”之后,在出现的对话框中先选定因变量和自变量,然后按“Method”按钮,出现选择模型的对话框(图4-9),在这里可以选因变量的分布类型(ResponseDist.),选联系函数,选估计尺度参数的方法。
图4-9模型选择对话框
各联系函数定义如下:
Identity恒等变换
Log自然对数
Logit
Probit
,其