某公司想用全行业的销售额作为自变量来预测公司的销售额,表6-1给出了1977-1981年公司销售额和行业销售额的分季度数据(单位:百万元)。
(1)画出数据的散点图,观察用线性回归模型拟合是否合适。
(2)建立公司销售额对全行业销售额的回归模型,并用DW检验诊断随机误差项的自相关性。
(3)建立消除了随机误差项自相关性后的回归模型。
问题1.1:画出散点图(在书本162页,注意别人的用词)
先展示我画的图(使用EXCEL)
别人画的图
我的问题有
- 纵坐标过于分散,不能突出展现散点图的规律。
- 坐标标题要有字母标注。
更正
这样就清晰多了。
问题1.2 观察用线性回归模型拟合是否合适
是“什么”用线性回归拟合是否合适呢?
我觉得应但是“公司销售额y"和”行业销售额x"。
于是我们开始用matlab进行线性回归拟合
- 判断线性回归是否合适,我们需要判断多种回归方式,从中选取最合适的。
线性回归
输入
clear;
clc;
y = [20.96
21.4
21.96
21.52
22.39
22.76
23.48
23.66
24.1
24.01
24.54
24.3
25
25.64
26.36
26.98
27.52
27.78
28.24
28.78];
x = [127.3
130
132.7
129.4
135
137.1
141.2
142.8
145.5
145.3
148.3
146.4
150.2
153.1
157.3
160.7
164.2
165.6
168.7
171.7
];
[p,S] = polyfit(x,y,1);
p
[y_fit,delta] = polyval(p,x,S);
1-sum(delta.^2)/(sum((y-sum(y)/length(y)).^2))
plot(x,y,'bo')
hold on
plot(x,y_fit,'r-')
plot(x,y_fit+2*delta,'m--',x,y_fit-2*delta,'m--')
title('Quadratic Fit of Data with 95% Prediction Interval')
legend('Data','Linear Fit','95% Prediction Interval')
输出
决定系数为:0.9985
p =
0.1763 -1.4548
一次方程为
y
=
0.1763
x
−
1.4548
y = 0.1763x-1.4548
y=0.1763x−1.4548
决定系数为:0.9985
所有的点都在95%区域内,可以说拟合效果非常好。
如果使用matlab工具箱进行拟合
参数会清晰很多。
如果使用SPSS来拟合,参数会更加清晰和多样
在图中我们可以看到决定系数
R
2
R^2
R2,统计量
F
F
F,显著性
p
值
p值
p值。这更加表现了线性拟合效果非常好。
决定系数 R 2 R^2 R2
表达式:
R
2
=
S
S
R
/
S
S
T
=
1
−
S
S
E
/
S
S
T
R^2=SSR/SST=1-SSE/SST
R2=SSR/SST=1−SSE/SST
其中:SST=SSR+SSE,SST (total sum of squares)为总平方和,SSR (regression sum of squares)为回归平方和,SSE (error sum of squares) 为残差平方和。
意义:拟合优度越大,自变量对因变量的解释程度越高,自变量引起的变动占总变动的百分比高。观察点在回归直线附近越密集。
取值意思:
0 表示模型效果跟瞎猜差不多
1 表示模型拟合度较好(有可能会是过拟合,需要判定)
0~1 表示模型的好坏(针对同一批数据)
小于0则说明模型效果还不如瞎猜(说明数据直接就不存在线性关系)
显著性p值是拟合随机变异的可能性大小
知道了R2的统计学意义之后,再来看模型的p值的统计学意义是什么。
考虑一下下述情况,对于样本量是2的数据,那么由于两点之间必有一条直线,所以此时的拟合会得到很高的R2,R2=100%,然而我们知道这是没有什么意义的,为了更一步的区分这种情况,就需要引入另一个概念p值,它代表有多大的可能性表明本次拟合只是一次随机事件。
拟合的p值是根据F检验得出来的,也就是说需要计算F统计量,
F =Var(fit)/Var(non-fit)=[SS(mean)-SS(fit)/(Num.fit-Num.mean)]/[SS(fit)/n-Num.fit]
其中SS(mean)和SS(fit)都是指的残差平方和。Num.fit是指的拟合方程式的参数数量,对于例子1小鼠大小来说参数有两个:截距和小鼠重量。Num.mean是指的不进行拟合时的参数数量,参数只有平均值,因此数量为1。
二次回归(现在我们主要用SPSS来做)
效果依然很好
指数回归
结果为
y
=
8.527
e
0.007
x
t
y = 8.527e^{0.007x_t}
y=8.527e0.007xt
综上所述,仍然是线性回归最合适。
问题2:建立公司销售额对全行业销售额的回归模型,并使用DW检验诊断随机误差项的自相关性
疑问:什么是DW检验,为什么要用DW检验?
- DW检验又称杜宾-瓦特森检验,计量经济,统计分析中常用的一种检验序列一阶自相关最常用的方法。
- 经济数据在时间上有显著的滞后性
- 观察我们的数据,我们会发现显然是"行业销售额x"影响"公司销售额y"
- 那么这种影响是瞬间作用的吗?显然不是。
- 经济学的影响往往需要时间反应。(例如这个季度出现经济危机,下个季度的销售额才锐减,而不是瞬间锐减)
- 若采用普通回归模型直接处理,将会出现不良后果。
- 那我们怎么判断模型有滞后性呢?
- 我们可以通过残差是否有自相关性来判断。
- 试想一个正常的残差是怎么样的呢?显然是时而正,时而负,基本是随机出现的
- 那么不正常的残差肯定就以一定的规律呈现,这说明我们还没有完全模拟出模型的全部变量
残差自相关定性分析(直观诊断)
- 首先我们通过这段代码得到了残差的数据
y=[20.96;21.40;21.96;21.52;22.39;22.76;23.48;23.66;24.10;24.01;24.54;24.30;25.00;25.64;26.36;26.98;27.52;27.78;28.24;28.78];
x=[127.3;130.0;132.7;129.4;135.0;137.1;141.2;142.8;145.5;145.3;148.3;146.4;150.2;153.1;157.3;160.7;164.2;165.6;168.7;171.7];
rstool(x,y)
a=ones(20,1);
b=0.176*x-1.455*a;
c=y-b % 残差
我们得到了如图所示的数据
- 作残差
e
t
−
e
t
−
1
e_t-e_{t-1}
et−et−1 散点图
- 于是我们开始进行DW统计和检验
- 我们根据算是,可以写出以下代码
num=c(1:19)'*c(2:20);
den=sum(c(2:20).^2) ;
rou = num/den
DW=2*(1-rou)
rou =自相关性
0.7118
DW =
0.5765
接下来我们要查表
我们的n = 20,k = 2。所以说
d
u
=
1.10
,
d
L
=
1.54
d_u = 1.10, d_L = 1.54
du=1.10,dL=1.54
D
W
<
d
u
DW < d_u
DW<du,显然呈正自相关。(不知道书本的
d
u
,
d
L
d_u, d_L
du,dL是怎么来的)
问题3 :建立消除了随机误差项目自相关后的回归模型
在问题二中,残差 e t e_t et存在明显的自相关性,故模型对于一个时间序列型的经济问题存在一个滞后性,故在此对模型进行 y t ′ = y t − ρ y t − 1 , x t ′ = x t − ρ x t − 1 , b 0 ′ = b 0 − ρ b 0 y_t' = y_t-\rho y_{t-1},x_t' = x_t-\rho x_{t-1}, b_0' = b_0-\rho b_0 yt′=yt−ρyt−1,xt′=xt−ρxt−1,b0′=b0−ρb0变换,使得模型更加优化,以消除随机误差项的自相关性。
模型的建立和求解
再进行拟合处理后,参数表为:
% DW模型优化后的程序:
clc,clear,close all
y=[20.96;21.40;21.96;21.52;22.39;22.76;23.48;23.66;24.10;24.01;24.54;24.30;25.00;25.64;26.36;26.98;27.52;27.78;28.24;28.78];
y1=y(2:20,1);
y2=y(1:19,1);
y3=y1-0.71133*y2;
x=[127.3;130.0;132.7;129.4;135.0;137.1;141.2;142.8;145.5;145.3;148.3;146.4;150.2;153.1;157.3; 160.7;164.2;165.6;168.7;171.7];
x1=x(2:20,1);
x2=x(1:19,1);
x3=x1-0.71133*x2;
a=ones(19,1);
y4=y3-0.173*x3+0.263*a % 残差
y5=y4(2:19,1);
y6=y4(1:18,1);
y7=y5-y6;
% DW
y8=sum(y7.^2)
y9=sum(y5.^2)
DW= y8/y9
p=1-DW/2
得到
D
W
=
1.8207
ρ
=
0.0897
DW = 1.8207 \rho = 0.0897
DW=1.8207ρ=0.0897
根据验证,残差不存在自相关性
最终拟合曲线为
y
t
^
=
−
0.263
+
0.7113
y
t
−
1
+
0.173
x
t
−
0.0638
x
t
−
1
\hat{y_t} = -0.263+0.7113y_{t-1}+0.173x_t-0.0638x_{t-1}
yt^=−0.263+0.7113yt−1+0.173xt−0.0638xt−1
总结
- 首先思考一下,这一整个问题的知识点有:散点图、残差、拟合曲线、DW检验、滞后性
- 散点图:需要清楚绘画散点图的一些技巧和细节。
- 残差:熟悉残差的计算方法,了解残差的规律以及所代表的意义
- 拟合曲线:了解不同的拟合曲线的方法和工具(SPSS、MATLAB、EXCEL),清楚用法和优劣。
- DW检验:明白DW检验的内涵(即去除自相关)
- 滞后性:时间序列问题往往会遇到的。