201030980105
指导教师 | 丁仕虹 |
学院名称 | 理学院 | 专业名称 | 统计学 | ||
设计提交日期 | 2012年12月 |
1.课程设计简述--------------------------------------------------------2
2.多元线性回归--------------------------------------------------------3
3.违背基本假设的情况-------------------------------------------------5
3.1 异方差性--------------------------------------------------------5
3.2 自相关性--------------------------------------------------------6
3.3 异常值检验------------------------------------------------------6
4.自变量的选择与逐步回归---------------------------------------------7
4.1 所有子集回归----------------------------------------------------7
4.2 逐步回归--------------------------------------------------------8
5.多重共线性的情形及其处理-----------------------------------------10
5.1 多重共线性诊断------------------------------------------------10
5.2 消除多重共线性------------------------------------------------11
6.岭回归--------------------------------------------------------------12
7.主成分回归----------------------------------------------------------14
8.含定性变量的回归模型----------------------------------------------15
Logistic模型-------------------------------------------------------15
9.附录(程序代码)---------------------------------------------------17
1.课程设计简述
本课程设计的主题是讨论国内生产总值GDP与一些因素,包括进出口额、旅客客运量、第一产业固定投资额、居民消费价格指数等10个因素之间的统计关系。数据来源是网络数据库—中宏数据库,时间是2008年1月到2012年9月,以季度为时间单位。变量的定义在表1中给出,变量具体数值在表2给出。
变量 | 定义 |
y | GDP/亿元 |
x1 | 进出口总额/亿美元 |
x2 | 贸易差额/亿美元 |
x3 | 实际利用外商直接投资金额/亿美元 |
x4 | 固定资产投资施工项目个数/百个 |
x5 | 第一产业固定资产投资/亿元 |
x6 | 第二产业固定资产投资/亿元 |
x7 | 第三产业固定资产投资/亿元 |
x8 | 居民消费价格指数/% |
x9 | 商品零售额/亿元 |
x10 | 人均可支配收入/元 |
表2 数据
2.多元线性回归
利用普通最小二乘法对回归参数进行估计(表3)
表3 最小二乘法参数估计结果 |
表4 剔除x4后,最小二乘法参数估计结果 |
表5 剔除x7后,最小二乘法参数估计结果 |
表6 最终估计结果 |
表7 方程拟合优度检验与显著性检验结果 |
得回归方程:
下面再利用SAS软件,求出标准化回归方程,输出结果如下表。
表8 标准化回归分析表 |
根据最终方程,我们可以很直观的看出,,,和所对应的因素,即实际利用外商直接投资金额等5个因素对GDP印象不大,而其它各因素对应自变量的系数的正负可以知道该因素对GDP的增长呈正性还是负性影响。
3.违背基本假设情况
3.1异方差性
绘制残差图
图1 最小二乘残差图 |
表9 怀特检验结果
表10 Spearman检验结果 |
3.2自相关性
这里使用DW检验对回归方程进行自相关性检验,结果如下。
表11 DW检验结果 |
而DW=1.944>,我们可以认为所拟合的回归方程不存在自相关性
3.3异常值检验
这里通过学生化残差以及库克距离来判断是否存在异常值,SAS计算结果如下。
表12 异常值检验 |
4.自变量的选择与逐步回归
4.1所有子集回归
4.1.1 准则
通过SAS输出结果
表13 最优法结果 |
4.1.2 准则
通过SAS输出结果
表14 最优结果 |
根据两种准则得到的最优子集回归模型均是,,,,。
4.2 逐步回归
4.2.1 前进法
利用SAS中FORWARD选项进行前进法过程,由于过程较多,下面整理出前进法过程中的简要步骤。
Step | R-Square | C(p) | Entered |
1 | 0.7369 | 70.6126 | x9 |
2 | 0.9070 | 17.2472 | x4 |
3 | 0.9230 | 14.0549 | x8 |
4 | 0.9319 | 13.16 | x1 |
5 | 0.9457 | 10.6826 | x10 |
6 | 0.97 | 6.4951 | x5 |
7 | 0.9735 | 5.6365 | x2 |
8 | 0.9747 | 7.2182 | x3 |
表15 前进法最终结果 |
4.2.2 后退法
利用SAS中BACKWARD选项进行前进法过程,下面整理出后退法过程中的简要步骤。
Step | R-Square | C(p) | Removed |
1 | 0.9754 | 9.0105 | x4 |
2 | 0.9749 | 7.1545 | x7 |
3 | 0.9746 | 5.2703 | x3 |
4 | 0.9728 | 3.8405 | x6 |
5 | 0.9717 | 2.2162 | x8 |
表16 后退法最终结果 |
4.2.3 逐步回归法
利用SAS中FORWARD选项进行前进法过程,由于过程较多,下面整理出前进法过程中的简要步骤。
Step | R-Square | C(p) | Entered/Removed |
1 | 0.7369 | 70.6126 | x9 Entered |
2 | 0.9070 | 17.2472 | x4 Entered |
3 | 0.9230 | 14.0549 | x8 Entered |
表17 逐步回归法最终结果 |
由SAS结果整理出全模型以及以上三种选模型的复决定系数如下表:
模型 | |
全模型 | 0.9754 |
,,,,,,, | 0.9747 |
,,,, | 0.9717 |
,, | 0.9230 |
5.多重共线性的情形及其处理
5.1 多重共线性诊断
5.1.1 方差扩大因子法
表18 方差扩大因子分析 |
5.1.2 特征根判定法
表19 特征根与条件数分析 |
2.条件数:从条件数看到,最大的条件数=465.82295,说明自变量间存在严重的多重共线性,这与方差扩大因子法的结果一致。从Proportion of Variation方差比例表可以看到,第11行Intercept、、、、同时较大,说明Intercept、、、、存在多重共线性。
综上,回归方程存在较为严重的多重共线性。
5.2 消除多重共线性
从表18中看到,回归系数没有通过显著性检验,应先作自变量的选元,舍去一些变量。依次把P值最大的自变量剔除,再建立回归方程。根据多元线性回归方法,依次剔除x4、x7、x3、x6、x8,再对剩下变量进行多重共线性诊断。
表20 方差扩大因子分析 |
表21 方差扩大因子分析 |
表22方差扩大因子分析 |
表23方差扩大因子分析 |
标准化回归方程:
复决定系数为0.9070,调整后的复决定系数为0.54。
6.岭回归
为消除上面回归方程的多重共线性,在这里利用标准化后的数据进行岭回归,以消除多重共线性。首先绘制岭迹图:
图2 -的岭迹图 |
图3 剔除后的岭迹图 |
图4 最终岭迹图 |
非标准化岭回归方程:
7.主成分回归
通过SAS中的PRINCOMP函数对data进行主成分分析过程,输出结果:
表24相关矩阵的特征值 |
表25 主成分 |
表26 y对z1-z4的线性回归估计 |
分别把已知主成分-代入以上方程,整理得到最终主成分回归方程:
y=15450.99+3.24656+7.9454+142.497-
19.9586+0.3037+0.12950+0.12495+22.4974+0.7579+3.5372
8.Logistic回归模型
选择使用另外一组数据,数据来自版《应用回归分析》P245例10.4。数据如下表:
序号 | 年家庭收入(万元) | 签订意向书人数 | 实际购房人数 |
1 | 1.5 | 25 | 8 |
2 | 2.5 | 32 | 13 |
3 | 3.5 | 58 | 26 |
4 | 4.5 | 52 | 22 |
5 | 5.5 | 43 | 20 |
6 | 6.5 | 39 | 22 |
7 | 7.5 | 28 | 16 |
8 | 8.5 | 21 | 12 |
9 | 9.5 | 15 | 10 |
Logistic回归方程为
其中,c为分组数据的组数,易知c=9。
采用最小二乘法进行拟合,结果如下:
表28 最小二乘法估计结果 |
成功拟合了因变量为定性变量的回归模型。由于考虑到异方差性还没有得到解决,再使用加权最小二乘法进行估计。
选取权数为重新用加权最小二乘法估计,计算结果如下:
表29 加权最小二乘法估计结果 |
下面用SAS软件的Logistic函数对数据进行估计,其结果如下:
表30 Logistic选项输出结果 |
9.附录(程序代码)
##1-8程序##
proc import out=data /*使用import过程导入数据到数据集data*/
datafile="C:\\Users\\many\\Desktop\\data.xls" /*设置数据路径*/
dbms=excel2000 replace;
getnames=yes; /*首行为变量名*/
run;
proc glm data=data; /*使用GLM过程对自变量进行线性回归*/
model y=x1-x10/clparm; /*得到表3*/
run;
proc glm data=data;
model y=x1-x3 x5-x10; /*剔除x4,得到表4*/
run;
proc glm data=data;
model y=x1 x2 x5 x9 x10; /*剩余自变量,得到表6、表7*/
run;
proc standard data=data out=a mean=0 std=1; /*标准化数据*/
var y x1-x10;
run;
proc glm data=a; /*对标准化数据进行最小二乘*/
model y=x1 x2 x5 x9 x10; /*得到表8*/
run;
proc reg data=data;
model y=x1 x2 x5 x9 x10/spec DW p r;
/*对回归方程进行怀特检验(spec,表9)DW检验(表11)异常值建议(表12)*/
output out=out r=residual;
run;
data out1;
set out;
t=_n_;
z=abs(residual); /*定义z为残差绝对值*/
run;
proc gplot data=out1;
plot residual*t;
run;
proc corr data=out1 outs=out2; /*Spearman检验(表10)*/
var z x1 x2 x5 x9 x10;
run;
proc reg data=data;
model y=x1-x10/selection=adjrsq; /*最优R^2法,表13*/
run;
proc reg data=data;
model y=x1-x10/selection=cp; /*最优Cp法,表14*/
run;
proc reg data=data;
model y=x1-x10/selection=forward; /*前进法,表15*/
run;
proc reg data=data;
model y=x1-x10/selection=backward; /*后退法,表16*/
run;
proc reg data=data;
model y=x1-x10/selection=stepwise; /*逐步回归法,表17*/
run;
proc reg data=data;
model y=x1-x10/vif collin;
/*多重共线性诊断,vif为方差扩大因子法(表18),collin为特征根判定法(表19)*/
run;
proc reg data=data; /*利用逐步回归消除多重共线性,表22*/
model y=x4 x8 x9/vif;
run;
proc reg data=data;
model y=x4 x9;
run;
proc reg data=a outest=rid; /*岭回归,图2*/
model y=x1-x10/noint ridge=0.1 to 1 by 0.1;
plot/ridgeplot;
run;
proc print data=rid;
run;
proc reg data=a outest=rid;
model y=x1 x3 x4 x6 x7 x8 x9/noint ridge=0.4 to 1 by 0.05;
plot/ridgeplot; /*最终岭迹图,图4*/
run;
proc print data=rid;
run;
proc reg data=data;
model y=x1 x3 x4 x6 x7 x8 x9;
run;
proc princomp data=data prefix=z out=b; /*主成分回归,表24*/
var x1-x10;
run;
proc reg data=b; /*对前4个主成分线性回归*/
model y=z1-z4;
run; |
data logst1; /*录入数据到数据集logst1,数据显示在表27*/
input x n m; /*定义自变量*/
cards;
1.5 25 8
2.5 32 13
3.5 58 26
4.5 52 22
5.5 43 20
6.5 39 22
7.5 28 16
8.5 21 12
9.5 15 10
;
run;
data logst2; /*对原数据进行逻辑变换并保存在数据集logst2*/
set logst1;
p=m/n;
q=log(p/(1-p));
w=n*p*(1-p); /*构造权数*/
run;
proc reg data=logst2; /*进行最小二乘法估计,表28*/
model q=x;
run;
proc glm data=logst2; /*进行加权最小二乘法估计,表29*/
model q=x;
weight w;
run;
proc logistic data=logst1; /*Logistic选项进行估计,表30*/
model m/n=x;
run; |
评分项目 | 总分 | 得分 | |
1 | 数据选择是否适合用回归分析来分析,数据量够不够大 | 10 | |
2 | 课程设计的工作量 | 10 | |
3 | 课程设计的结构是否合理 | 10 | |
4 | 课程设计中的统计分析是否正确合理 | 20 | |
5 | 课程设计中涉及的回归分析的理论是否够广 | 15 | |
6 | 统计软件的应用能力(编程及结果的正确读解) | 15 | |
7 | 写作水平 | 10 | |
8 | 课程设计的实际应用价值 | 10 | |
总得分 |