SAS初阶2

来源:百度文库 编辑:神马文学网 时间:2024/10/06 00:13:09

数据探索――一维方法

SAS/INSIGHT提供了十分方便的数据探索功能。对一维数据,可以作直方图、盒形图、马赛克图,对二维数据,可以作散点图、曲线图、散点图矩阵,对三维数据可以作旋转图(三维散点图)。在图上可以选定一些观测,这些选择结果会同时反映在数据窗口和其它图中。

以SASUSER.CLASS数据集为例。选定变量HEIGHT,用“Analyze | Histogram/Bar Charts(Y) ”菜单可以打开一个图形窗口生成身高的分布 直方图,如图 10。

直方图的每一个条形代表了绘图变量(HEIGHT)在一个区间的取值情况,比如70到75之间的条形代表身高在70到75英寸的人,条形高度为组频数,即取值在这一区间的观测个数,可以看出这一组有一个学生。单击这一条形选中在此范围的观测,可以发现这时数据窗口的相应观测也被选定了,被选中的是Philip,身高72英寸。如果双击某一条形,比如60到65的条形,就可以在选定相应观测的同时弹出一个检查观测窗口,窗口中显示各被选中的观测序号,以及其中一个观测的各变量值。这样可以很方便地检查图中各部分所对应的观测。为取消选定,只要在图中空白处单击即可。

作出的图形有一个方框包围。如果想改变图形大小,可以单击方框使其变粗,然后拖动四个角中的一个,就可以把图形放大或缩小。甚至还可以把一个角向其对角方向拖动一直拖过对角,这样可以改变图形的横纵轴方向。拖动边框可以把图形移动到窗口内其它位置。

图形中提供了一个设置菜单,可以单击图形边框角上的向右箭头或在图形内右键单击来打开。菜单内容包括Ticks,可以设置坐标轴的具体画法;Axes用来指定画不画坐标轴;Observations 用来指定是否画观测;Values指定是否标出各条形高度值。

对连续数据(Int型)作直方图可以反映其分布情况,对离散数据(Nom型)作直方图同样可以反映其分布,即取每一个离散值的比例大小(频数分布)。比如,在作了身高的直方图后,选定变量SEX,对其作直方图,则结果打开一个新图形窗口作出只有两个条形的条形图,一个标记为F,另一个标记为M,高度分别为9和10,即有9个女生,10个男生,男女比例为10 :9。单击标F的条形,可以看到数据窗口中所有女生的观测被选定,另外还可以看到已作的身高的直方图也发生了变换,身高的每一个条形都分成了颜色不同的两部分,其中下面的一部分代表女生。

在用Analyse菜单中的作图命令作图时如果没有选定的变量则弹出一个对话框提问用哪一个变量作图,如果对身高作图,只要选HEIGHT然后按Y钮即可。

盒形图

从图形菜单中选Values 可以标出图中重要数据值。可以看出,此盒形图的横轴没有用处,纵轴代表身高的取值范围。盒形的中间有一条粗线,这是身高分布的中位数的位置,盒子上边线是分布的四分之三分位数,下边线是分布的四分之一分位数,盒子上下边线包含了分布的中间50%的观测。盒子的长度叫做分布的四分位间距,其作用类似于标准差,可以反映数据分布的分散程度。从盒子边线向外画了两条线叫做触须线,最长可以延伸到四分位间距的1.5倍,但是如果已经到了数据的最小值或最大值处就不再延伸。如果触须线没有达到数据的极端值,则这些数据点用触须线以外的点来画出,一般认为这样的点是异常点。从盒形图可以看出数据的偏斜情况,比如我们看到盒子的下半部比上半部长,而且下触须线比上触须线长,说明身高分布略左偏。

用盒形图菜单中的“Means”选项可以在盒形图上加画一个菱形,菱形的中间代表分布的平均值,菱形端点到中间距离为两倍标准差。如果是变量服从正态分布,菱形上下端点之间应该包含大约95%的观测。平均值和中位数的比较也能反映变量的偏斜情况,平均值低于中位数可能左偏。

单击或双击盒形图的某一部分(盒子上半部或下半部、触须线、极端值)可以选定观测。

盒形图可以方便地比较按某分组变量分组后的分布情况。比如,如果我们想看一看男女的身高分布有何异同,不选任何变量启动“Analyze | Box Plot/Mosaic Plot”菜单,弹出选择变量的对话框如图 13。

