整理回归分析实验程序SAS版.docx
《整理回归分析实验程序SAS版.docx》由会员分享,可在线阅读,更多相关《整理回归分析实验程序SAS版.docx(7页珍藏版)》请在冰豆网上搜索。
整理回归分析实验程序SAS版
procimportout=xt49/*使用import过程导入数据并输出到数据集xt4.9*/
datafile="E:
\xt49.xls"
dbms=excel2000replace;
getnames=yes;/*首行为变量名*/
run;
procplotdata=xt49;/*对xt49绘图*/
ploty*x='*';/*以x为横坐标,y为纵坐标,以*为各点,画散点图*/
run;
proccorrpearsondata=xt49;/*对xt49运行相关分析过程*/
varyx;/*计算y和x的Pearson相关系数*/
run;
procregdata=xt49;/*对xt4.9运行回归分析过程*/
modely=x;/*建立以y为因变量,以x为自变量的线性回归方程*/
modely=x/prdw;/*建立以y为因变量,以x为自变量的线性回归方程,p是要求输出拟合值,r是要求输出残差值,dw是要求输出DW检验统计量的值*/
modely=x1-x4/vif;/*建立以y为因变量,以x1-x4为自变量的线性回归方程,vif是要求输出各自变量的VIF值*/
outputout=resp=yhatr=residual;/*输出拟合值和残差值至数据集res,以便绘制残差图*/
run;
-------------------------以下是绘制残差图的程序,
datares_new;/*创建新数据集res_new*/
setres;/*先把res数据集复制过来*/
lag1residual=lag1(residual);/*lagn(n自定)函数可把一变量的各观测值移后n位;residual即
lag1residual即
*/
t=_n_;/*_n_是data步内读取观测值的计数器变量,从1开始,每读取一观测值自加1,因此变量t的观测值即为期数1,2,...,n*/
run;
procplotdata=res_new;/*绘制残差图*/
plotresidual*lag1residual='*';/*以residual即残差值为纵坐标,以residual2即拟合值为横坐标*/
plotresidual*t='*';/*以residual即残差值为纵坐标,以t即拟合值为横坐标*/
run;
-------------------以下是进行一阶差分后建立回归模型以及其自相关检验的程序
dataet49_new;/*创建新数据集ch4_new*/
setxt49;/*先把ch4数据集复制过来*/
difx=x-lag1(x);/*lagn(n自定)函数可把一变量的各观测值移后n位;对x各观测值作一阶差分*/
dify=y-lag1(y);/*lagn(n自定)函数可把一变量的各观测值移后n位;对y各观测值作一阶差分*/
run;
procreg;/*对ex4.9_new运行回归分析过程*/
modeldify=difx/prdw;/*建立以y为因变量,以difx为自变量的线性回归方程,p是要求输出拟合值,r是要求输出残差值,dw是要求输出DW检验统计量的值*/
outputout=resp=yhatr=residual;/*输出拟合值和残差值至数据集res,以便绘制残差图*/
run;
datares_new;/*创建新数据集res_new*/
setres;/*先把res数据集复制过来*/
lag1residual=lag1(residual);/*lagn(n自定)函数可把一变量的各观测值移后n位;residual即,lag1residual即*/
t=_n_;/*_n_是data步内读取观测值的计数器变量,从1开始,每读取一观测值自加1,因此变量t的观测值即为期数1,2,...,n*/
run;
procplotdata=res_new;/*绘制残差图*/
plotresidual*lag1residual='*';/*以residual即残差值为纵坐标,以residual2即拟合值为横坐标*/
plotresidual*t='*';/*以residual即残差值为纵坐标,以t即拟合值为横坐标*/
run;
_________异常值的的识别
假定有一数据集ch,因变量为y,自变量为x1-x2(或x)。
1.求各观测体的学生化残差值的程序:
procreg;/*对ch运行回归分析过程*/
modely=x1-x2;/*建立以y为因变量,以x1-x2为自变量的线性回归方程*/
outputout=abnormalstudent=sre;/*输出各观测体的学生化残差值至数据集abnormal*/
run;
procprintdata=abnormal;/*打印出abnormal数据集中的数据,查看各观测体的学生化残差值*/
run;
运行程序后查看数据集abnormal,StudentizedResidual列即为各观测体的学生化残差值。
2.求各观测体的库克距离统计量值的程序:
procreg;/*对ch运行回归分析过程*/
modely=x1-x2;/*建立以y为因变量,以x1-x2为自变量的线性回归方程*/
outputout=abnormalcookd=cookd;/*输出各观测体的库克距离统计量值至数据集abnormal*/
run;
procprintdata=abnormal;/*打印出abnormal数据集中的数据,查看各观测体的库克距离统计量值*/
run;
自变量的选择
_________最优子集
假定有一数据集ch,因变量为y,自变量为x1-xp(p自定)。
求各选模型的
、
和AIC的程序:
procregdata=ch;/*对ch运行回归分析程序*/
modely=x1-xp/selection=adjrsqcpaic;/*建立以y为因变量,以x1-xp为自变量的线性回归方程*/
/*selection=adjrsq是要求输出所有选模型的值,selection=cp是要求输出所有选模型的值,aic是要求输出所有选模型的AIC值,这三个可以同时用*/
run;
输出结果中AdjustedR-SquareSelectionMethod表格的每一行都是其中一个选模型的数据,VariablesinModel列各值即该选模型所含的自变量,AdjustedR-Square列各值即该选模型的
,C(p)列各值即该选模型的
,AIC列各值即该选模型的AIC值。
________逐步回归
假定有一数据集ch,因变量为y,自变量为x1-xp(p自定)。
1.使用逐步回归的“前进法”建模的程序:
procregdata=ch;/*对ch运行回归分析程序*/
modely=x1-xp/selection=forward;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=forward是要求使用逐步回归的"前进法"*/
run;
输出结果中ForwardSelection:
Stepx(x=1,2,3,…,p)表格即前进法第x步的工作成果,每一步中的VariablexiEntered(i=1,2,…,p)即自变量xi被引入模型。
也可以看最后总结的SummaryofForwardSelection,其Step列即各步骤序号,VariableEntered列即各步骤中被引入的自变量。
建立的线性回归方程各回归参数的估计值正是最后一步的表格中ParameterEstimate列的各值。
2.使用逐步回归的“后退法”建模的程序:
procregdata=ch;/*对ch运行回归分析程序*/
modely=x1-xp/selection=backward;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=backward是要求使用逐步回归的"后退法"*/
run;
输出结果中BackwardElimination:
Step0表格即后退法第0步的工作成果,该步骤中的AllVariablesEntered表示首先把所有自变量引入模型;BackwardElimination:
Stepx(x=1,2,3,…,p-1)表格即后退法第x步的工作成果,每一步中的VariablexiRemoved(i=1,2,…,p)即把自变量xi从模型中删除。
也可以看最后总结的SummaryofBackwardElimination,其Step列即各步骤序号,VariableRemoved列即各步骤中被删除的自变量。
建立的线性回归方程各回归参数的估计值正是最后一步的表格中ParameterEstimate列的各值。
3.使用逐步回归的“逐步回归法”建模的程序:
procregdata=ch;/*对ch运行回归分析程序*/
modely=x1-xp/selection=stepwise;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=stepwise是要求使用逐步回归的"逐步回归法"*/
run;
输出结果中StepwiseSelection:
Stepx(x=1,2,3,…,p)表格即逐步回归法第x步的工作成果,每一步中的VariablexiEntered(i=1,2,…,p)即自变量xi被引入模型。
也可以看最后总结的SummaryofStepwiseSelection,其Step列即各步骤序号,VariableEntered列即各步骤中被引入的自变量。
建立的线性回归方程各回归参数的估计值正是最后一步的表格中ParameterEstimate列的各值。
主成份回归
假定有一数据集ch,因变量为y,自变量为x1-xp(p自定)。
对样本数据进行主成分分析的程序:
在可行性研究时应进行安全预评价的建设项目有:
procprincompdata=ch;/*对ch运行主成分分析过程*/
三、安全预评价报告的基本内容varx1-xp;/*分析x1-xp的主成分*/
run;
本章中环境影响评价制度,2010年的真题中全部集中在环境影响评价这一节。
环境保护的对象,环境影响评价制度,环境影响评价文件的组成、文件的报批等是历年考试的热点。
输出结果中EigenvaluesoftheCorrelationMatrix表格即对标准化数据的相关矩阵的说明,Eigenvalue列各值即各特征值,Cumulative列各值即累计贡献率,由此可决定要删除贡献率最小的主成分的个数m。
procregdata=choutest=pcr;/*对ch运行回归过程,把主成分回归的建模结果输出到数据集pcr*/
1.依法评价原则;modely=x1-xp/pcomit=m;/*建立回归方程,pcomit=m是要求使用主成分回归法并删除贡献率最小的m个主成分,剩下p-m个主成分累计贡献率应该在95%以上,m可为列表即多个值,如:
pcomit=1,2*/
run;
procprintdata=pcr;/*打印出主成分回归建模的结果*/
3)按行业分。
国家污染物排放标准分为跨行业综合性排放标准和行业性排放标准。
run;
输出结果中_MODEL_列表示各模型名称,_PCOMIT_列各值表示该模型删除的贡献率最小的主成分的个数,与其同一行的对应Intercept和x1-xp的值表示该模型中的回归常数和各自变量的系数估计值,可据此写出主成分回归方程。
(五)规划环境影响评价的跟踪评价岭回归
procregdata=ch10outest=rid;/*outest选项要求把岭回归分析的结果输出至数据集rid*/
8.编制安全预评价报告modely=x1-x6/ridge=0.1to1by0.1;/*noint要求删除截距,ridge=0.1to1by0.1要求分别取岭回归的k为0.1,0.2,…,0.9,1建立岭回归方程*/
plot/ridgeplot;/*绘制岭迹图以选择k值*/
安全评价的基本原则是具备国家规定资质的安全评价机构科学、公正和合法地自主开展安全评价。
run;
6.提出安全对策措施建议procprintdata=rid;/*打印岭回归分析结果*/
run;
上面程序中的“0.1to1by0.1”可随时变更起始点或步长,如“0.05to1by0.2”即要求分别取岭回归的k为0.05,0.25,0.45,…,0.85建立岭回归方程。
1.环境影响评价工作等级的划分观察输出结果的岭迹图,若当
时各自变量的岭迹趋于稳定,则可取k=x,从打印出的岭回归结果表中找到_RIDGE_列值为x的那一行,便可知道对应各自变量的岭回归系数。