stata笔记.docx
《stata笔记.docx》由会员分享,可在线阅读,更多相关《stata笔记.docx(25页珍藏版)》请在冰点文库上搜索。
stata笔记
1.一般检验
假设系数为0,t比较大则拒绝假设,认为系数不为0.
假设系数为0,P比较小则拒绝假设,认为系数不为0.
假设方程不显著,F比较大则拒绝假设,认为方程显著。
2.小样本运用OLS进行估计的前提条件为:
(1)线性假定。
即解释变量与被解释变量之间为线性关系。
这一前提可以通过将非线性转换为线性方程来解决。
(2)严格外生性。
即随机扰动项独立于所有解释变量:
与解释变量之间所有时候都是正交关系,随机扰动项期望为0。
(工具变量法解决)
(3)不存在严格的多重共线性。
一般在现实数据中不会出现,但是设置过多的虚拟变量时,可能会出现这种现象。
Stata可以自动剔除。
(4)扰动项为球型扰动项,即随即扰动项同方差,无自相关性。
3.大样本估计时,一般要求数据在30个以上就可以称为大样本了。
大样本的前提是
(1)线性假定
(2)渐进独立的平稳过程
(3)前定解释变量,即解释变量与同期的扰动项正交。
(4)E(XiXit)为非退化矩阵。
(5)gt为鞅差分序列,且其协方差矩阵为非退化矩阵。
与小样本相比,其不需要严格的外生性和正太随机扰动项的要求。
4.命令
稳健标准差回归:
regyx1x2x3,robust回归系数与OLS一样,但标准差存在差异。
如果认为存在异方差,则使用稳健标准差。
使用稳健标准差可以对大样本进行检验。
只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用
对单个系数进行检验:
testlnq=1
线性检验:
testnl_b[lnpl]=_b[lnq]^2
5.如果回归模型为非线性,不方便使用OLS,则可以采取最大似然估计法(MLE),或者非线性最小二乘法(NLS)
6.违背经典假设,即存在异方差的情况。
截面数据通常会出现异方差。
因此检验异方差可以:
(1)看残差图,但只是直观,可能并不准确。
rvfplot(residual-versus-fittedplot)与拟合值的散点图
rvpplotvarname(residual-versus-predictorplot)与解释变量的散点图
扰动项的方差随观测值而变动,表示可能存在异方差。
(2)怀特检验:
estatimtest,white(post-estimationinformationmatrixtest)
P比较小,则拒绝同方差假设,表示存在异方差,不能用OLS。
反之则证明为同方差。
(3)BP检验
estathettest,iid(默认设置为使用拟合值y^)
estathettest,rhsiid(使用方程右边的解释变量,而不是y^)
estathettest[varlist],iid(使用某个指定的解释变量)
P小,则拒绝原假设。
如果存在异方差,则可以:
(1)使用OLS+稳健标准差robust
(2)广义最小二乘法(GLS)
(3)加权最小二乘法(WLS)
predictel,res(预测残差)
ge2=el^2
辅助回归:
glne2=log(e2)
reglne2lnq,noc
predictlne2f计算辅助回归的拟合值
ge2f=exp(lne2f)去掉对数即权重之倒数
reglntclnqlnpllnpklnpf[aw=1/e2f]
regyx1x2x3[aw=1/var](aw表示analyticalweight,var表示随即扰动项的方差。
)
或者:
predictu,residuals
predictyf,xb
genlnu2=ln(u^2)
genyf2=yf^2
quietlyreglnu2yfyf2
predictnlu2f=exp(xb())
gensd=sqrt(u2f)
vwlslntclnqlnpllnpflnpk,sd(sd)
(4)可行广义最小二乘法(FGLS)
FGLS所做的过程和GLS一样,只是GLS假设扰动项的方差已知,若要用GLS,必须计算得到扰动项方差,而FGLS则是在未知方差的情况下求方差并最终通过将异方差转换为同方差后再运用OLS的结果。
因此,GLS和FGLS在过程上是一致的。
6.自相关
时间序列中容易出现自相关,而截面数据也可能存在空间自相关。
人为处理数据如移动平均等做法也可能导致自相关。
检验自相关可以:
(1)作图,但并不严格。
定义滞后算子L.(只有时间序列数据和面板数据才能定义时间变量。
)
tssetyaear
一阶差分:
D.x=xt-xt-1D2.X=xt-xt-2
LD.表示一阶差分的滞后值
画图:
scatterelL.el
acel(看自相关图)
pacel(看偏相关图)
(2)BG检验
estatbgodfrey(默认p=1)
estatbgodfrey,lags(p)
estatbgodfrey,nomiss0(使用不添加0的BG检验)
使用命令ac查看自相关图,或者设置较大的p值进行显著性检验,t期不显著了,则选择P=T-1
统计检验P值小,则拒绝假设。
(3)box-pierceQ检验/Ljung-BoxQ
regyx1x2x3
predictel,resid
wntestqel(使用stata提供的默认滞后期)
wntestqel,lags(p)(使用自己设定的滞后期)
(4)DW检验:
现在已经不常用,因为其只能检验一阶自相关。
estatdwatson
自相关的处理方法:
(1)使用OLS+异方差自相关稳健的标准差(HeteroskedasticityandAutocorrelationConsistentStandardError,HAC)
neweyyx1x2x3,lag(p)(HAC标准差,必须制定滞后阶数p)
滞后期数选择n^1/4
(2)使用OLS+聚类稳健的标准差(clusterrobuststandarderror)面板数据中经常使用聚类稳健的标准差。
regyx1x2x3,cluster(state)(聚类稳健标准差,假设“state”为聚类变量)
(3)使用可行广义最小二乘法(FGLS)
praisyx1x2x3(使用默认的PW估计法)
praisyx1x2x3,corc(使用CO估计法)
(4)修改模型设定,可能自相关是由于遗漏了自相关的解释变量。
7多重共线性
在回归后,使用命令VIF
estatvif经验表示,vif<10,则不存在多重共线性。
如果存在多重共线性,但是只关心整个方程预测被解释变量的能力,或者只关心变量的显著性,则不必理会多重共线性,因为多重共线性只是对单个解释变量的解释能力估计出现了偏差。
存在多重共线性,则逐个剔除。
8.遗漏变量(解决扰动项严格外生性的问题)
遗漏变量与解释变量不相关时,扰动项与解释变量不相关,OLS估计依然一致,但扰动项方差过大,影响估计的精确度
如果遗漏变量与解释变量相关,扰动项与解释变量则会相关,导致OLS估计不再一致。
出现“遗漏变量偏差”。
所以可以不研究某些解释变量而只对感兴趣的解释变量进行研究,但是重要的是遗漏解释变量不能与解释变量相关。
解决遗漏解释变量的方法有:
(1)加入尽可能多的控制变量(controlvarible),从理论上说明遗漏变量与扰动项不相关,或很弱的相关
(2)使用代理变量(proxyvariable),这在控制变量不可得的时候采用,如用IQ代替能力
(3)工具变量法
(4)使用面板数据(短面板、长面板、动态面板)
(5)随即实验和自然实验
9.选择解释变量的个数的时候,要选择适当的方式。
(1)按照变量个数使得矫正可决系数最大的准则选择个数(如果加入变量,反倒A-R变小,则去掉加入的变量。
)
(2)赤池信息准则(AICakaikeInformationCriteria)
(3)贝叶斯信息准则(BayesianInformationCriteria)
(4)汉南-昆信息准则(Hanan-QuinnInformationCriteria)但这一准则不常用
命令:
estatic
取AICBIC最大时候的变量个数
10.处理极端数据:
regyx1x2x3
predictlev,leverage(列出所有解释变量的影响力值)
gsort–lev(将所有的观测值按照lev的降序排列)
sumlev(看LVE的最大值和平均值)
listlev1/3(列出影响力最大的三个值)
可以将极端数据加入和省略进行对比。
10虚拟变量
M个定性的量,最多可以有(M-1)个虚拟变量
设置虚拟变量:
generated=(year>=1978)
如希望将每个省设置为虚拟变量,则需要:
tabulateprovince,generate(pr)
回归简化为:
regyx1x2x3pr2-pr31
11.工具变量法
这可以解决扰动项与自变量的相关问题,设置的工具变量需要与扰动项无关而与内生解释变量相关。
传统的工具变量法一般通过两阶段最小二乘法TSLS、2SLS(twostageleastsquare)。
第一阶段,工具变量对内生解释变量回归;第二阶段,被解释变量对工具变量的拟合值进行回归。
多个工具变量的线性组合仍然可以作为工具变量。
命令:
ivregress2slsdepvar[varlist1](varlist2=inslist)
Depvar为被解释变量,varlist1为外生解释变量,varlist2为内生解释变量,instlist为工具变量。
如:
ivregress2slsyx1(x2=z1z2)
ivregress2slsyx1(x2x3=z1z2z3z4),rfirst(r表示用异方差的标准差,first表示在结果中显示第一阶段的回归。
)
在面板数据中执行2SLS可以用:
xtivregdepvar[varlist1](varlist_2=varlist_iv)(详见helpxtivreg)
检验工具变量与解释变量的相关性:
即检验工具变量是否为弱工具变量,
命令:
estatfirststage,allforcenonrobust(all表示显示每个内生变量的统计量,而非仅仅所有内生变量综合的统计量,forcenonrobust表示及时在进行工具变量法时用了稳健标准差,也仍然允许计算estatfirststage)
解决弱工具变量的方法包括
A.寻找更强的工具变量
B.弱工具变量较多,则舍弃弱工具变量,
C.用有限信息最大似然估计法(Limitedinformationmaximumlikelihoodestimation,LIML)LIML与2SLS渐进等价,但在弱工具变量的情况下,LIML的小样本性质可能优于2SLS.
命令为:
ivregresslimldepvar[varlist1](varlist2=instlist)
过度识别(即多余的工具变量的个数)命令为:
estatoverid但并不能告诉哪些工具变量无效。
使用工具变量的前提是存在内生解释变量(即解释变量与扰动项相关),这也需要检验。
如果所有解释变量都是外生变量则用OLS比用工具变量法更有效,反之应该用工具变量法。
豪斯曼检验就是假设所有解释变量都为外生变量。
豪斯曼检验的stata命令:
regyx1x2
estimatesstoreols(存储OLS的结果)
ivregress2slsyx1(x2=z1z2)(假设怀疑x2为内生变量)
estimatesstoreiv(存储2SLS的结果)
hausmanivols,constantsigmamore(根据存储的结果进行豪斯曼检验)
但uguo存在异方差,则OLS并不是最有效的,传统额豪斯曼检验不适用于异方差的情形,解决方法是“自助法”;或者使用“杜宾-吴-豪斯曼DWH检验”也可以适用于存在异方差的情况。
命令:
estatendogenous
在球型扰动项的假定下,2SLS是最有效的,但是如果扰动项存在异方差或者自相关,则广义矩估计(generalizedmethodofmoments,GMM)更有效。
GMM与2SLS的关系就相当于GLS与OLS之间的关系。
GMM过程:
sccinstallivreg2(安装程序ivreg2)
sccinstallranktest(安装另外一个在运行ivreg2时需要用到的辅助程序ranktest)
usedata
xtsetpanelvartimevar(设置面板变量和时间变量)
ivreg2yx1(x2=z1z2),gmm2s
12.短面板:
(固定效应和随机效应模型)
N大T小的一般叫做短面板。
面板数据的优点为:
可以解决遗漏变量的问题,可以提供更多动态行为的信息,样本较多从而估计更准确。
但面板数据一般不满足独立同分布的假设。
处理面板数据的一个方法是将面板数据当作横截面数据处理进行OLS回归,称为“混合回归”,但它忽略了同一个聚类存在的相关问题。
虽然通常可以假定面板数据不同个体的扰动项的独立性,但是对于同一个体却存在固定效应和随机效应。
固定效应模型通常可以采用组内估计法(FE)和一阶差分法(FD)。
当T=2时,FD=FE;当T>2,扰动项独立同分布时,FE优于FD。
因此,实践用FE较多,而对动态面板,则用FD较多。
随机效应的存在使得OLS估计是一致但无效的。
可使用广义最小二乘法(FGLS)来进行估计。
也可以使用组间估计量(BE)
用豪斯曼检验选择是选用固定效应模型还是随机效应模型,如果统计量大于零界值,则拒绝假设。
如果假设成立,RE最有效,但是不适用于异方差的情形。
解决方法是自助法和辅助回归。
非平衡面板经常会损失数据,导致破坏样本的随机性。
xtsetpanelvatimevar(设定面板数据的面板个体变量和时间变量)
encodecountry,gen(cntry)(为面板个体编号使得面板个体为整数)
显示面板数据统计特征:
xtdes(显示面板数据结构,是否为平衡面板)
xtsum(显示组内、组间和整体的统计指标)
xttabvarname(显示组内、组间与政体的分布频率)
xtlinevarname(对每个个体分别显示该变量的时间序列图,如果希望叠放,则选择overlay)
regyx1x2x3,vce(clusterid)(混合回归,VCE是以id为cluster的聚类稳健标准差,因为同一地区不同时间扰动项之间一般存在自相关。
)VCE是考虑到了同一聚类之间的同方差现象。
xtregYX1X2X3,fevce(clusterid)(使用固定效应模型回归)
得到的回归中rho表示来自个体效应ui的比例。
XtregYX1X2X3,fe中的F检验通过,则可以使用混合回归模型。
若拒绝假设(p小),则FE更优,每个个体都有自己的固定效应。
但此时的由于没有使用稳健回归,因此F检验并不有效,还需要进一步用LSDV法观察。
LSDV法的stata命令为:
xi:
xtregyx1x2x3i.id,vce(clusterid)(xi为增添互动项interactionexpansion,i.id表示根据确定个体变量id生成的虚拟变量,在这里是state)(P小,则说明个体虚拟变量很显著,因此,不满足无个体效应的假设,则不能用混合回归模型。
)
对于固定效应模型,也可以用一阶差分法FD的命令:
xtserialyx1x2x3,output(我的stata不能识别xtserial咋回事?
)一般认为FE比FD有效,故较少使用FD。
也可以在固定效应中考虑时间效应,即双向固定效应:
tabyeargen(year)定义年度虚拟变量
xtregYX1X2X3year2-year7,fevce(clusterid)(明明是stata12,为什么说数据太多不能计算?
要把前面的计算保存等清空,那后面怎么对比?
)
testyear1year2year3。
。
year7对年度虚拟变量的联合检验为
检验存在时间效应和固定效益后,还可能存在随机效应,对随机效应进行检查:
xtregyx1x2x3,revce(clusterid)(随机效应FGLS)
xtregyx1x2x3,mle(随机效应MLE)
检验个体随机效应存在一个LM检验,需要在随机效应估计之后进行:
Xtregfatalspirconsunrateperincbeertax,revce(cluster,state)
estimatesstoreRE
xttest0
如果P很小,则拒绝假设,认为在“随即效应”与“混合回归”之间,应该选择“随即效应”。
如果数据质量不好,可以考虑使用组间估计量,但会损失较多信息量。
regyx1x2x3,be
estimatesstoreBE
选用固定效应模型还是随机效应模型运用豪斯曼检验
xtregyx1x2x3,fe
estimatesstoreFE
xtregyx1x2x3,re
estimatesstoreRE
hausmanFERE,constantsigmamore
P小,则强烈拒绝使用随机效应模型,而应采用固定效应模型。
但是如果聚类稳健标准差和普通标准差相差较大,则传统的豪斯曼检验并不适用。
这时需要进行辅助回归。
目前在stata中需要手动进行。
步骤如下:
quietlyxtregfatalbeertaxspirconsunrateperinck,re
scalartheta=e(theata)(从回归中得到THETA)
globalyandxforhausmanfatalbeertaxspirconsunrateperinck(使用yandxforhausman时,代表了所有使用的变量)
foreachxofvarlist$yandxforhausman{
bystate:
egenmean‘x’=mean(‘x’)到底用什么表示?
genmd‘x’=‘x’-mean‘x’
genred‘x’=‘x’-theata*mean‘x’
}
quietlyxtregredfatalredbeertaxredspirconsredunrateredperinckmdbeertaxmdspirconsmdunratemdperinck,vce(clusterstate)
testmdbeertaxmdspirconsmdunratemdperinck
检验发现P小,则拒绝r=0的假设,应该选用固定效应模型。
(疑问:
那中间那个式子呢?
)
面板数据在回归之前要通过平稳性检验,其处理步骤简化为:
面板数据单位根检验—协整检验—回归。
一般为了方便,采用相同单位根检验LLC检验和不同单位根检验Fisher-ADF检验(非面板数据一般采用ADF检验)。
两种检验均拒绝存在单位根的元假设,则认为序列平稳。
13.长面板和动态面板(不能像短面板那样假定独立同分布,而应该运用广义最小二乘法FGLS进行估计,解决组内和组间的自相关。
)
解释变量包含被解释变量的滞后项,则为动态面板,反之为静态面板。
(1)仅解决组内自相关的FGLS
tabstate,gen(state)考虑个体效应,生成州虚拟变量。
gent=year-1962考虑时间趋势,生成时间趋势变量
regYX1X2X3State2-state10t,vce(clusterstate)用LSDV估计双向固定效应模型
estimatesstoreOLS
考虑组内自相关的情形:
用命令stpcse
stpcseYX1X2X3state2-state10t,corr(ar1)约束条件为自回归系数都相同的一阶。
考虑各组自回归系数不同的组内自相关情形
stpcseYX1X2X3state2-state10t,corr(psar1)
如果仅考虑不同个体扰动项存在异方差而忽略自相关,则可以用
stpcseYX1X2X3state2-state10t,hetonly
将以上各估计的系数及标准差列表便于比较:
究竟应该采用OLS还是采用AR1,则需要检验自相关。
(2)同时处理组内自相关和组间同期相关的FGLS的命令xtgls
xtglsYX1X2X3state2-state10t,panels(iid/het/cor)corr(ar1/psar1)
iid表示不同个体(组间)的扰动项独立且具有相同的方差,het表示不同个体的扰动项独立但具有不同的方差,cor表示不同个体的扰动项同期相关且具有不同的方差。
Corr表示组内,解释同前。
如果加上igls则表示用的迭代FGLS,而非两步FGLS.
若执行xtgls或者xtpcse时没有使用个体虚拟变量,则为随机效应模型,若使用了则为固定效应模型。
(3)长面板数据自相关和异方差检验
组间异方差检验,运用似然比检验
XtglsYX1X2X3,iglspanel(het)(允许异方差的迭代式FGLS估计)
Estimatesstorehetro(将异方差条件下的估计结果储存为hetero)
Xtglsyx1x2x2,igls(同方差条件下的FGLS)
Estimatesstorehomo(将同方差条件下的估计结果储存为homo)
localdf=e(N_g)-1(计算自由度,即约束条件个数,其中e(N_g)为个体个数)
lrtestheterohomo,df(‘df’)(制定自由度,进行似然比检验。
)符号到底是怎样的?
P=0,则强烈拒绝LR检验的“组间同方差”假设。
另一种检验组间异方差的方法为xttest3,只能在xtreg,fe或者xtgls之后使用:
Sscinstallxttest3(安装命令“xttest3”)
Xttest3(进行组间异方差检验)这个超级简单~~
组内自相关检验通过下载命令xtserial来实现这个检验
netinstallst0039(安装命令stserial)为什么下不了?
xtserialyx1x2x3,output(进行组内组相关检验,若P小,则强烈决绝不存在一阶组内自相关的假设。
)
组间截面相关检验:
非官方xttest2。
其仅能在xtgls,ivreg2,和xtreg,fe后使用,且能用于场面版
sscinstallxttest2(安装x