选身高为Y变量,选性别为X变量,画出的图见图 14。

图中有两个盒形图,女生一个,男生一个。从图中看出,男生身高普遍高于女生,且女生身高分布左偏较男生严重。这种并排盒形图可以十分直观地比较两个相关的分布。作盒形图时指定多个Y变量也可以作出并排的盒形图,比如,同时指定身高和体重作为Y变量作盒形图就可以生成身高和体重的并排的盒形图。

Analyze菜单的“Box Plot/Mosaic Plot”命令对连续型变量作盒形图,对离散型变量将作 马赛克图。比如,对性别变量作图得图 16。

选“Values”菜单后标出了男女的人数、百分比。马赛克图一般不对单个变量作,而是对两个离散变量来作。比如,先把SASUSER.CLASS 中变量AGE的量测水平由Int改为Nom,然后取消所有变量的选定,启动“Box Plot/Mosai Plot ”,选SEX为Y变量,选AGE为X变量,作图如图 15。

这种图的好处是直观显示了两个变量每种取值组合的观测个数和比例。单击或双击其中一个方块可以迅速选中一个分组,比如双击年龄为11性别为女(F)的方块可以看到这一组的学生。

 

数据探索――二维

SAS/INSIGHT可以作曲线图、散点图、散点图矩阵,可以在散点图中刷亮观测。

曲线图

选DATETIME 为X变量,CO为Y变量,可以画出CO的时间序列曲线图。

单击曲线上某一个点可以显示其观测序号,双击可以检查观测。如果想单击曲线上点时不显示观测序号而显示记录时间是几点,可以在曲线图窗口中选主菜单的“Edit | Window | Renew”,可以再弹出变量窗口,选HOUR 并按Label钮把时间指定为标签变量。这时在作的CO的曲线图上单击一个点显示的就是记录时间了。可以看出CO的高峰一般在早晨8点和晚上17点-21点。用图形菜单(右键或单击向右三角)中的Observations可以画出各个数据点的符号。

可以在图上同时画出多条曲线。比如,想考察风速对污染的影响,在图形窗口中再用主菜单的“Edit | Window | Renew”,把WIND也作为Y变量,画出的图就有两条不同颜色的曲线,单击外面的CO变量符号和WIND变量符号可以加重显示对应的曲线以区分这两条曲线。见图 18 。图中被选的点是风速的最高值,时间是11点。注意在一条曲线中被选在另一条曲线中也被选。从此图可以看出风速对污染有较明显的影响,风大时污染较轻。

散点图

从图可以看出体重与身高有明显的线性相关关系。

为了解哪一个点代表哪一个学生,单击一个点可以显示其观测序号,双击可以检查观测。为了在单击时可以显示学生名字而不是观测序号,需要把NAME指定为标签变量。这可以在生成散点图时先不在数据窗口选X、Y变量而是直接启动“Analyze | Scatter Plot”菜单,弹出变量对话框,在其中选X、Y变量并把NAME指定为Label变量。这时,单击散点图中最左下角的那个点可以显示名字Sandy,单击最右上角的那个点可以显示Philip。选多个点可以用附加选中的办法(Shift或Ctrl单击)。

为了在散点图中选定多个点,SAS/INSIGHT还提供了一种称为“ 刷亮(Brushing)”的操作。在图中拖动鼠标光标可以拖出一个小长方形,在这个长方形中的点都被选中,称它为刷子。选中的点在数据窗口也被选中,可以在数据窗口翻页查看,或用数据窗口的Find Next菜单命令查看,或在数据窗口用Move to First菜单命令把选中的点移到最前查看。双击长方形(刷子)可以弹出检查观测窗口,在那里可以逐个查看选中的观测内容。

拖动刷子的角可以改变其大小。拖动刷子内部可以移动它的刷亮位置,使进入刷子的点被选中,而离开了刷子的点被取消选中。可以同时用附加选中(Ctrl单击)的办法加选不在刷子内的点,这些点还可以显示标签。在拖动刷子时如果同时按住Shift或Ctrl键则为附加选定,即进入刷子的点被选中而离开刷子的点仍保持被选中。可以按住Shift或Ctrl键拖出第二个刷子,这时第一个刷子不再显示但它刷亮的点仍保持刷亮,移动第二个刷子时如果按住Shift 或Ctrl键仍可保持已有选定。为了取消所有选定,只要点击图内空白处。

