当前位置:文档之家› 复旦大学stata精华学习笔记

复旦大学stata精华学习笔记

Stata: 输出regression table到word和excel1. 安装estout。

最简单的方式是在stata的指令输入:ssc install estout, replaceEST安装的指导网址是:/bocode/e/estout/installation.html2.跑你的regression3.写下这行指令esttab using test.rtf,然后就会出现个漂亮的表格给你(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 ... 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,则拒绝原假设,即不存在异方差性处理异方差性问题的方法:方法一:WLSWLS是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, xbgen h=exp(g)最后以h作为权重做WLS回归;reg (被解释变量)(解释变量1)(解释变量2)…… [aweight=h]如果我们确切地知道扰动项的协方差矩阵的形式,那么GLS估计是最小方差线性无偏估计,是所有线性估计中最好的。

显然它比OLS更有效率。

虽然GLS有很多好处,但有一个致命弱点:就是一般而言我们不知道扰动项的协方差矩阵,因而无法保证结果的有效性。

方法二:HC SEThere are 3 kinds of HC SE(1)Huber-White Robust Standard Errors HC1,其基本命令是:reg var1 var2 var3, robustWhite(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=_ntsset 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 +εtBG 检验的原假设是:H0 :α1 = α2 = … αp =0。

其基本命令是:bgodfrey , lags(p)其中p 是你自己设定的一个滞后项数量。

如果输出的p-value 显著小于0.05,则可以拒绝原假设,这就意味着模型存在p 阶序列相关性;如果输出的p-value 显著大于0.05 甚至很大,则可以接受原假设,即不存在p 阶序列相关性。

处理序列相关性问题的方法——GLS:常用的几种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 指有效估计的结果。

注意,一致、有效估计量的先后顺序不能改变。

Option选项:constant 计算检验统计量将常数也包括在内,默认值为排除常数allegs 利用所有方程进行检验,默认只对第一个方程进行检验skipeqs(eqlist) eqlist只能以方程名称而不能以方程序号表示equation(matchlist) 比较设定的方程。

force 即使假设条件不满足仍进行检验df(#) 默认值为一致估计与有效估计的协方差矩阵的差的估计sigmamore 协方差矩阵采用有效估计量的协方差矩阵sigmaless 协方差矩阵采用一致估计量的协方差矩阵tconsistent(string) 一致估计量的标题tefficient(string) 有效估计量的标题工具变量估计命令格式:.ivregress esitimator depvar [varlist1] [varlist2=varlist_iv] [if] [in] [weight][,options]其中,estimator包括2sls,gmm,liml三种。

varlist1为模型中的外生变量,varlist2为模型中的内生变量,varlist_iv为模型中的工具变量。

Nonconstant 不包括常数项Hascons 用户自己设定常数项CMM 选项:wmatrix(wmtype) robust,cluster clustvar,hac kernel, unadjustedcenter 权数矩阵采用中心矩igmm 采用迭代GMM估计eps(#) 参数收敛标准。

默认值为eps(le-6)weps(#) 权数矩阵的收敛标准。

默认值为w eps(le-6)Vce(vcetype) unajusted,robust,cluster clustvar,bootstrap,jackknife,hac kernellevel(#)置信区间First 输出第一阶段的估计结果Small 小样本下的自由度调整.estat firststage [,all forcenonrobust]该命令给出第一阶段的估计结果以及各种统计量,包括排除外生变量的相关性检验。

All选项给出所有的拟合优度统计量。

如果模型存在多个内生变量,则stata给出R2、偏R2、调整的R2 、F统计量;如果模型存在多个内生变量,则stata给出Shea偏R2和调整的偏R2。

forcenonrobust给出最小特征值统计量及其临界值,即使采用稳健估计(这一检验的假设条件是误差项为独立正态分布)。

estat overid[,lag(#) forceweights forcenonrobust]该命令给出了过度识别约束检验。

如果使用2sls估计估计,则Stata给Sargan’s(1958)和Basman’s(1960)卡方统计量,这也是Wooldridge’(1995)稳健得分检验。

相关主题