介绍模型设定的相关内容,包括虚拟变量的使用、经济结构变动的检验、遗漏变量的检验、自变量数量的选择、极端数据的诊断与处理等方面的内容。
1.虚拟变量处理
对于定性数据, 通常并不能将其直接纳入模型中进行回归分析,因为这样的分析并不符合经济学理论, 所以这时需要引入虚拟变量进行处理。一般情况下,如果分类变量总共有N类,为了避免多重共线性的出现, 通常只引入N-1个虚拟变量。
- 为了便于比较,首先生成整个时期中不含虚拟变量的消费函数方程,所使用到的命令为:
regress financevalue gdp
[图片上传中...(image-20191117211705269.png-c763b3-1574492559433-0)]
-
如果认为在2003 年,银行业改革导致了金融业经营的变动,这时需要引入虚拟变量将 模型分成两段进行回归,步骤如下:
-
生成虚拟变量
generate dummy=0 replace dummy=1 if year>=2003
-
生成虚拟变量dummy 和解释变量gdp 的互动项,使用命令:
generate dummy_gdp = dummy*gdp
-
将虚拟变量纳入回归方程
reg financevalue gdp dummy dummy_gdp
-
2.经济结构变动的Chow检验
在时间序列模型之中,需要十分注重模型系数的稳定性, Chow 检验提供了一个较为严 谨的检验经济结构变动的方法。
1.手动进行Chow检验
检验的方法是分别进行三次回归。检验中国金融业增加值函数是否在2003 年以后发生了结构变化的操作过程如下:
-
首先,生成整个时期的回归方程, 计算出这时的残差平方和,输入命令:
regress financevalue gdp //生成关于金融业增加值的函数financevalue =α+ßgdp predict e , residual //生成残差序列 gen a=e^2 egen b=sum (a) //生成变量b ,使其值为序列a的和,即残差平方和
- 其次, 生成2003 年以前序列的回归方程,计算出前半段时期的残差平方和,输入命令:
regress financevalue gdp if year<2003 predict e1 if year<2003 , residual gen al=e1^2 egen bl=sum(a1)
生成2003 年以后序列的回归方程,然后计算出这后半段时期的残差平方和,输入命令:
regress financevalue gdp if year<2003
predict e1 if year<2003 , residual
gen al=e1^2
egen bl=sum(a1)
-
最后, 计算F 统计量的值, 并与临界值进行比较,输入命令.
gen f=((b-b1-b2)/(2))/((bl+b2)/(29-2*2))
sum f
2.自动进行Chow检验
-
下载chow检验命令,一般选择第一个链接安装
findit chow
-
利用financevalue.dta 数据,检验2002 年是否为结构变化点,可使用命令:
chow financevalue gdp, chow(year>2002)
在这个命令语句中, cbow fmancevalue gdp 说明要对变量financevalue 和gdp 进行检验, cbow(year>2002)说明结构变动可能出现在2003 年,命令执行的结果同手动法一致。
3. 遗漏变量的检验
遗漏变量属于解释变量选取错误的一种,因为某些数据确实难以获得,但是有时这种遗 漏将会大大降低模型的精确度。假设正确模型如下所示:
如果在模型设定中遗漏了一个与被解释变量相关的变量X2 ,即所设定的模型为:
遗漏变量有3种情况:
Stata 提供了两种检验是否存在遗漏变量的方法: 一种是Link检验,另一种是Ramsey 检验。Link 检验的基本思想是: 如果模型的设定是正确的,那么y的拟合值的平方项将不应具有解释能力。Ramsey 检验的基本思想是:如果模型设定无误,那么拟合值和解释变量的高阶项都不应再有解释能力。
实验
wage=工资(单位:元/小时) , educ=受教育年限(单位: 年) , exper=工作经验年限(单位: 年) , tenure=任 职年限〈单位: 年) , lwage=工资的对数值。
分别利用Link 方法和Ramsey 方法检验模型lwage =ß1educ +ß2exper +ß3tenure是否遗漏了重要的解释变量。
1.使用Link方法检验遗漏变量
use c : \data\chinawage.dta , clear
reg l wage educ exper tenure
linktest
gen educ2=educ^2
gen exper2=exper^2
reg lwage educ exper tenure educ2 exper2
linktest
从图7. 5 中可以看出,经过添加解释变量后的模型拟合优度有了一定程度的提高,而且通过Link 检验可以看出此时hatsq项的p 值为0. 758 ,无法拒绝hatsq系数为零的假设,说明被解释变量lwage 的拟合值的平方项不再具有解释能力,所以可以得出结论: 新模型基本没有遗漏重要的解释变量。
2.使用Ramsey方法检验遗漏变量
gen educ2=educ^2
gen exper2=exper^2
reg lwage educ exper tenure educ2 exper2
linktest
在图7.6 中,第1 个图表仍然是回归结果,第2 个图表是Ramsey 检验的结果,不难发现Ramsey 检验的原假设是模型不存在遗漏变量,检验的p 值为0 . 5762 ,没有拒绝原假设,即认为原模型不存在遗漏变量。
为了进一步验证添加变量是否会改变Ramsey 检验的结果,同样采取Link 检验中的方法, 生成受教育年限educ 和工作经验年限exper 的平方项,重新进行回归并进行检验,命令如下:
gen educ2=educ^2
gen exper2=exper^2
reg lwage educ exper tenure educ2 exper2
estat ovtest
调整之后的检验结果,可以发现此时检验的p 值为0 . 6326 ,无法拒绝原假设,即认为模型不再存在遗漏变量。
4. 自变量数量的选择
人们总是希望建立具有经济意义而又简洁的模型,在现实的经济研究过程中,通常使用信息准则来确定解释变量的个数,较为常用的信息准则有两个。
实验
中国工资的横截面数据,变量主要包括: wage=工资(单位:元/小时) , educ=受教育年限(单位:年) , exper=工作经验年限(单位:年) , tenure=任职年限(单位:年) , lwage=工资的对数值。
use c:\data\chinawage.dta, clear
reg lwage educ exper tenure
estat ic
AIC 值为一37.77 , BIC 值为一24 .00 。
加入教育年限educ和工作经验年限exper的平方项,建立新模型lwage = ßo +ß1educ + ß2exper + ß3 tenure +ß4 educ2 + ß5 exper2 , 然后重新对其进行回归井计算, 命令如下:
gen educ2=educ^2
gen exper2=exper^2
reg lwage educ exper tenure educ2 exper2
estat ic
AIC 值为-39.91,BIC 值为-19.25。第2 个模型的信息准则值更小,所以此模型优于第一个模型。
5. 极端数据的诊断与处理
在全体观测值中,会有一些样本和总体样本距离较远,这些样本在回归中可能会对斜率或者截距的估计产生较大的影响,从而使得估计值和真值的差距较大,所以在实际应用中,首先应通过绘制散点图的方式观测是否有极端数值的存在,如果有,应该去掉这些极端数值再进行回归分析。 如果解释变量过多或者是面板数据,绘图的方式并不直观,通常使用leverage 影响力方法来判断该数据是否是极端数据。若数据的leverage 影响力值高于平均值, 则对回归系数影响较大,这时可能会产生极端数据的影响。
实验
以price 为因变量, mpg(每加仑油所行驶的英里数) 、weight(汽车重量)和foreign(是否是进口车) 为自变量建立回归模型,找出样本数据中存在的极端数据。
建立回归模型price =ß0+ß1mpg+ ß2weight + ß3foreign ,为分析汽车数据中是否存在极端值,在Stata 中输入如下命令:
regress price mpg weight foreign
predict lev,leverage
gsort -lev
sum lev
list in 1/3 //计算lev值,并将由大到小前3 位的数据显示出来
在结果中可以看到lev 的均值为0. 0541 ,而最大的lev 值为0.3001,所以该观测值有可能为极端数据,可以采取进一步的方法进行处理,从而保证模型的精确性。
处理的方法一般有两种: 一种方法为直接去掉极端值:另一种方法则选择其他更为恰当的模型进行回归分析。