《回归分析实验程序-SAS》由会员分享,可在线阅读,更多相关《回归分析实验程序-SAS(11页珍藏版)》请在金锄头文库上搜索。
1、proc import out= xt49 /*使用import过程导入数据并输出到数据集xt4.9*/datafile=E:xt49.xlsdbms=excel2000 replace;getnames=yes; /*首行为变量名*/run;proc plot data=xt49;/*对xt49绘图*/plot y*x=*;/*以x为横坐标,y为纵坐标,以*为各点,画散点图*/run;proc corr pearson data=xt49;/*对xt49运行相关分析过程*/var y x;/*计算y和x的Pearson相关系数*/run;proc reg data=xt49;/*对xt4.9
2、运行回归分析过程*/model y=x;/*建立以y为因变量,以x为自变量的线性回归方程*/model y=x/p r dw;/*建立以y为因变量,以x为自变量的线性回归方程,p是要求输出拟合值,r是要求输出残差值, dw是要求输出DW检验统计量的值*/model y=x1-x4/vif;/*建立以y为因变量,以x1-x4为自变量的线性回归方程,vif是要求输出各自变量的VIF值*/1 / 11output out=res p=yhat r=residual;/*输出拟合值和残差值至数据集res,以便绘制残差图*/run;-以下是绘制残差图的程序,data res_new;/*创建新数据集re
3、s_new*/set res;/*先把res数据集复制过来*/lag1residual=lag1(residual);/*lagn(n自定)函数可把一变量的各观测值移后n位;residual即,lag1residual即*/t=_n_;/*_n_是data步内读取观测值的计数器变量,从1开始,每读取一观测值自加1,因此变量t的观测值即为期数1,2,.,n*/run;proc plot data=res_new;/*绘制残差图*/plot residual*lag1residual=*;/*以residual即残差值为纵坐标,以residual2即拟合值为横坐标*/plot residual*t
4、=*;/*以residual即残差值为纵坐标,以t即拟合值为横坐标*/run;- -以下是进行一阶差分后建立回归模型以及其自相关检验的程序data et49_new;/*创建新数据集ch4_new*/set xt49;/*先把ch4数据集复制过来*/difx=x-lag1(x);/*lagn(n自定)函数可把一变量的各观测值移后n位;对x各观测值作一阶差分*/dify=y-lag1(y);/*lagn(n自定)函数可把一变量的各观测值移后n位;对y各观测值作一阶差分*/run;proc reg;/*对ex4.9_new运行回归分析过程*/model dify=difx/p r dw;/*建立以
5、y为因变量,以difx为自变量的线性回归方程,p是要求输出拟合值,r是要求输出残差值,dw是要求输出DW检验统计量的值*/output out=res p=yhat r=residual;/*输出拟合值和残差值至数据集res,以便绘制残差图*/run;data res_new;/*创建新数据集res_new*/set res;/*先把res数据集复制过来*/lag1residual=lag1(residual);/*lagn(n自定)函数可把一变量的各观测值移后n位;residual即 ,lag1residual即 */t=_n_;/*_n_是data步内读取观测值的计数器变量,从1开始,每读
6、取一观测值自加1,因此变量t的观测值即为期数1,2,.,n*/run;proc plot data=res_new;/*绘制残差图*/plot residual*lag1residual=*;/*以residual即残差值为纵坐标,以residual2即拟合值为横坐标*/plot residual*t=*;/*以residual即残差值为纵坐标,以t即拟合值为横坐标*/run;_ _ _ _ _ _ _ _ _ 异常值的的识别 假定有一数据集ch,因变量为y,自变量为x1-x2(或x)。 1. 求各观测体的学生化残差值的程序:proc reg;/*对ch运行回归分析过程*/model y=x1
7、-x2;/*建立以y为因变量,以x1-x2为自变量的线性回归方程*/output out=abnormal student=sre;/*输出各观测体的学生化残差值至数据集abnormal*/run;proc print data=abnormal;/*打印出abnormal数据集中的数据,查看各观测体的学生化残差值*/run; 运行程序后查看数据集abnormal,Studentized Residual列即为各观测体的学生化残差值。 2. 求各观测体的库克距离统计量值的程序:proc reg;/*对ch运行回归分析过程*/model y=x1-x2;/*建立以y为因变量,以x1-x2为自变量
8、的线性回归方程*/output out=abnormal cookd=cookd;/*输出各观测体的库克距离统计量值至数据集abnormal*/run;proc print data=abnormal;/*打印出abnormal数据集中的数据,查看各观测体的库克距离统计量值*/run;自变量的选择_ _ _ _ _ _ _ _ _最优子集 假定有一数据集ch,因变量为y,自变量为x1-xp(p自定)。 求各选模型的、和AIC的程序:proc reg data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selection=adjrsq cp aic;/*建立以y为因变量,以
9、x1-xp为自变量的线性回归方程*/*selection=adjrsq是要求输出所有选模型的 值,selectioncp是要求输出所有选模型的 值,aic是要求输出所有选模型的AIC值,这三个可以同时用*/run; 输出结果中Adjusted R-Square Selection Method表格的每一行都是其中一个选模型的数据,Variables in Model列各值即该选模型所含的自变量,Adjusted R-Square列各值即该选模型的,C(p)列各值即该选模型的,AIC列各值即该选模型的AIC值。_ _ _ _ _ _ _ _ 逐步回归假定有一数据集ch,因变量为y,自变量为x1-
10、xp(p自定)。 1. 使用逐步回归的“前进法”建模的程序:proc reg data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selection=forward;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=forward是要求使用逐步回归的前进法*/run; 输出结果中Forward Selection:Step x(x1,2,3,p)表格即前进法第x步的工作成果,每一步中的Variable xi Entered(i=1,2,p)即自变量xi被引入模型。也可以看最后总结的Summary of Forward Selection,其St
11、ep列即各步骤序号,Variable Entered列即各步骤中被引入的自变量。建立的线性回归方程各回归参数的估计值正是最后一步的表格中Parameter Estimate列的各值。 2. 使用逐步回归的“后退法”建模的程序:proc reg data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selection=backward;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=backward是要求使用逐步回归的后退法*/run; 输出结果中Backward Elimination:Step 0表格即后退法第0步的工作成果,该步骤中的All
12、 Variables Entered表示首先把所有自变量引入模型;Backward Elimination:Step x(x1,2,3,p-1)表格即后退法第x步的工作成果,每一步中的Variable xi Removed(i=1,2,p)即把自变量xi从模型中删除。也可以看最后总结的Summary of Backward Elimination,其Step列即各步骤序号,Variable Removed列即各步骤中被删除的自变量。建立的线性回归方程各回归参数的估计值正是最后一步的表格中Parameter Estimate列的各值。 3. 使用逐步回归的“逐步回归法”建模的程序:proc re
13、g data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selection=stepwise;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=stepwise是要求使用逐步回归的逐步回归法*/run; 输出结果中Stepwise Selection:Step x(x1,2,3,p)表格即逐步回归法第x步的工作成果,每一步中的Variable xi Entered(i=1,2,p)即自变量xi被引入模型。也可以看最后总结的Summary of Stepwise Selection,其Step列即各步骤序号,Variable Entered列即各
14、步骤中被引入的自变量。建立的线性回归方程各回归参数的估计值正是最后一步的表格中Parameter Estimate列的各值。主成份回归假定有一数据集ch,因变量为y,自变量为x1-xp(p自定)。 对样本数据进行主成分分析的程序:proc princomp data=ch;/*对ch运行主成分分析过程*/var x1-xp;/*分析x1-xp的主成分*/run; 输出结果中Eigenvalues of the Correlation Matrix表格即对标准化数据的相关矩阵的说明,Eigenvalue列各值即各特征值,Cumulative列各值即累计贡献率,由此可决定要删除贡献率最小的主成分的
15、个数m。proc reg data=ch outest=pcr;/*对ch运行回归过程,把主成分回归的建模结果输出到数据集pcr*/model y=x1-xp/pcomit=m;/*建立回归方程,pcomit=m是要求使用主成分回归法并删除贡献率最小的m个主成分,剩下p-m个主成分累计贡献率应该在95以上,m可为列表即多个值,如:pcomit=1,2*/run;proc print data=pcr;/*打印出主成分回归建模的结果*/run; 输出结果中_MODEL_列表示各模型名称,_PCOMIT_列各值表示该模型删除的贡献率最小的主成分的个数,与其同一行的对应Intercept和x1-xp的值表示该模型中的回归常数和各自变量的系数估计值,可据此写出主成分回归方程。岭回归proc reg data=ch10 outest=rid;/*outest选项要求把岭回归分析的结果输出至数据集rid*/model y=x1-x6/ridg