第六章
例6.4.1(P215);(通过2SLS估计,其他方法略)
tsset year g Ct=C[_n-1] reg Y Ct G
Source SS df MS Number of obs = 29 F( 2, 26) = 3629.86 Model 1.4148e+11 2 7.0741e+10 Prob > F = 0.0000 Residual 506704733 26 19488643.6 R-squared = 0.9964 Adj R-squared = 0.9962 Total 1.4199e+11 28 5.0710e+09 Root MSE = 4414.6 Y Coef. Std. Err. t P>|t| [95% Conf. Interval] Ct 1.258635 .1354676 9.29 0.000 .9801776 1.537093 G 2.794437 .2190344 12.76 0.000 2.344205 3.244668 _cons 1291.153 1317.612 0.98 0.336 -1417.237 3999.543
predict m,xb
. reg C m Ct Source SS df MS Number of obs = 29 F( 2, 26) = 5194.25 Model 1.9921e+10 2 9.9604e+09 Prob > F = 0.0000 Residual 49857078.8 26 1917579.95 R-squared = 0.9975 Adj R-squared = 0.9973 Total 1.9971e+10 28 713236666 Root MSE = 1384.8 C Coef. Std. Err. t P>|t| [95% Conf. Interval] m .0851009 .0245869 3.46 0.002 .0345618 .1356401 Ct .8617011 .0728371 11.83 0.000 .7119823 1.01142 _cons 886.5725 400.8777 2.21 0.036 62.55666 1710.588
练习题8(P228)(2SLS)
reg M Y P
Source SS df MS Number of obs = 18 F( 2, 15) = 963.31 Model 2.3413e+11 2 1.1707e+11 Prob > F = 0.0000 Residual 1.8229e+09 15 121525509 R-squared = 0.9923 Adj R-squared = 0.9912 Total 2.3596e+11 17 1.3880e+10 Root MSE = 11024 M Coef. Std. Err. t P>|t| [95% Conf. Interval] Y 1.810219 .0631125 28.68 0.000 1.675698 1.94474 P -147.4108 62.84855 -2.35 0.033 -281.3693 -13.45225 _cons 2067.01 14473.77 0.14 0.888 -28783.1 32917.12
predict m,xb reg Y M C I
Source SS df MS Number of obs = 18 F( 3, 14) =31456.30 Model 8.1426e+10 3 2.7142e+10 Prob > F = 0.0000 Residual 12079846.3 14 862846.166 R-squared = 0.9999 Adj R-squared = 0.9998 Total 8.1438e+10 17 4.7905e+09 Root MSE = 928.9 Y Coef. Std. Err. t P>|t| [95% Conf. Interval] M -.0217166 .0195131 -1.11 0.284 -.063568 .0201348 C 1.601022 .0577308 27.73 0.000 1.477202 1.724843 I .8974178 .0368883 24.33 0.000 .8183003 .9765352 _cons 541.9417 803.0233 0.67 0.511 -1180.372 2264.255
1. 安装estout。最简单的方式是在stata的指令输入:
ssc install estout, replace
EST安装的指导网址是:http://repec.org/bocode/e/estout/installation.html 2.跑你的regression
3.写下这行指令esttab using test.rtf,然后就会出现个漂亮的表格给你(WORD文档)。只要再小幅修改,就可以直接用了。这个档案会存在my documentstata下。如果你用打开的是一个stata do file,结果会保存到do文件所在文件夹中。如果要得到excel文件,就把后缀改为.xls或者.csv就可以了
4.跑多个其实也不难,只要每跑完一个regression,你把它取个名字存起来:est store m1。m1是你要改的,第一个model所以我叫m1,第二个的话指令就变成est store m2,依次类推。
5.运行指令:esttab m1 m2 ... using test.rtf就行了。
异方差的检验:
Breusch-Pagan test in STATA: 其基本命令是:estat hettest var1 var2 var3
其中,var1 var2 var3 分别为你认为导致异方差性的几个自变量。是你自己设定的一个 滞后项数量。
同样,如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性。 White检验:
其基本命令是在完成基本的OLS 回归之后,输入 imtest, white
如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性
处理异方差性问题的方法: 方法一:WLS
WLS是GLS(一般最小二乘法)的一种,也可以说在异方差情形下的GLS就是WLS。在WLS下,我们设定扰动项的条件方差是某个解释变量子集的函数。之所以被称为加权最小二乘法,是因为这个估计最小化的是残差的加权平方和,而上述函数的倒数恰为其权重。 在stata中实现WLS的方法如下:
reg (被解释变量) (解释变量1) (解释变量2)…… [aweight=变量名] 其中,aweight后面的变量就是权重,是我们设定的函数。
一种经常的设定是假设扰动项的条件方差是所有解释变量的某个线性组合的指数函数。在stata中也可以方便地实现:
首先做标准的OLS回归,并得到残差项;
reg (被解释变量) (解释变量1) (解释变量2)…… predict r, resid
生成新变量logusq,并用它对所有解释变量做回归,得到这个回归的拟合值,再对这个拟合值求指数函数; gen logusq=ln(r^2)
reg logusq (解释变量1) (解释变量2)…… predict g, xb gen h=exp(g)
最后以h作为权重做WLS回归;
reg (被解释变量) (解释变量1) (解释变量2)…… [aweight=h]
如果我们确切地知道扰动项的协方差矩阵的形式,那么GLS估计是最小方差线性无偏估计,是所有线性估计中最好的。显然它比OLS更有效率。虽然GLS有很多好处,但有一个致命弱点:就是一般而言我们不知道扰动项的协方差矩阵,因而无法保证结果的有效性。 方法二:HC SE
There are 3 kinds of HC SE
(1)Huber-White Robust Standard Errors HC1, 其基本命令是: reg var1 var2 var3, robust
White(1980)证明了这种方法得到的标准误是渐进可用(asymptotically valid)的。这种方法的优点是简单,而且需要的信息少,在各种情况下都通用。缺点是损失了一些效率。这种方法在我们日常的实证研究中是最经常使用。 (2)MacKinnon-White SE HC2,其基本命令是: reg var1 var2 var3, hc2
(3)Long-Ervin SE HC3,其基本命令是: reg var1 var2 var3, hc3
约束条件检验:
如果需要检验两个变量,比如x 与y,之间系
数之间的关系,以检验两者系数相等为例,我们可以直接输入命令: test x=y
再如检验两者系数之和等于1,我们可以直接输入命令: test x+y=1
如果输出结果对应的P-Value 小于0.05,则说明原假设显著不成立,即拒绝原假设。
序列相关性问题的检验与处理
序列相关性问题的检验:
首先,要保证所用的数据必须为时间序列数据。如果原数据不是时间序列数据,
则需要进行必要的处理,最常用的方法就是: gen n=_n tsset n
这两个命令的意思是,首先要生成一个时间序列的标志变量n(或者t 也可以);
然后通过tsset 命令将这个数据集定义为依据时间序列标志变量n定义的时间序
列数据。
最直观的检验方式是通过观察残差分布,其基本步骤是在跑完回归之后,直接输 入
Predict error, stdp
这样就得到了残差值;然后输入命令: plot error n
会得到一个error 随n 变化的一个散点图。