散点图矩阵

我们看到三个变量两两组合有三种组合,每种组合有两个图形(横纵轴对换)。散点图矩阵对角线为变量标记和变量取值范围,该变量是其所在行的纵轴变量,是其所在列的横轴变量。比如第二行第一列的图纵轴变量是HEIGHT ,横轴变量是AGE,为身高对年龄的散点图。其对称位置(第一行第二列)是年龄对身高的散点图,两者只是把横纵坐标旋转对调。

散点图矩阵除了可以同时看到多个散点图的优点外主要是在一个散点图中被选中的点在其它散点图和数据窗口中也同时被选中。这样,我们可以在一个图中选一个极端点,看它在其它图中是否也处于极端位置。在一个散点图中刷亮的点在其它散点图中也同时被刷亮,这样,我们可以观察,年龄和身高都比较小时,体重是否也比较低。可以移动刷子,同时其它散点图中被选中的点也在变化。从图 20可以看出,年龄由小到大变化时身高、体重一般也变大,但同一年龄的学生的身高、体重差距较大。

SAS/INSIGHT提供了自动移动刷子的功能。在拖动刷子时松开鼠标按钮,类似于“抛出” 刷子,刷子就可以按抛出的方向继续移动并反弹。不过现在还较难控制自动移动的速度,有时移动过快。

数据探索――三维

SAS/INSIGHT对三维数据可以作称为旋转图的三维散点图。比如,要对SASUSER.CLASS 中的学生年龄、身高、体重作三维散点图,在数据窗口依次选定AGE、HEIGHT、WEIGHT,然后启动菜单“Analyze | Rotating Plot”,可以生成一个三维散点图。图 21是经过旋转后的图形。

这种三维散点图之所以称为旋转图,是因为坐标系可以在三维空间绕原点任意旋转。图形的左侧有一个小工具栏,其中有向上、下、左、右、逆时针、顺时针旋转的图标,再往下有一个滚动条,用它来规定自动旋转的速度。左下角是图形的菜单(向右的三角形)。

为了旋转坐标系,单击左侧的旋转方向图标。按住旋转图标可以连续旋转。按住Shift或Ctrl 再旋转可以实现自动旋转。当鼠标光标移到图形的四个角时光标形状变成了手的形状,单击可以旋转,拖动可以连续旋转,拖动时“抛出”可以自动旋转。自动旋转中可以随时拖动图形以改变旋转方向。

旋转图的菜单(图 22)中,Ticks用来调整坐标轴刻度,Axes可以选坐标轴以数据中心点为原点、以左端点为原点、不画坐标轴。Observations指定画出所有观测,如果没有选中此项则只画被选中的观测。Rays从原点向每个散点画射线。Cube在散点四周画一个长方体盒子。Depth可以使离视点近的点画得较大,离得远的点画得较小。Fast Draw指定用另一种较快的绘图方法绘图。Markers Sizes选择散点的大小。

图形的调整

SAS/INSIGHT提供了很强的调整绘制的图形的功能。比如,调整坐标轴的画法,点的大小、符号、颜色,隐藏某些观测,等等。

给不同观测使用不同的符号和颜色画点有助于迅速区分不同类观测的特点。比如,SASUSER.IRIS 数据集中包含了Fisher著名的Iris数据,其中有三种不同的鸢尾属植物的花瓣、花萼长、宽的测量数据,希望从这些测量数据找出区分这三种植物的指标。为了直观看到不同植物的测量数据的特征,最好用不同颜色画每一种植物的散点。打开数据集后,选定分类变量SPECIES ,调用“Analyse / Box Plot / Mosaic Plot”菜单来作其马赛克图,可以看到此变量的三个值为Virginica、Versicolor、Setosa。用“Edit | Windows | Tools”菜单可以打开一个工具窗口,如图 23。这个窗口可以改变观测符号的颜色、符号,连线的线型、线宽,可以放大图形局部。

