kSAS程序.docx
《kSAS程序.docx》由会员分享,可在线阅读,更多相关《kSAS程序.docx(78页珍藏版)》请在冰豆网上搜索。
kSAS程序
附录统计方法的SAS程序
一、SAS系统简介
SAS(StatisticalAnalysisSystem,统计分析系统)是当今国际上著名的数据分析软件系统,其基本部分是SAS/BASE软件。
20世纪60年代末期,由美国北卡罗莱纳州州立大学(NorthCarolinaStateUniversity)的A.J.Barr和J.H.Goodnight两位教授开始开发,1975年创建了美国SAS研究所(SASInstituteInc.)。
之后推出的SAS系统始终以领先的技术和可靠的支持著称于世。
通过不断发展和完善,目前已成为大型集成应用软件系统。
SAS系统具有统计分析方法丰富、信息储存简单、语言编程能力强、能对数据连续处理、使用简单等特点。
SAS是一个出色的统计分析系统,它汇集了大量的统计分析方法,从简单的描述统计到复杂的多变量分析,编制了大量的使用简便的统计分析过程。
二、SAS系统运行的几个重要前提条件
(一)SAS系统运行时要同时打开的文件较多,因此在微型计算机的系统配置文件CONFIG.SYS中应指定FILES=50或以上;
(二)SAS系统软件有时间租期限制,因此只有机器时间(DATE)在软件有效期内才能运行。
时间租期取决于SAS出售版本日期,即所谓的SAS诞生日(BIRTHDAY)。
(三)SAS系统应全部安装到硬盘的SAS子目录下,硬盘应至少有10M空间。
三、SASforWindows的启动与退出
(一)启动SASforWindows的启动,按如下步骤进行。
开机后,直接用鼠标双击桌面上SAS系统的快捷键图标,自动显示主画面(见附图-1),即可进入SAS系统。
附图-1SAS主画面
(二)退出当用完SASforWindows,需要退出时,可以单击【File】,选择【Exit】,或者,单击×(关闭)按钮,立即显示:
附图-2退出SAS视窗
如果确认需要退出SASforWindows,单击确定按钮;如果需要继续使用SASforWindows,单击取消按钮。
四、SAS程序结构、程序的输入、修改调试和运行
(一)程序结构在SAS系统中任何一个完整的处理过程均可分为两大步——数据步和过程步来完成。
数据步——将不同来源的数据读入SAS系统建立起SAS数据集。
每一个数据步均由data语句开始,以run语句结束。
过程步——调用SAS系统中已编好的各种过程来处理和分析数据集中的数据。
每一个过程步均以proc语句开始,run语句结束,并且每个语句后均以“;”结束。
(二)程序的输入、修改调试和运行SAS程序只能在PGM窗口输入、修改,并写在PGM窗口预先设置好的行号区的右边。
SAS程序语句可以使用大写或小写字母或混合使用来输入,每个语句中的单词或数据项间应以空格隔开。
每行输入完后加上“;”,但在数据步中cards语句后面的数据行不能加“;”,必须等到数据输入完后提行单独加“;”。
在键入过程中可移动光标对错误进行修改。
SAS语句书写格式相当自由,可在各行的任何位置开始语句的书写。
一个语句可以连续写在几行中,一行中也可以同时写上几个语句,但每个语句后面必须用“;”隔开。
当一个程序输入完后,是否能运行和结果是否正确,只有将其发送到SAS系统中心去执行后,在LOG和OUTPUT窗口检查才能确定。
发送程序的命令为F8功能键或SUBMIT。
当程序发送到SAS系统后,PGM的程序语句全部自动清除,LOG窗口将逐步记下程序运行的过程和出现的错误信息(用红色提示错误)。
如果过程步没有错误,运行完成后,通常会在OUTPUT窗口打印出结果;如果程序运行出错,则需要在PROGRAMEDITOR窗口用RECALL(或F4)命令调回已发送的程序进行修改。
五、统计方法的SAS程序
下面介绍本教材所涉及的统计方法的SAS程序。
读者应注意,所提供的这些程序并不是一成不变的,根据分析的需要,每一种程序中各语句都有不同的选项,下面的程序只给出了一些最基本的语句。
只要大家熟悉并掌握了SAS程序,就可以根据需要灵活应用。
(一)直线回归分析
dataweighted_regression;
inputfreqamount_pamount_a@@;
cards;
38.900.28358.410.32049.800.27688.090.299119.000.267
710.220.25548.560.29068.780.295210.080.26399.900.270
;
procreg;
modelamount_a=amount_p;
weightfreq;
run;
1、加权回归(教材【例1.1】)
程序说明:
加权回归可以用reg过程进行,freq变量为每个观测体的次数,weightfreq指令指定用freq为各观测体的加权值。
分析结果:
方差分析部分显示了对直线回归方程的显著性检验结果,F值等于15.29,P=0.0045,说明水稻蛋白质含量(amount_p)与氨基酸含量(amount_a)间的直线回归关系极显著。
RootMSE是误差均方的平方根,DepMean是依变量平均数,C.V.是依变量的变异系数,由RootMSE/DepMean计算而得,本例为10.55454%。
R-Square是决定系数,AdjR-Square是调整后的R2,由1-(1-R2)(n-1)/dfe计算,其中dfe是误差项的自由度。
参数估计部分给出了回归截距及回归系数的估计值及显著性检验的结果。
-----------------------------------------------------------------------------------------------------------------------------------------
TheREGProcedure
----------------------------------------------------------------------------------------------------------------------------------------
Model:
MODEL1
DependentVariable:
amount_a
Weight:
freq
----------------------------AnalysisofVariance(方差分析,进行回归方程的显著性检验)----------------------------
SumofMean
SourceDFSquaresSquareFValuePr>F
Model10.013410.0134115.290.0045
Error80.007010.00087686
CorrectedTotal90.02042
RootMSE0.02961R-Square0.6565
DependentMean0.28056AdjR-Sq0.6136
CoeffVar10.55454
-------------------------------------ParameterEstimates(参数估计及其显著性检验)-----------------------------------
ParameterStandard
VariableDFEstimateErrortValuePr>|t|
Intercept10.471090.048889.64<.0001
amount_p1-0.020840.00533-3.910.0045
----------------------------------------------------------------------------------------------------------------------------------------
datareg_with_rep;
inputtxy@@;
cards;
149.0016.60149.3016.80149.5016.80149.8016.90150.0017.00150.2017.00
249.0016.70249.3016.80249.5016.90249.8017.00250.0017.10250.2017.10
;
procsort;
byx;
run;
procrsreg;
modely=x/lackfitcovar=1;
run;
2、有重复试验观测数据的直线回归(教材【例1.2】)
程序说明:
有重复试验观测数据的直线回归用rsreg过程进行,在model选项中指定lackfit进行回归模型的失拟性检验,选项covar=1指定进行直线回归分析。
分析结果包括响应变量的统计描述、直线回归显著性检验、失拟性检验和回归参数估计及显著性检验四部分。
响应变量为y,ResponseMean、RootMSE、R-Square、Coef.ofVariation分别为响应变量的平均数、误差均方的平方根、响应变量与自变量的决定系数、变异系数。
直线回归显著性检验F=74.184,P=0.0000,表明所建立的直线回归方程极显著。
失拟性检验F=0.418,P=0.7908,表明用直线回归方程来拟合实测点是恰当的,即可以认为所选用的数学模型恰当。
直线回归的回归截距和回归系数的估计值及显著性检验结果如下:
----------------------------------------------------------------------------------------------------------------------------------------
TheRSREGProcedure
---------------------------------------------ResponseSurfaceforVariabley(响应面分析)------------------------------
ResponseMean16.891667
RootMSE0.056545
R-Square0.8812
CoefficientofVariation0.3348
TypeISum
RegressionDFofSquaresR-SquareFValuePr>F
Covariates10.2371930.881274.18<.0001
Linear000.0000..
Quadratic000.0000..
Crossproduct000.0000..
TotalModel10.2371930.881274.18<.0001
Sumof
ResidualDFSquaresMeanSquareFValuePr>F
LackofFit40.0069740.0017430.420.7908
PureError60.0250000.004167
TotalError100.0319740.003197
Parameter
Estimate
StandardfromCoded
ParameterDFEstimateErrortValuePr>|t|Data
Intercept1-0.0881581.971485-0.040.9652-0.088158
x10.3421050.0397208.61<.00010.342105
--------------------------------------------------------------------------------------
3、能直线化的曲线回归分析
datapower;
inputfresh_wbreath_s@@;
y1=log(breath_s);x1=log(fresh_w);
cards;
1092383280211251220010310744574806
;
procgplot;
plotbreath_s*fresh_w='*';
run;
procreg;
modely1=x1;
run;
(1)幂函数(教材【例1.4】)
程序说明:
y1=log(breath_s)和x1=log(fresh_w)是对幂函数进行直线化;指令procgplot用来绘制breath_s与fresh_w间的散点图;modely1=x1就是对直线化后的y1与x1两变量进行直线回归分析。
分析结果:
方差分析部分显示了直线回归方程的显著性结果,F值等于421.108,P=0.0001,说明x1与y1间的直线回归关系极显著。
RootMSE是误差均方的平方根,DepMean是依变量平均数,C.V.是依变量的变异系数,由RootMSE/DepMean计算而得,本例为4.47854%。
R-Square是决定系数,AdjR-Square是调整后的R2,由1-(1-R2)(n-1)/dfe计算,其中dfe是误差项的自由度。
参数估计部分给出了回归截距及回归系数的估计值及显著性检验的结果。
读者只需将回归截距还原
,即得幂函数回归方程
。
------------------------------------------------------------------------------------------------------------------------------------------
TheREGProcedure
------------------------------------------------------------------------------------------------------------------------------------------
Model:
MODEL1
DependentVariable:
y1
-----------------------------AnalysisofVariance(方差分析,对回归关系进行显著性检验)-------------------------
SumofMean
SourceDFSquaresSquareFValuePr>F
Model16.102256.10225421.11<.0001
Error60.086950.01449
CorrectedTotal76.18920
RootMSE0.12038R-Square0.9860
DependentMean2.68789AdjR-Sq0.9836
CoeffVar4.47854
--------------------------------ParameterEstimates(参数估计及其显著性检验)------------------------------------------
ParameterStandard
VariableDFEstimateErrortValuePr>|t|
Intercept16.051880.1693635.73<.0001
x11-0.699790.03410-20.52<.00011
-------------------------------------------------------------------------------------
附图-3甘薯块茎鲜重与呼吸强度间的散点图
dataexponential;
inputtemplaying@@;
log_laying=log(laying);
cards;
21723112521272429663211635325
;
procgplot;
plotlaying*temp='$'/caxis=blue;
run;
procreg;
modellog_laying=temp;
run;
(2)指数函数(教材【例1.5】)
程序说明:
log_laying=log(laying)是对指数函数进行直线化;指令procgplot用来绘制laying与temp间的散点图;modellog_laying=temp就是对直线化后的log_laying与temp两变量进行直线回归分析。
分析结果:
方差分析部分显示了直线回归方程的显著性结果,F值等于338.376,P=0.0001,说明temp与log_laying间的直线回归关系极显著。
RootMSE是误差均方的平方根,DepMean是依变量平均数,C.V.是依变量的变异系数,由RootMSE/DepMean计算而得,本例为4.97897%。
R-Square是决定系数,AdjR-Square是调整后的R2,由1-(1-R2)(n-1)/dfe计算,其中dfe是误差项的自由度。
参数估计部分给出了回归截距及回归系数的估计值及显著性检验的结果。
读者只需将回归截距还原
,即得指数函数回归方程
。
---------------------------------------------------------------------------------------------------------------------
TheREGProcedure
----------------------------------------------------------------------------------------------------------------------------------------
Model:
MODEL1
DependentVariable:
log_laying
-------------------------------AnalysisofVariance(方差分析,对回归关系进行显著性检验)------------------------
SumofMean
SourceDFSquaresSquareFValuePr>F
Model110.9521410.95214338.38<0.0001
Error50.161830.03237
CorrectedTotal611.11397
RootMSE0.17991R-Square0.9854
DependentMean3.61335AdjR-Sq0.9825
CoeffVar4.97897
---------------------------------------ParameterEstimates(参数估计及其显著性检验)-----------------------------------
ParameterStandard
VariableDFEstimateErrortValuePr>|t|
Intercept1-3.855290.41167-9.370.0002
temp10.272290.0148018.40<0.0001
----------------------------------------------------------------------------------------------------------------------------------------
附图-4红铃虫的产卵数与温度间的散点图
datalogistic;
k=2.827;
inputweekweight@@;
log_weight=log((k-weight)/weight);
cards;
20.3040.8661.7382.20102.47122.67142.80
;
procgplot;
plotweight*week='*'/caxis=blue;
run;
procreg;
modellog_weight=week;
run;
(3)Logistic生长曲线(教材【例1.6】)
程序说明:
k=2.827是预先计算的,log_weight=log((k-weight)/weight)是对Logistic生长曲线进行直线化;指令procgplot用来绘制weight与week间的散点图;modellog_weight=week就是对直线化后的log_weight与week两变量进行直线回归分析。
分析结果:
方差分析部分显示了直线回归方程的显著性结果,F值等于287.977,P=0.0001,说明week与log_weight间的直线回归关系极显著。
RootMSE是误差均方的平方根,DepMean是依变量平均数,C.V.是依变量的变异系数,由RootMSE/DepMean计算而得,本例为-27.81101%。
R-Square是决定系数,AdjR-Square是调整后的R2,由1-(1-R2)(n-1)/dfe计算,其中dfe是误差项的自由度。
参数估计部分给出了回归截距及回归系数的估计值及显著性检验的结果。
读者只需将回归截距还原
、
,即得指数函数回归方程
。
------------------------------------------------------------------------------------------------------------------------------------------
TheREGProcedure
-----------------------------------------------------------------------------------------------------------------------------------------
Model:
MODEL1
DependentVariable:
log_weight
------------------------------------AnalysisofVariance(方差分析,对回归关系进行显著性检验)---------------------
SumofMean
SourceDFSquaresSquareFValuePr>F
Model130.2809930.28099287.98<0.0001
Error50.525750.10515
CorrectedTotal630.80674