应用回归分析习题4.9答案
4.9
(1)用普通最小二乘法建立y与x的回归方程,并画出残差散点图. 【程序】
data d1; input x y@@; cards;
679 0.79 292 0.44 1012 0.56 493 0.79 582 2.7 1156 3.64 997 4.73 2189 9.5 1097 5.34 2078 6.85 1818 5.84 1700 5.21 747 3.25 2030 4.43 1643 3.16 414 0.5 354 0.17 1276 1.88 745 0.77 435 1.39 540 0.56 874 1.56 1543 5.28 1029 0.64 710 4 1434 0.31 837 4.2 1748 4.88 1381 3.48 1428 7.58 1255 2.63 1777 4.99 370 0.59 2316 8.19 1130 4.79 463 0.51 770 1.74 724 4.1 808 3.94 790 0.96 783 3.29 406 0.44 1242 3.24 658 2.14 1746 5.71 468 0.64 1114 1.90 413 0.51 1787 8.33 3560 14.94 1495 5.11 2221 3.85 1526 3.93 ;
proc print; run;
proc plot data=d1; plot y*x='.'; run;
由散点图知,y和x满足线性关系,建立回归方程,作残差散点图。
proc reg data=d1 ; model y=x/r;
output out=out r=residual; run;
proc gplot data=out; plot residual*x; run;
P值
R方=0.7046,调整R方=0.6988,回归方程的拟合度较高。
常数项P值>0.05,不显著。 去掉常数项重新拟合。
proc reg data=d1; model y=x/noint; run;
P值
回归方程为 y=0.00314x 残差散点图为:
(2)诊断该问题是否存在异方差 残差散点图呈发散状态,认为存在异方差。 利用等级相关系数法判断是否存在异方差。
proc reg data=d1; model y=x/r noint;
output out=out r=residual; run; data out1; set out;
z=abs(residual);
run;
proc corr data=out1 spearman; var x z; run;
自变量xi显著相关,存在异方差。
(3)如果存在异方差,用幂指数型的权函数建立加权最小二乘回归方程。
data d2; set d1;
array row{10} w1-w10;
array p{10}(-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5); do i=1 to 10; row{i}=1/x**p{i}; end; run;
proc print; run;
proc reg data=d2; model y=x/r; weight w1;
output out=out r=residual; run;
proc gplot data=out; plot residual*x; run;
P值
R方=0.8175,调整R方=0.8139,回归方程拟合度较高。
参数检验P值均
残差散点图为:
残差散点图仍然呈发散形状,认为存在异方差。
data d3; set d1; y=sqrt(y); run;
proc print; run;
proc reg data=d3; model y=x/r;
output out=out r=residual; run;
proc gplot data=out;
plot residual*x; run;
P值
R方=0.6485,调整R方=0.6416,拟合度较高。
参数检验P值均
残差散点图为: