stata笔记常用
Stata: 输出regression table到word和excel
1. 安装estout。最简单的方式是在stata的指令输入:
ssc install estout, replace
EST安装的指导网址是:
2.跑你的regression
3.写下这行指令esttab f,然后就会出现个漂亮的表格给你(WORD文档)。只要再小幅修改,就可以直接用了。这个档案会存在my document\stata下。如果你用打开的是一个stata do file,结果会保存到do文件所在文件夹中。如果要得到excel文件,就把后缀改为.xls或者.csv就可以了
4.跑多个其实也不难,只要每跑完一个regression,你把它取个名字存起来:est store m1。m1是你要改的,第一个model所以我叫m1,第二个的话指令就变成est store m2,依次类推。
5.运行指令:esttab m1 m2 ... f就行了。
异方差的检验:
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 变化的一个散点图。
D-W检验——对一阶自相关问题的检验: 
D-W检验是对一阶自相关问题的常用检验方法,但是如果实际问题中存在高阶
序列相关性问题,则不能用这个检验方法。 
D-W 检验的命令如下: 
首先,输入回归命令, 
reg Variable1 Variable2 Variable3…VariableM 
输出一个简单的OLS估计结果。然后,再输入命令:
dwstat 
这时会输出一个DW  统计量。通过与临界值之间的比较,可以得出结论。也可
以执行如下命令
estat durbinalt 
直接进行Durbin检验。 
Breusch-GodfreyTest in STATA——检验高阶序列相关性: 
在得到一个基本回归结果和error 之后,我们假设这样一个关系: 
et = α0 + α1 et-1 + α2 et-2 …+ αk et-p + β1 x1t + β2 x2t … +βk xkt +εt 
BG  检验的原假设是:H0  :  α1 = α2 = … αp =0。 
其基本命令是: 
bgodfrey , lags(p) 
其中p  是你自己设定的一个滞后项数量。如果输出的p-value 显著小于0.05,则
可以拒绝原假设,这就意味着模型存在p  阶序列相关性;如果输出的p-value 显
著大于0.05  甚至很大,则可以接受原假设,即不存在p  阶序列相关性。 
处理序列相关性问题的方法——GLS: 
weight的几种形式常用的几种GLS  方法: 
(1) Cochrane-Orcutt estimator 和Prais-Winsten estimator 
其基本命令是 
prais var1 var2 var3, corc 
(2) Newey-West standard errors 
其基本命令是 
newey var1 var2 var3, lag(3) 
其中,lag(3)意思是对三阶序列相关性问题进行处理;如果需要对p  阶序列相
关性问题进行处理,则为lag(p) 
t因变量,g,f,c是自变量,_26存放了弟26个观测值,为需要预测的值
reg t g f c if _n!=26
点预测
predict taxpredict if _n==26
均值的区间预测
predictnl py=predict(xb),ci(lb ub) l(95)
因变量的区间预测
adjust g=117251.9 f=24649.95 c=99.9,stdf ci level(95)
Hausman检验是检验内生性的最常用的方法。它是通过比较一致估计量与有效估计量的Wald统计量。
命令格式为:
.hausman name-constistent [name-efficent] [,options]
其中,name-cosistent指一致估计的结果, name-efficent 指有效估计的结果。注意,一致、
有效估计量的先后顺序不能改变。