在打开的马赛克图中先选定Virginica,这时所有类型Virginica的观测被选中,按一下工具窗口中的红色,就给所有这些观测规定了绘图符号为红色。类似指定Virsicolor 为绿色,Setosa为蓝色。作PETALWID(花瓣宽)对PETALLEN(花瓣长)的散点图,可以作出三种不同植物用不同颜色绘点的散点图,见图 24。

利用一个变量的不同值来确定观测绘点的颜色还可以自动进行,方法是先选定该变量(如SPECIES ),然后单击工具窗口的渐变颜色棒,就可以为SPECIES的每一不同值分配一种不同颜色。这一方法不仅适用于SPECIES这样的名义变量,也适用于数值型变量。颜色棒的颜色可以调整,比如要把颜色棒变为由红到蓝,只要把红色方块拖到颜色棒左端,把蓝色方块拖到颜色棒右端。

为了改变绘点符号的大小,调用图形菜单(图形边角上的向右三角符号)中的Marker Sizes 菜单可以选择一个合适的符号大小。

除了用不同颜色来区分不同种类的观测外,还可以用不同的符号来画不同的观测。比如,选定SPECIES为Virginica的观测后,单击工具窗口的菱形图标把此类观测的绘点符号变为菱形。类似指定Virsicolor用三角,Setosa用加号,作的散点图见图 24。从图中可以看出,用加号绘制的Setosa类和其它两类差别很大,单靠花瓣的长、宽就可以把这一类与其它两类区分开,但是用菱形绘制的Virginica类和用三角绘制的Virsicolor类则在能大体区分开的同时有少数观测混杂在一起,所以单靠花瓣的长、宽测量数据不能把这两两很好地区分开。

利用一个分类变量来决定不同的绘点符号除了上述的对每一类观测分别选定,然后指定绘点符号的办法,还可以选定这一分类变量,然后单击工具栏中绘点符号下面的多种符号的长棒形图标,可以自动为每一类分配一个绘点符号。

不同类观测用不同的颜色和符号来绘点是一种强有力的数据探索手段,恰当使用可以直观地发现不同类型观测的区别。

分布研究

SAS/INSIGHT提供了很强的一维分布研究功能。对连续型变量,除了可以画直方图、盒形图外,还可以作各种统计表,比如矩、分位数表,可以在直方图上画拟合密度曲线,可以检验分布是否来自正态、对数正态、指数、威布尔分布,等等。对离散型变量,可以画马赛克图、条形图、频数表。

为了研究SASUSER.CLASS中身高的分布,在未选中变量的情况下,启动“Analyze | Distribution(Y) ”菜单,出现图 25的选择变量对话框:

选Y变量为HEIGHT,按OK可以打开一个新窗口,显示身高的直方图、盒形图、矩统计量表(图 26):

分位数表(图 27):

各统计量是SAS中经常使用的,我们在此加以说明。设变量为 ,各观测值为 。有时每个观测还带一个加权 ,在没有指定加权变量时认为加权恒为1。

     

  • N-观测个数

     

     

  • Sum Wgts-加权和

     

     

  • Mean-均值

     

     

  • Sum-总和

     

     

  • Std Dev-标准差

     

     

  • Variance-方差

     

     

  • Skewness-偏度

     

     

  • Kurtosis-峰度

     

     

  • USS-加权平方和

     

     

  • VSS-加权离差平方和

     

     

  • CV-变异系数

     

     

  • Std Mean-均值的标准误差

 

其中加权的常见情形是当一个观测实际代表完全相同若干个样品时,求和、平方和等都要加权。比如,第i个观测代表 个样品时,求变量Y的真正总和就需要用加权公式 。偏度可以表现变量分布的偏斜,负值为左偏,正值为右偏。峰度表现变量分布与正态分布相比是重尾(分布函数在正负无穷处衰减缓慢)还是轻尾(分布函数在正负无穷处衰减迅速)。标准误差在统计中是一个十分重要的概念,它代表估计量作为随机变量其标准差的估计,这里的Std Mean是均值的标准差的估计,实际计算公式是 ,而均值的理论标准差为 。如果估计量服从正态分布,通常用估计量加减两倍标准误差作为估计量的置信区间。

分位数表中,Max是最大值,Q3是四分之三分位数,Med是中位数(反映数据中心位置),Q1 是四分之一分位数,Min是最小值,Range是最大值减最小值,Q3-Q1为四分位间距,可以反映数据取值分散程度,Mode是众数,即出现最多的值。

