sas的描述统计.docx
《sas的描述统计.docx》由会员分享,可在线阅读,更多相关《sas的描述统计.docx(24页珍藏版)》请在冰点文库上搜索。
sas的描述统计
第一章描述统计
教学目标:
本章是数据分析的描述性分析,需要掌握数据的一些基本数字特征、相关分析,以及数据的分布检验,并能够熟练地运用SAS软件计算数字特征、相关分析、作出数据的分布图及进行分布检验。
重难点:
运用SAS软件计算数字特征、相关分析、作出数据的分布图及进行分布检验。
第零节SAS系统简介
SAS(StatisticalAnalysisSystem缩写)软件是应用最为广泛的数据分析软件之一,该软件系统于1966年由美国NorthCarolina州立大学开始研制,十年后成立SAS研究所,经过近四十年的不断发展与完善,目前已成为大型集成应用软件系统,即有完备的数据存取、管理、分析和显示功能,被誉为数据处理和系统分析领域的国际标准软件系统。
该软件包含了从简单的描述性分析到复杂的多元统计、生存分析等广泛的数据分析方法。
为便于区分,我们约定对SAS系统的专用语句及编程语句用大写字母,对一些说明性的语句用小写字母,而在具体上机编程中不必如此(即不分大小写)。
SAS系统是在Windows环境下的一个数据分析软件,其界面包括三部分:
程序窗口(Editor)、log窗口及输出结果窗口(Output)。
程序窗口用于编写SAS程序,当程序提交执行后,Log窗口显示所提交程序的主要语句,输入、输出数据集的有关信息(如变量个数,观测值个数等)以及执行的情况说明,执行所提交程序所用的时间等。
如程序有错,该窗口还指出错误的地方及错误的信息。
输出窗口则按照程序要求或各过程的默认输出内容打印出分析结果。
在程序窗口中,按右键submitall或工具栏中run中submit即可执行语句。
一.数据的输入与输出
◆数据集的建立
SAS系统是按每个观测向量逐个处理数据,一个典型的SAS数据集由变量行和数据行组成:
变量行
数据行
建立SAS数据集的常用方法有两种,一是在程序窗口直接输入数据,二是利用已有数据集建立SAS数据集。
1.直接输入数据建立SAS数据集
在程序窗口直接输入数据,其基本语句形式为
DATAname;
INPUTvariables;
CARDS;
datalines
;
◆说明:
1)要建立永久性数据集,要采用二级命名。
若不赋予数据集名称,则自动赋予名称DATA1、DATA2、…。
2)非数据变量,需要在变量名后空一格,再写“$”。
输入变量的格式有两种:
自由和固定。
①自由格式输入。
在“INPUT”后依次输入各变量,变量之间用空格分开;
②格式化输入。
方式一:
通过指定每个变量的取值所占据的列数输入相应变量的值。
在每个变量名后,空一格指出该变量的值所占据的列数。
例如,
INPUTID1-2NAME$4-20VAR122-24VAR226-30;
则SAS系统读入数据时,将第一、二列的数值赋给变量ID,第4到第20列的字符赋给变量NAME,依次类推。
方式二:
W.d格式。
其中W表示变量取值所占据的总列数,d表示从右到左小数部分的列数。
例如,
INPUTID2.NAME$10.VAR15.2;
则SAS系统读入每行数据时,指针首先从第一列开始,将前两列的数值赋给变量ID,这是指针在第三列,从第3到开始,移过10列到第十三列,将前面10列内容赋给非数值型变量NAME,将接下来5列的数值赋给变量VAR1,并使最后两列为小数部分。
3)如果数据的每一行有多于二组观测向量,则在变量后加“@@”。
4)“;”表示数据结束。
2.利用外部数据集建立SAS数据集
DATAname(新数据集名);
INFILE‘drivelocation:
filename’(外部数据集的路径及数据集名称);
INPUTvariables(根据外部数据集的格式确定相应得变量输入格式);
◆SAS数据集的输出
格式:
PROCPRINTDATA=name;
说明:
打印观测向量序号OBS、各变量名及其取值。
二.利用已有的SAS数据集建立新的SAS数据集
◆两个SAS数据集的合并
1)串联
语句形式:
DATAname(新数据集名);
SETAB;
说明:
两数据集必须有相同的变量。
2)并联
语句形式:
DATAname(新数据集名);
MERGEAB;
说明:
两数据集必须有相同数据行。
◆变量值的排序
语句形式:
DATAnewname;
PROCSORTDATA=name;
BY(DESCENDING降序,否则就是升序排列)variable;
◆删除数据集中的某些数据行
语句形式:
DATAnewname;
SETDATA=name;
IFconditionsTHENDELETE;
说明:
“conditions”数据行的序号或某个变量的取值所满足的条件。
◆删除数据集中某些变量及其观测值
语句形式:
DATAnewname;
SETDATA=name;
DROPvariables(要删除的变量名)(或KEEPvariables需要保留的变量名)
◆产生新变量及其观测值
语句形式:
DATAnewname;
SETDATA=oldname;
变量的变换公式;
RUN;
三.SAS系统的数学运算符号及常用的SAS函数
◆数学运算符号
幂运算“**”,加法“+”,减法“-”,乘法“*”,除法“/”。
表达式:
变量名=数学表达式或‘非数值字符串’
◆SAS函数
见表9.2。
在均匀分布和正态分布等的随机函数中,需要给定初值“Seed”,否则在不同的时刻产生不同的随机数。
简单统计量函数种,“arguments”表示一系列数据或已经赋值的一系列变量,将数据或变量逐个列出,并用“,”分开;或者在变量前面加“OF”而不要逗号。
四.逻辑语句与循环语句
◆逻辑语句
语句形式:
IFconditionsTHENcommand;
ELSEcommand;
◆循环语句
SAS循环语句以“DO”开始,“END”结束,有三种形式:
1)DOvariable=aTObBYincrement;
2)DOUNTIL(condition);
3)DOWHILE(condition)
第一节描述统计量
已知一组试验数据或观测数据为
,以下介绍描述这组数据的几种特征量。
一.表示位置的特征量
表示位置的特征量有均值、众数、中位数和百分数等。
1.均值是
的平均数:
,它表示数据的集中位置。
2.众数是观测值中出现最频繁的数值,记为
。
3.中位数
设
是
个观测值,将它们按数值由小到大记为
,这就是次序统计量。
显然,最小次序计量
与最大次序计量
分别为
。
中位数
是将数据排序后属于中间位置的值,其计算公式是
中位数是描述数据中心位置的数字特征。
大体上比中位数大或小的数据个数为整个数据个数的一半。
对于对称分布的数据,均值与中位数较接近;对于偏态分布的数据,均值与中位数不同。
中位数的又一显著特点是不受异常值(特大或特小)的影响,具有稳健性(解释定义),因此它是数据分析中相当重要的统计量。
4。
百分位数
它是中位数的推广。
把数据从小到大的排序后,处于
位置的值称为
百分位数。
第
百分位数
的计算公式是
其中
。
第50百分位数就是中位数。
在实际应用中,第75百分位与第25百分位数比较重要,它们分别称为上、下四分位数,并分别简记为
。
二.表示分散程度的特征量
表示分散程度的特征量有方差、标准差、极差、四分位极差、变异系数与标准误(即均值的标准差)等。
方差是描述数据取值分散性的一个度量,它是数据相对于均值的偏差平方的平均:
标准差
方差的开方称为标准差。
方差的量纲与数据的量纲不一致,它是数据量纲的平方,而标准差的量纲与数据量纲一致。
计算公式为
极差的计算公式是
它是描述数据分散性的数字特征,数据越分散,级差越大。
四分位极差
上、下四分位数之差称为四分位极差(或半极差):
,它也是度量样本分散性的重要数字特征,特别对于具有异常值的数据,它作为分散性的度量具有稳健性,因此在稳健性数据分析中具有重要作用。
刻画数据相对分散性的度量是变异系数:
标准误:
三.表示分布形状的特征量
偏度与峰度是刻度数据的偏态、尾重程度的度量,它们与数据的矩有关。
数据的矩分为原点矩与中心矩。
K阶原点矩
K阶中心矩
。
显然,一阶原点矩
即均值。
二阶中心矩
也称为方差。
偏度的计算公式为
其中s是标准差。
偏度是刻画数据对称性的指标。
关于均值对称的数据其偏度为0,右侧更分散的数据偏度为正,左侧更分散的数据偏度为负。
峰度的计算公式为
当数据的总体分布为正态分布时,峰度近似为0;当分布较正态分布的尾部更分散时,峰度为正,否则峰度为负。
当峰度为正时,两侧极端数据较多;当峰度为负时,两侧极端数据较少。
下面我们对偏度与峰度作进一步的说明。
总体偏度是度量总体分布是否偏向某一侧的指标。
对于对称的分布,偏度为0。
例如,对于正态分布,因
,故
。
若总体分布在右侧更为扩展,偏度为正;若总体分布在左侧更为扩展,偏度为负。
我们看到,总体偏度的这一特性与样本偏度的相应特性是相似的。
总体峰度是以同方差的正态分布为标准,比较总体分布尾部分散性的指标。
当总体分布是正态分布时,因
,故总体峰度
。
当
时,总体分布中极端数值分布范围较广,此种分布称为粗尾的。
当
时,两侧极端数据较少,此种分布成为细尾的。
计算数据的上述数字特征可以通过SAS系统procmeans过程或procunivariate过程来实现。
下面介绍SAS系统procmeans过程。
该过程计算数据集中各变量的一些基本的描述性统计量的值,如均值、方差、标准差、最大值、最小值、极差、偏度和峰度等,语句形式为
PROCMEANSoptions;
VARvariables;
OUTPUTOUT=SASdatasetkeyword=name…;
◆语句说明:
“options”包含所要分析的数据集名称“Data=SASdataset”和计算统计量名称的关键词“N(变量的观测值个数)、MEAN(均值)、STD(标准差)、VAR(方差)、MIN、MAX、RANGE(极差)、SUM(总和)、USS(平方和)、CSS(中心化平方和)、SKEWNESS(偏度)、KURTOSIS(峰度)、T(对每个变量的均值是否为0进行双边
检验)、PRT(检验的
值)”。
(校正平方和
,未校平方和
。
)
例1从19个杆塔上的普通盘形绝缘子测得该层电导率(
)的数据如下:
9.898.006.406.175.397.279.0810.4011.208.756.4511.9010.309.589.247.756.208.958.33
计算均值、方差、标准差、变异系数、偏度、峰度。
解:
dataliti1;
inputx@@;
cards;
9.898.006.406.175.397.279.0810.4011.208.756.4511.9010.309.589.247.756.208.958.33
;
procmeansdata=liti1meanstdvarskewnesskurtosis;
varx;
outputout=liti11mean=std=var=skewness=kurtosis=;
run;
运行的部分结果为
MeanStdDevVarianceSkewnessKurtosis
8.48684211.84544503.40566730.0352192-0.8515580
即
,从而
。
,向右微偏。
,
的绝对值较小,可以认为是来自正态总体的数据。
关于正态性的检验,以后还将介绍。
例2某单位对100名女学生测定血清总蛋白含量(g/L),数据如下:
74.378.868.878.070.480.580.569.771.273.5
79.575.675.078.872.072.072.074.371.272.0
75.073.578.874.375.865.074.371.269.768.0
73.575.072.064.375.880.369.774.373.573.5
75.875.868.876.570.471.281.275.070.468.0
70.472.076.574.376.577.667.372.075.074.3
73.579.573.574.765.076.581.675.472.772.7
67.276.572.770.477.268.867.367.367.372.7
75.873.575.073.573.573.572.781.670.374.3
73.579.570.476.572.777.284.375.076.570.4
计算均值、方差、标准差、变异系数、偏度、峰度。
解:
程序如上题,在此略。
通过计算,得
从计算结果看,偏度、峰度的绝对值皆较小,可以认为数据是取自正态总体的样本,即数据的总体分布是正态分布。
为了计算分位数,我们有必要了解PROCUNIVARIATE过程。
该过程除可以完成PROCMEANS过程的一些统计分析外,还具有计算数据的分位数、绘制简单的描述性分析图及对数据进行正态性检验和单样本的符号检验、Wilcoxon符号秩检验等功能,主要语句形式为
PROCUNIVARIATEoptions;
VARvariables;
OUTPUTOUT=SASdatasetkeyword=name…;
说明:
“options”Data=SASdataset指明要分析的数据集名称;Plot要求对所分析的各变量的观测值产生一个茎叶图、水平直方图、箱线图、正态QQ图;Freq要求生成包括变量值、频数、百分数和累计百分数的表;Normal要求对所分析的各变量的观测值是否来源于正态分布总体作检验。
除以上选项外,PROCUNIVARIATE过程的默认结果是PROCMEANS的结果;分位数、极差、众数(mode)等。
例3计算例1数据的
。
解程序如下:
dataliti3;
inputx@@;
cards;
53113178
;
procunivariatedata=liti3;
varx;
output;
run;
输出部分结果如下:
第二节用图表概括数据
一.频数表
为了解数据取值的分布情况,希望列出数据在取值范围的若干区间间隔内的频数、累计频数等,即列出频数表。
例1.2.1用编程(Procfreq)方式来产生100名学生体重分为8组的频数表。
dataWH100;
inputhw@@;
ifw<=50.3thenwc='<50.3';
elseifw>50.3andw<=54.1thenwc='50.3-54.1';
elseifw>54.1andw<=57.9thenwc='54.2-57.9';
elseifw>57.9andw<=61.7thenwc='58.0-61.7';
elseifw>61.7andw<=65.5thenwc='61.8-65.5';
elseifw>65.5andw<=69.3thenwc='65.6-69.3';
elseifw>69.3andw<=73.1thenwc='69.4-73.1';
elsewc='>=73.2';
wgroup=int((w-46.5)*8/(77-46.5)-0.001)+1;
cards;
172.475.0169.354.8169.364.0171.464.8166.547.4
171.462.2168.266.9165.152.0168.862.2167.865.0
165.862.2167.865.0164.458.7169.957.5164.963.5
160.355.2175.066.6172.573.5172.064.0168.457.0
155.057.0175.563.9172.369.0168.658.0176.456.9
173.257.5167.550.0169.452.2166.772.0169.557.0
165.755.4161.248.5172.857.0175.175.5157.550.5
169.862.9168.663.4172.661.0163.858.5165.161.5
166.752.5170.961.0166.169.5166.262.5172.452.6
172.860.0177.863.9162.756.8168.854.0169.166.2
177.560.0177.066.2169.955.9167.454.4169.358.4
172.872.8169.858.0160.065.3179.162.2172.349.8
163.346.5172.966.7165.458.0175.863.2162.352.2
165.465.7171.559.3176.666.3181.768.6175.274.9
169.559.5169.661.5169.163.1185.577.0173.965.5
162.550.0171.558.5175.659.8166.075.5167.263.3
171.957.0176.658.4177.367.0169.271.8166.249.8
181.763.0175.868.3172.355.5172.758.5174.364.0
171.259.0174.868.0165.455.5169.164.8167.962.0
176.864.0183.569.9165.548.6171.070.5170.358.5
;
procfreq;
tableswc;
title'100名学生体重分为8组的频数表';
run;
输出结果为
100名学生体重分为8组的频数表
TheFREQProcedure
CumulativeCumulative
wcFrequencyPercentFrequencyPercent
<50.388.0088.00
>=73.266.001414.00
50.3-5477.002121.00
54.2-571616.003737.00
58.0-612020.005757.00
61.8-652525.008282.00
65.6-691212.009494.00
69.4-7366.00100100.00
二.直方图
对于数据分布,常用直方图进行描述,将数据取值的范围分成若干区间(一般是等间隔的),在等间隔区间的情况,每个区间的长度称为组距,考察数据落入每一区间的频率,在每个区间上画一个矩形,它的宽度是组距,它的高度可以是频数、频率或频率/组距,在高度是频率/组距的情况,每一矩形的面积恰是数据落入区间的频率,这种直方图可以估计总体的概率密度。
组距对直方图的形态有很大影响,组距太小,每组的频数较少,由于随机性的影响,邻近区间上的频数可能很大;组距太大,直方图所反映概率密度的形态就不灵敏。
对学生体重数据使用选项MIDPOINTS=产生的条形图Frequency
‚*****
25ˆ*****
‚*****
‚*****
‚*****
‚*****
20ˆ**********
‚**********
‚**********
‚***************
‚***************
15ˆ***************
‚***************
‚********************
‚********************
‚********************
10ˆ********************
‚********************
‚*************************
‚*************************
‚******************************
5ˆ****************************************
‚****************************************
‚****************************************
‚****************************************
‚****************************************
4852566064687276
wMidpoint
一个合适的分组是希望直方图的形态能接近总体的概率密度。
SAS系统会根据样本容量和样本范围自动地确定一个合适的分组方式。
利用SAS系统中的proccapability过程作出数据分布的直方图。
下面我们用CHART过程作出数据分布的直方图。
例1.2.2用SAS的CHART过程对100名学生体重数据绘制频数直方图。
解程序如下:
procchartdata=WH100;
vbarw/midpoint=48to76by4;
title'对学生体重数据使用选项MIDPOINTS=产生的条形图';
run;
如果数据来自具有概率密度
总体的样本,直方图可以作为对总体概率密度
的估计。
直方图的形态在顶部为折线,而一些常用的概率密度曲线都是光滑曲线。
参数分布拟合就是在限定的参数分布类(如正态分布)中通过对参数的估计,用估计得到的参数所对应的密度曲线去拟合直方图顶部的形态。
SAS系统中提供的参数分布类型主要有:
1)正态分布;2)对数正态分布;3)指数分布;
4)
分布(Gamma分布);
5)Weibull分布
6)Beta分布
上述分布中,正态分布是最为常用的分布,其它几种分布也是质量控制和可靠性分析等领域中经常使用的分布。
SAS系统中,可以用proccapability过程做