《回归分析实验程序-sas版》由会员分享,可在线阅读,更多相关《回归分析实验程序-sas版(10页珍藏版)》请在金锄头文库上搜索。
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.
2、9运行回归分析过程*/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值*/output out=res p=yhat r=residual;/*输出拟合值和残差值至数据集res,以便绘制残差图*/run;-以下是绘制残差图的程序,data res_new;/*创建新数据集res_ne
3、w*/set res;/*先把res数据集复制过来*/lag1residual=lag1(residual);/*lagn(n自定)函数可把一变量的各观测值移后n位;residual即 te,lag1residual即 1te-*/t=_n_;/*_n_是data步内读取观测值的计数器变量,从1开始,每读取一观测值自加1,因此变量t 的观测值即为期数1,2,.,n*/run;proc plot data=res_new;/*绘制残差图*/plot residual*lag1residual=*;/*以residual即残差值为纵坐标,以residual2即拟合值为横坐标*/plot resid
4、ual*t=*;/*以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 d
5、w;/*建立以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步内读取观测值的计数器变量
6、,从1开始,每读取一观测值自加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 运行回归分析过程
7、 */model y=x1-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;/*建立
8、以 y为因变量,以x1-x2为自变量的线性回归方程*/output out=abnormal cookd=cookd;/*输出各观测体的库克距离统计量值至数据集abnormal*/run;proc print data=abnormal;/*打印出abnormal数据集中的数据,查看各观测体的库克距离统计量值*/run;自变量的选择_ _ _ _ _ _ _ _ _最优子集假定有一数据集 ch,因变量为 y,自变量为 x1-xp(p 自定)。求各选模型的 、 和 AIC 的程序:2aRpCproc reg data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selecti
9、on=adjrsq cp aic;/*建立以y为因变量,以x1-xp为自变量的线性回归方程*/*selection=adjrsq是要求输出所有选模型的 值,selection cp是要求输出所有选模型的 值,aic是要求输出所有选模型的AIC值,这三个可以同时用*/run; 输出结果中 Adjusted R-Square Selection Method 表格的每一行都是其中一个选模型的数据,Variables in Model 列各值即该选模型所含的自变量,Adjusted R-Square 列各值即该选模型的,C(p) 列各值即该选模型的 ,AIC 列各值即该选模型的2aRpCAIC 值。
10、_ _ _ _ _ _ _ _ 逐步回归假定有一数据集 ch,因变量为 y,自变量为 x1-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)即自变
11、量 xi 被引入模型。也可以看最后总结的 Summary of Forward Selection,其 Step 列即各步骤序号,Variable Entered 列即各步骤中被引入的自变量。建立的线性回归方程各回归参数的估计值正是最后一步的表格中 Parameter Estimate 列的各值。2. 使用逐步回归的“后退法”建模的程序:proc reg data=ch;/*对ch运行回归分析程序*/model y=x1-xp/selection=backward;/*建立以y为因变量,以x1-xp为自变量的线性回归方程,selection=backward是要求使用逐步回归的后退法*/run
12、;输出结果中 Backward Elimination: Step 0 表格即后退法第0 步的工作成果,该步骤中的 All 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 列即各步骤中被删除的自变量。建立的线性回归方程
13、各回归参数的估计值正是最后一步的表格中 Parameter Estimate 列的各值。3. 使用逐步回归的“逐步回归法”建模的程序:proc reg 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)即自变量
14、xi 被引入模型。也可以看最后总结的 Summary of Stepwise Selection,其 Step 列即各步骤序号,Variable Entered 列即各步骤中被引入的自变量。建立的线性回归方程各回归参数的估计值正是最后一步的表格中 Parameter Estimate 列的各值。主成份回归假定有一数据集 ch,因变量为 y,自变量为 x1-xp(p 自定)。对样本数据进行主成分分析的程序:proc princomp data=ch;/*对ch 运行主成分分析过程*/var x1-xp;/*分析x1-xp的主成分*/run;输出结果中 Eigenvalues of the Cor
15、relation Matrix 表格即对标准化数据的相关矩阵的说明,Eigenvalue 列各值即各特征值,Cumulative 列各值即累计贡献率,由此可决定要删除贡献率最小的主成分的个数 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;/
16、*打印出主成分回归建模的结果*/run;输出结果中_MODEL_列表示各模型名称,_PCOMIT_列各值表示该模型删除的贡献率最小的主成分的个数,与其同一行的对应Intercept 和x1-xp的值表示该模型中的回归常数和各自变量的系数估计值,可据此写出主成分回归方程。岭回归proc reg data=ch10 outest=rid;/*outest选项要求把岭回归分析的结果输出至数据集rid*/model y=x1-x6/ridge=0.1 to 1 by 0.1;/*noint要求删除截距,ridge=0.1 to 1 by 0.1要求分别取岭回归的k为0.1,0.2,0.9,1建立岭回归方程*/plot/ridgeplot;/*绘制岭迹图以选择k值*/run;proc print data=rid;/*打印岭回归分析结果