- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回归诊断及自变量的选择
异方差的检验:图示法,等级相关系数法,white检验
解决办法:加权最小二乘估计,方差变换
proc import out=xt49 /*使用import过程导入数据并输出到数据集xt49*/
datafile=d:\xt49.xls
dbms=excel2000 replace;
getnames=yes; /*首行为变量名*/
run;
proc print data=xt49;
run;
proc reg data=xt49;
model y=x/clb p r spec DW;/*其中p是预测值,r是残差,clb是给出回归系数的区间估计,spec可以给出怀特检验的结果DW给出一阶线性自相关检验*/
output out=out r=residual;/*把回归的结果输出在文件out里,残差给变量名residual */
run;
proc print data=out;
run;
proc plot data=out;
plot residual*x;/*做残差图,检验是否存在异方差*/
run;
/*下面利用残差的绝对值和X间的 spearman的相关系数检验异方差*/
data out1 ;
set out; /*调用数据集out*/
z=abs(residual); /*求残差的绝对值*/
run;
proc print data=out1 ;
run;
proc corr data=out1 outs=out2; /*corr指做相关分析 outs=out2表示将等级相关检验的结果输出到out2*/
var x z;
run;
/*下面用自变量的幂函数进行加权最小二乘估计*/
title”wls method”;
data w1;/*建立新的数据集w1,以便计算权重*/
set out1;
keep y x;
run;
data w2;/*建立新的数据集w,以保留权重*/
set w1;
array row{10} w1-w10;/* w1-w10为不同m时的权数值*/
array p{10}(-2,-1.5,-1,-0.5,0.5,1,1.5,2,2.5,3);
do i=1 to 10;
row(i)=1/x**p{i};
end;
run;
proc print data=w2;
run;
proc reg data=w2;
model y=x/r;
weight w1;
output out=test r=residual;
run;
proc gplot data=test;
plot residual*x;
run;
2.自相关性检验:图示法,dw检验
解决办法:差分法,迭代法
proc import out=xt413 /*使用import过程导入数据并输出到数据集xt413*/
datafile=d:\xt413.xls
dbms=excel2000 replace;
getnames=yes; /*首行为变量名*/
run;
(差分法)data diff;
set xt413;
diffx=dif(x);
diffy=dif(y);
run;
lagx=lag1(x);
proc reg data=xt413;
model diffy=diffx noint/DW/clb p r spec DW;/*其中p是预测值,r是残差,clb是给出回归系数的区间估计,spec可以给出怀特检验的结果DW给出一阶线性自相关检验*/
output out=out r=residual;/*把回归的结果输出在文件out里,残差给变量名residual */
run;
proc print data=out;
run;
以下程序没有调试成功
%macro WLS(indata);/*WLS宏,putdata为待分析数据*/
%do j=1 %to 10;
%analyze(indata,j);
%Drawplot(indata,j);
%end;
%mend;
%macro analyze(indata,count);/*回归过程宏,indata为
分析数据,count为计数值*/
proc reg data= indata;
model y=x/r;
weight wcount;
output out=w2 r=residcount;
run;
%mend;
%macro drawplot(indata,count);/*绘制残差图宏,indata为
待分析数据,count为计数值*/
Title WLS Method weight=wcount;
proc gplot data=indata;
plot residcount*x;
%mend
文档评论(0)