在打开了身高分布的窗口之后主菜单中的Tables、Graphs、Curves菜单被开放。在Tables 菜单中可以选加一些统计表,比如Frequency Table是频数表,为每一观测值的频数、累计频数、百分比,C.I. for Mean可以计算均值的各种置信度的置信区间,Location Tests用于检验均值为某常数值(一般是0)的假设,可以用t检验、符号检验、符号秩检验,Gini's Mean Difference 是变量分布分散程度的一种稳健估计,计算公式为 ,对正态分布其期望值为 。Trimmed Mean, (1/2)N计算去掉最大(1/2)N 个和最小(1/2)N个值后的平均值,(1/2)N可以指定为1,2,3或自定值,这是变量中心位置的一种稳健估计,但估计量本身不再服从正态分布。Trimmed Mean, (1/2)Percent指定去掉最大、最小的百分之多少再计算均值。Winsorized Mean是把最大的(1/2)N个替换成由大到小第(1/2)N +1号值,把最小的(1/2)N个替换成由小到大第(1/2)N+1个值,然后计算的均值,它也是一种稳健的均值估计。

在Graphs菜单中已选了直方图、盒形图,还可以作QQ图,即分位数-分位数图。

图 28为身高的正态QQ图,其中画出了班上19个学生的19个点,每个点的纵坐标为变量值,而横坐标为该值的累计百分比频数对应的标准正态分位数。比如,身高最低的一个为51.3,其累计百分比频数(即51.3的经验分布函数值)为5.3%,即身高小于51.3的占5.3%,而标准正态分布的0.053分位数为-1.84570,所以此点的横坐标即-1.84570。如果身高服从正态分布,QQ图的散点应大致在一条直线附近变动。QQ图的各种不同形状能够反映出变量分布的偏斜情况和重、轻尾情况。在QQ图中也可以选观测、刷亮等。画出QQ图后选主菜单中的“Curves | QQ Ref Line ”可以为图中散点画一条拟合直线。

图 28的身高的QQ图显示身高基本服从正态分布。如果我们画SASUSER.GPA中GPA分数的QQ 图(图 30):

就可以看到GPA的分布呈现左偏的情况。这是因为,在QQ图的左下端,GPA散点的走向比正态(图中直线)偏下,说明GPA分布的左尾比正态长;在QQ图的右上端,GPA散点的走向比正态偏右下,说明GPA分布的右尾比正态短,即分布左偏。作为验证,可以看一看的图 29直方图:

图 32给出了与正态相比左偏、右偏、轻尾、重尾的分布的QQ图的典型模式:

除了可以作正态分布QQ图外,还可以作对数正态、指数分布、威布尔分布的QQ图。对数正态要指定参数Sigma,威布尔分布要指定形状参数C。

SAS/INSIGHT为研究一维变量分布除画直方图外还提供了两类 分布密度估计:参数估计和非参数估计。参数估计可以拟合正态、对数正态、指数、威布尔分布密度。非参数估计使用核估计。

比如,为了估计身高的正态密度并把密度曲线叠加在直方图上,选“Curves | Parametric Density ”,弹出对话框图 31:

指定正态分布且方法为用样本估计分布密度参数。按OK后作出的图见图 33:

为了作身高密度的核估计图,选“Curves | Kernel Density”,弹出一个对话框,可以选三种核函数:正态核、三角核、二次函数核,可以自动拟合最优的密度估计(方法为AMISE )或者自己指定平滑参数C。见图 33。

作了密度曲线图后在图形下面将出现显示密度估计主要参数的表格,见图 34:

单击其中的曲线标志可以加亮显示图中的曲线。对参数密度估计,给出了估计的参数,比如正态的均值、方差;对核估计,给出了核函数类型,及平滑参数值。有些参数旁边有一个滑块,可以手工选择参数的值。比如拖动核估计中的平滑参数,此参数变小时估计的曲线变粗糙,变大时曲线变光滑。

在“Curves”菜单中还提供了对样本经验分布函数的估计。选“Curves | Empirical CDF ”即绘制样本经验分布函数。选“Curves | CDF Confidence Band”并选一个置信限可以在经验分布函数两边画分布函数的置信限,见图 35:

用经验分布函数估计分布函数相当于用直方图估计分布密度。分布函数也可以用参数分布函数(如正态分布)来估计。选“Curves | Parametric CDF”并选分布类型可以画出估计的分布函数。图 35中的光滑曲线即用正态分布估计身高的分布函数。

SAS/INSIGHT还可以进行分布检验,可以检验数据是否来自某一类分布(参数未知),或检验数据是否来自某一特定分布(参数已知)。选“Analyze | Test for Distribution”,并选择是检验正态、对数正态、指数、威布尔分布中哪一个,选正态后,得到图 36的结果。

它给出了分布类型、估计的分布均值、标准差,及Kolmogorov D统计量的值,并给出了检验H0 :样本来自正态分布的检验p值(Prob > D)为>.15,说明检验结果不显著,不能否定正态假设。

如果要检验数据是否来自某一特定分布,选“Curves | Test for a Specific Distribution ”,并指定分布类型、分布参数,可以计算检验的Kolmogorov D统计量及相应p值。图 37是检验身高是否标准正态分布的结果,可以看出p值为0.0001高度显著,应该否定数据来自标准正态的假设。

说明:在SAS中,统计假设检验的结果一般用检验的p值给出。这与我们习惯的做法稍有不同,以单正态总体的均值检验为例。假设我们要检验SASUSER.CLASS中学生的身高是否均值为零(这当然不可能,我们为简单起见用这种假设),设总体服从 ,要检验的零假设为 ,水平0.05,统计量使用t统计量 ,一般我们用的假设检验方法定否定域为W={|t|>C} ,其中C为n-1自由度t分布的双侧0.05分位数(Pr{|t|>C}=0.05),当用样本算出的t统计量的值(如t=A)落入否定域时(|A|>C)否定零假设。在SAS中不需要这样指定否定域,它可以先用样本计算出t统计量的值(A),如果这个A绝对值很大就否定零假设,t统计量绝对值值是不是很大可以用这样一个p=Pr{|t|>|A|}来衡量,p是一个0到1之间的数值,显然|A| 越大,p越小。p<0.05与|A|>C是等价的。所以,如果p小于0.05,就否定零假设,称检验结果是显著的。否则不否定零假设。对SASUSER.CLASS中HEIGHT变量,在其分布窗口中选菜单“Tables | Location Tests”并从弹出的对换框中选中t检验,要检验的均值为0,得到的结果见图 38。计算得到的t统计量值为A=52.9971,p值为Pr{|t|>52.9971}小于等于0.0001 。因p值小于0.05所以结果是否定零假设,结论是身高均值不为零。

SAS/INSIGHT还提供了曲线拟合、回归、logistic回归、Poisson回归、相关分析、主成分分析等高等统计功能,我们后面再陆续介绍。

画出多个变量两两间的散点图以考察多变量关系。以SASUSER.CLASS为例,比如说我们想了解年龄、身高、体重间的关系。先把年龄的量测水平设为连续型(Int),在数据窗口选定年龄、身高、体重,可以作出图 20。
也有一个X变量和一个Y变量,但不要求X变量有从小到大的次序,画图不用连线而是用散点画出每一对X、Y坐标。比如对SASUSER.CLASS,我们希望通过画图了解身高和体重的关系。在数据窗口中先选定体重(Y轴变量)再附加选定身高(X轴变量),启动菜单 “Analyze | Scatter Plot”,就可以生成以体重为纵轴以身高为横轴的散点图(见图 19)。
有一个取值由小到大的X变量,有一个或几个Y变量,以X变量为横坐标对Y 变量画曲线。为了演示曲线图,打开SASUSER.AIR数据集(用“File | Open”菜单)。这个数据集是德国某城市一周的每小时记录的空气污染情况。变量DATETIME是记录的日期时间,为特殊SAS格式数据,变量DAY为星期几,HOUR为几点钟,CO、O3、SO2、NO、DUST分别为一氧化碳、臭氧、二氧化硫、一氧化氮、粉尘的浓度,WIND为风速。要画一氧化碳的曲线图,可以在未选任何变量的情况下用“Analyse | Line Plot”,弹出变量对话框(图 17)。
是另一种表现数值型变量分布的图形。比如,要画身高分布的盒形图,选定变量HEIGHT然后用“Analyse | Box Plot/Mosaic Plot”可以作出图 12。