当前位置:文档之家› stata笔记

stata笔记

stata笔记
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.命令

稳健标准差回归:reg y x1 x2 x3, robust 回归系数与OLS一样,但标准差存在差异。如果认为存在异方差,则使用稳健标准差。使用稳健标准差可以对大样本进行检验。

只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用

对单个系数进行检验:test lnq=1

线性检验:testnl _b[lnpl]=_b[lnq]^2

5.如果回归模型为非线性,不方便使用OLS,则可以采取最大似然估计法(MLE),或者非线性最小二乘法(NLS)

6.违背经典假设,即存在异方差的情况。截面数据通常会出现异方差。

因此检验异方差可以:

(1)看残差图,但只是直观,可能并不准确。

rvfplot (residual-versus-fitted plot) 与拟合值的散点图

rvpplot varname (residual-versus-predictor plot) 与解释变量的散点图

扰动项的方差随观测值而变动,表示可能存在异方差。

(2)怀特检验:

estat imtest, white (post-estimation information matrix test)

P比较小,则拒绝同方差假设,表示存在异方差,不能用OLS。反之则证明为同方差。(3)BP检验

estat hettest,iid (默认设置为使用拟合值y^)

estat hettest, rhs iid (使用方程右边的解释变量,而不是y^)

estat hettest [ varlist],iid (使用某个指定的解释变量)

P小,则拒绝原假设。

如果存在异方差,则可以:

(1)使用OLS+稳健标准差robust

(2)广义最小二乘法(GLS)

(3)加权最小二乘法(WLS)

predict el, res (预测残差)

g e2=el^2

辅助回归:

g lne2=log(e2)

reg lne2 lnq, noc

predict lne2f 计算辅助回归的拟合值

g e2f=exp(lne2f) 去掉对数即权重之倒数

reg lntc lnq lnpl lnpk lnpf [aw=1/e2f]

reg y x1 x2 x3 [aw=1/var] (aw表示analytical weight, var表示随即扰动项的方差。)

或者:

predict u, residuals

predict yf, xb

gen lnu2=ln(u^2)

gen yf2=yf^2

quietly reg lnu2 yf yf2

predictnl u2f = exp (xb())

gen sd=sqrt(u2f)

vwls lntc lnq lnpl lnpf lnpk , sd(sd)

(4)可行广义最小二乘法(FGLS)

FGLS所做的过程和GLS一样,只是GLS假设扰动项的方差已知,若要用GLS,必须计算得到扰动项方差,而FGLS则是在未知方差的情况下求方差并最终通过将异方差转换为同方差后再运用OLS的结果。因此,GLS和FGLS在过程上是一致的。

6.自相关

时间序列中容易出现自相关,而截面数据也可能存在空间自相关。人为处理数据如移动平均等做法也可能导致自相关。

检验自相关可以:

(1)作图,但并不严格。

定义滞后算子L.(只有时间序列数据和面板数据才能定义时间变量。)

tsset yaear

一阶差分:D.x=xt-xt-1 D2. X=xt-xt-2

LD. 表示一阶差分的滞后值

画图:scatter el L.el

ac el (看自相关图)

pac el (看偏相关图)

(2)BG检验

estat bgodfrey (默认p=1)

estat bgodfrey,lags(p)

estat bgodfrey,nomiss0 (使用不添加0的BG检验)

使用命令ac 查看自相关图,或者设置较大的p值进行显著性检验,t期不显著了,则选择P=T-1

统计检验P值小,则拒绝假设。

(3)box-pierce Q检验/ Ljung-Box Q

reg y x1 x2 x3

predict el, resid

wntestq el (使用stata提供的默认滞后期)

wntestq el, lags(p) (使用自己设定的滞后期)

(4)DW检验:现在已经不常用,因为其只能检验一阶自相关。

estat dwatson

自相关的处理方法:

(1)使用OLS+异方差自相关稳健的标准差(Heteroskedasticity and Autocorrelation Consistent Standard Error, HAC)

newey y x1 x2 x3, lag(p) (HAC标准差,必须制定滞后阶数p)

滞后期数选择n^1/4

(2)使用OLS+聚类稳健的标准差(cluster robust standard error)面板数据中经常使用聚类稳健的标准差。

reg y x1 x2 x3, cluster(state) (聚类稳健标准差,假设“state”为聚类变量)

(3)使用可行广义最小二乘法(FGLS)

prais y x1 x2 x3 (使用默认的PW估计法)

prais y x1 x2 x3, corc (使用CO估计法)

(4)修改模型设定,可能自相关是由于遗漏了自相关的解释变量。

7多重共线性

在回归后,使用命令VIF

estat vif 经验表示,vif <10, 则不存在多重共线性。

如果存在多重共线性,但是只关心整个方程预测被解释变量的能力,或者只关心变量的显著性,则不必理会多重共线性,因为多重共线性只是对单个解释变量的解释能力估计出现了偏差。存在多重共线性,则逐个剔除。

8.遗漏变量(解决扰动项严格外生性的问题)

遗漏变量与解释变量不相关时,扰动项与解释变量不相关,OLS估计依然一致,但扰动项方差过大,影响估计的精确度

如果遗漏变量与解释变量相关,扰动项与解释变量则会相关,导致OLS估计不再一致。出现“遗漏变量偏差”。

所以可以不研究某些解释变量而只对感兴趣的解释变量进行研究,但是重要的是遗漏解释

变量不能与解释变量相关。解决遗漏解释变量的方法有:

(1)加入尽可能多的控制变量(control varible),从理论上说明遗漏变量与扰动项不相关,或很弱的相关

(2)使用代理变量(proxy variable),这在控制变量不可得的时候采用,如用IQ代替能力

(3)工具变量法

(4)使用面板数据(短面板、长面板、动态面板)

(5)随即实验和自然实验

9.选择解释变量的个数的时候,要选择适当的方式。

(1)按照变量个数使得矫正可决系数最大的准则选择个数(如果加入变量,反倒A-R变小,则去掉加入的变量。)

(2)赤池信息准则(AIC akaike Information Criteria)

(3)贝叶斯信息准则(Bayesian Information Criteria)

(4)汉南-昆信息准则(Hanan-Quinn Information Criteria)但这一准则不常用

命令:estat ic

取AIC BIC 最大时候的变量个数

10.处理极端数据:

reg y x1 x2 x3

predict lev, leverage (列出所有解释变量的影响力值)

gsort –lev (将所有的观测值按照lev的降序排列)

sum lev (看LVE的最大值和平均值)

list lev 1/3 (列出影响力最大的三个值)

可以将极端数据加入和省略进行对比。

10虚拟变量

M个定性的量,最多可以有(M-1)个虚拟变量

设置虚拟变量:generate d=(year>=1978)

如希望将每个省设置为虚拟变量,则需要:tabulate province, generate(pr)

回归简化为:reg y x1 x2 x3 pr2-pr31

11.工具变量法

这可以解决扰动项与自变量的相关问题,设置的工具变量需要与扰动项无关而与内生解释变量相关。传统的工具变量法一般通过两阶段最小二乘法TSLS、2SLS(two stage least square)。第一阶段,工具变量对内生解释变量回归;第二阶段,被解释变量对工具变量的拟合值进行回归。多个工具变量的线性组合仍然可以作为工具变量。

命令:ivregress 2sls depvar [varlist1] (varlist2=inslist)

Depvar为被解释变量,varlist1为外生解释变量,varlist2为内生解释变量,instlist 为工具变量。如:

ivregress 2sls y x1 (x2 = z1 z2)

ivregress 2sls y x1 (x2 x3 = z1 z2 z3 z4), r first (r表示用异方差的标准差,first表示在结果中显示第一阶段的回归。)

在面板数据中执行2SLS可以用:xtivreg depvar [varlist1] (varlist_2=varlist_iv) (详见help xtivreg)

检验工具变量与解释变量的相关性:即检验工具变量是否为弱工具变量,

命令:estat firststage, all forcenonrobust (all表示显示每个内生变量的统计量,而非仅仅所有内生变量综合的统计量,forcenonrobust表示及时在进行工具变量法时用了稳健标准差,也仍然允许计算estat firststage)

解决弱工具变量的方法包括

A.寻找更强的工具变量

B.弱工具变量较多,则舍弃弱工具变量,

C.用有限信息最大似然估计法(Limited information maximum likelihood estimation, LIML)LIML与2SLS渐进等价,但在弱工具变量的情况下,LIML的小样本性质可能优于2SLS.

命令为:ivregress liml depvar [varlist 1] (varlist2 = instlist)

过度识别(即多余的工具变量的个数)命令为:estat overid 但并不能告诉哪些工具变量无效。

使用工具变量的前提是存在内生解释变量(即解释变量与扰动项相关),这也需要检验。如果所有解释变量都是外生变量则用OLS比用工具变量法更有效,反之应该用工具变量法。豪斯曼检验就是假设所有解释变量都为外生变量。

豪斯曼检验的stata命令:

reg y x1 x2

estimates store ols (存储OLS的结果)

ivregress 2sls y x1 (x2= z1 z2) (假设怀疑x2为内生变量)

estimates store iv (存储2SLS的结果)

hausman iv ols, constant sigmamore (根据存储的结果进行豪斯曼检验)

但uguo存在异方差,则OLS并不是最有效的,传统额豪斯曼检验不适用于异方差的情形,解决方法是“自助法”;或者使用“杜宾-吴-豪斯曼DWH检验”也可以适用于存在异方差的情况。命令:estat endogenous

在球型扰动项的假定下,2SLS是最有效的,但是如果扰动项存在异方差或者自相关,则广义矩估计(generalized method of moments, GMM)更有效。GMM与2SLS的关系就相当于GLS与OLS之间的关系。

GMM过程:

scc install ivreg2 (安装程序ivreg2)

scc install ranktest (安装另外一个在运行ivreg2时需要用到的辅助程序ranktest)

use data

xtset panelvar timevar (设置面板变量和时间变量)

ivreg2 y x1(x2=z1 z2), gmm2s

12.短面板:(固定效应和随机效应模型)

N大T小的一般叫做短面板。面板数据的优点为:可以解决遗漏变量的问题,可以提供更多动态行为的信息,样本较多从而估计更准确。但面板数据一般不满足独立同分布的假设。

处理面板数据的一个方法是将面板数据当作横截面数据处理进行OLS回归,称为“混合回归”,但它忽略了同一个聚类存在的相关问题。虽然通常可以假定面板数据不同个体的扰动项的独立性,但是对于同一个体却存在固定效应和随机效应。

固定效应模型通常可以采用组内估计法(FE)和一阶差分法(FD)。当T=2时,FD=FE;当T>2,扰动项独立同分布时,FE优于FD。因此,实践用FE较多,而对动态面板,则用FD 较多。

随机效应的存在使得OLS估计是一致但无效的。可使用广义最小二乘法(FGLS)来进行估计。也可以使用组间估计量(BE)

用豪斯曼检验选择是选用固定效应模型还是随机效应模型,如果统计量大于零界值,则拒绝假设。如果假设成立,RE最有效,但是不适用于异方差的情形。解决方法是自助法和辅助回归。

非平衡面板经常会损失数据,导致破坏样本的随机性。

xtset panelva timevar (设定面板数据的面板个体变量和时间变量)

encode country, gen (cntry) (为面板个体编号使得面板个体为整数)

显示面板数据统计特征:

xtdes (显示面板数据结构,是否为平衡面板)

xtsum (显示组内、组间和整体的统计指标)

xttab varname (显示组内、组间与政体的分布频率)

xtline varname (对每个个体分别显示该变量的时间序列图,如果希望叠放,则选择overlay)

reg y x1 x2 x3, vce (cluster id) (混合回归,VCE是以id为cluster的聚类稳健标准差,因为同一地区不同时间扰动项之间一般存在自相关。) VCE是考虑到了同一聚类之间的同方差现象。

xtreg Y X1 X2 X3, fe vce (cluster id) (使用固定效应模型回归)

得到的回归中rho表示来自个体效应ui的比例。

Xtreg YX1 X2 X3, fe 中的F检验通过,则可以使用混合回归模型。若拒绝假设(p小),则FE更优,每个个体都有自己的固定效应。但此时的由于没有使用稳健回归,因此F检验并不有效,还需要进一步用LSDV法观察。

LSDV法的stata命令为:

xi: xtreg y x1 x2 x3 i.id, vce(cluster id) (xi为增添互动项interaction expansion,i.id表示根据确定个体变量id生成的虚拟变量,在这里是state) (P小,则说明个体虚拟变量很显著,因此,不满足无个体效应的假设,则不能用混合回归模型。)

对于固定效应模型,也可以用一阶差分法FD的命令:

xtserial y x1 x2 x3, output (我的stata不能识别xtserial 咋回事?)一般认为FE比FD 有效,故较少使用FD。

也可以在固定效应中考虑时间效应,即双向固定效应:

tab year gen(year) 定义年度虚拟变量

xtreg YX1 X2 X3 year2-year7, fe vce (cluster id) (明明是stata12,为什么说数据太多不能计算?要把前面的计算保存等清空,那后面怎么对比?)

test year1 year2 year3。。year7 对年度虚拟变量的联合检验为

检验存在时间效应和固定效益后,还可能存在随机效应,对随机效应进行检查:

xtreg y x1 x2 x3, re vce (cluster id) (随机效应FGLS)

xtreg y x1 x2 x3, mle (随机效应MLE)

检验个体随机效应存在一个LM检验,需要在随机效应估计之后进行:

Xt reg fatal spircons unrate perinc beertax, re vce (cluster, state)

estimates store RE

xttest0

如果P很小,则拒绝假设,认为在“随即效应”与“混合回归”之间,应该选择“随即效应”。

如果数据质量不好,可以考虑使用组间估计量,但会损失较多信息量。

reg y x1 x2 x3, be

estimates store BE

选用固定效应模型还是随机效应模型运用豪斯曼检验

xtreg y x1 x2 x3, fe

estimates store FE

xtreg y x1 x2 x3, re

estimates store RE

hausman FE RE, constant sigmamore

P小,则强烈拒绝使用随机效应模型,而应采用固定效应模型。

但是如果聚类稳健标准差和普通标准差相差较大,则传统的豪斯曼检验并不适用。这时需要进行辅助回归。

目前在stata中需要手动进行。步骤如下:

quietly xtreg fatal beertax spircons unrate perinck, re

scalar theta=e(theata) (从回归中得到THETA)

global yandxforhausman fatal beertax spircons unrate perinck (使用yandxforhausman 时,代表了所有使用的变量)

foreach x of varlist $yandxforhausman{

by state: egen mean ‘x’=mean(‘x’) 到底用什么表示?

gen md‘x’=‘x’-mean‘x’

gen red‘x’=‘x’-theata*mean‘x’

}

quietly xtreg redfatal redbeertax redspircons redunrate redperinck mdbeertax mdspircons mdunrate mdperinck, vce(cluster state)

test mdbeertax mdspircons mdunrate mdperinck

检验发现P小,则拒绝r=0的假设,应该选用固定效应模型。

(疑问:那中间那个式子呢?)

面板数据在回归之前要通过平稳性检验,其处理步骤简化为:面板数据单位根检验—协整检验—回归。一般为了方便,采用相同单位根检验LLC检验和不同单位根检验Fisher-ADF 检验(非面板数据一般采用ADF检验)。两种检验均拒绝存在单位根的元假设,则认为序列平稳。

13.长面板和动态面板(不能像短面板那样假定独立同分布,而应该运用广义最小二乘法FGLS 进行估计,解决组内和组间的自相关。)

解释变量包含被解释变量的滞后项,则为动态面板,反之为静态面板。

(1)仅解决组内自相关的FGLS

tab state, gen(state) 考虑个体效应,生成州虚拟变量。

gen t=year-1962 考虑时间趋势,生成时间趋势变量

reg Y X1 X2 X3 State2-state10 t, vce(cluster state) 用LSDV估计双向固定效应模型

estimates store OLS

考虑组内自相关的情形:用命令stpcse

stpcse Y X1 X2 X3 state2-state10 t, corr(ar1) 约束条件为自回归系数都相同的一阶。

考虑各组自回归系数不同的组内自相关情形

stpcse Y X1 X2 X3 state2-state10 t, corr(psar1)

如果仅考虑不同个体扰动项存在异方差而忽略自相关,则可以用

stpcse Y X1 X2 X3 state2-state10 t, hetonly

将以上各估计的系数及标准差列表便于比较:

究竟应该采用OLS还是采用AR1,则需要检验自相关。

(2)同时处理组内自相关和组间同期相关的FGLS的命令xtgls

xtgls Y X1 X2 X3state2-state10 t , panels(iid/het/cor) corr(ar1/psar1)

iid表示不同个体(组间)的扰动项独立且具有相同的方差,het表示不同个体的扰动项独立但具有不同的方差,cor表示不同个体的扰动项同期相关且具有不同的方差。Corr表示组内,解释同前。如果加上igls则表示用的迭代FGLS,而非两步FGLS.

若执行xtgls或者xtpcse时没有使用个体虚拟变量,则为随机效应模型,若使用了则为固定效应模型。

(3)长面板数据自相关和异方差检验

组间异方差检验,运用似然比检验

Xtgls Y X1 X2 X3, igls panel(het) (允许异方差的迭代式FGLS估计)

Estimates store hetro (将异方差条件下的估计结果储存为hetero)

Xtgls y x1 x2 x2, igls (同方差条件下的FGLS)

Estimates store homo (将同方差条件下的估计结果储存为homo)

local df = e(N_g)-1 (计算自由度,即约束条件个数,其中e(N_g)为个体个数)lrtest hetero homo, df(‘df’) (制定自由度,进行似然比检验。) 符号到底是怎样的?

P=0,则强烈拒绝LR检验的“组间同方差”假设。

另一种检验组间异方差的方法为xttest3,只能在xtreg,fe 或者xtgls之后使用:

Ssc install xttest3(安装命令“xttest3”)

Xttest3 (进行组间异方差检验) 这个超级简单~~

组内自相关检验通过下载命令xtserial来实现这个检验

net install st0039 (安装命令stserial) 为什么下不了?

xtserial y x1 x2 x3, output (进行组内组相关检验,若P小,则强烈决绝不存在一阶组内自相关的假设。)

组间截面相关检验:非官方xttest2。其仅能在xtgls,ivreg2,和xtreg,fe后使用,且能用于场面版

ssc install xttest2 (安装xttest2)

xttest2 (组间截面相关检验)

当这一种方法无法检验时,可以采用另一种方法,xtcsd命令,长短面板都能用,用在fe 之后?

ssc install xtcsd (安装命令“xtcsd”)

xtcsd, pesaran abs show (pesaran的检验,服从正态分布)

xtcsd, friedman abs show (friedman的检验,服从喀方分布)

xtcsd,frees abs show (frees的检验)

对于长面板除了可以让不同个体拥有不同的截距项外还可以使其拥有不同的斜率,这成为“变系数模型”,如果其系数为常数,则可分别回归,但如果各个体扰动项相关,则应该把所有个体回归方程叠放,然后使用“似不相关回归”(SUR),但由于参数估计较多,会损失自由度。如果考虑“部分变系数模型”,则SUR不再适用,而应用LSDV法,引入虚拟变量,以及虚拟变量与可变细数解释变量的互动项(参见help xi)

如果将系数看作是随机的,则FGLS估计模型,即利用OLS残差估计协方差矩阵中的参数,然后再使用GLS,命令为:

Xtrc y x1 x2 x3, betas (betas表示显示对每一组系数的估计),其附带参数稳定性检验虽然面板数据能在一定程度上解决遗漏变量问题,但如果存在内生解释变量,还是需要用工具变量法,先解决遗漏问题,再使用2SLS

对于动态面板,就算是组内估计量(FE)也是不一致的。

差分GMM和水平GMM结合就成了系统GMM估计。

差分GMM的stata命令为:

xtabond depvar [indepvars], lags(p) maxldep(q) pre(varlist) endogenous (varlist) inst(varlist) twostep vce(robust)

如:xtabond lwage occ south smsa ind, lags(2) maxldep(3) pre(wks, lag(1,2)) endogenous(ms, lag(0,2)) endogenous(union, lag(0,2)) twostep vce(robust)

差分GMM存在的前提是扰动项不存在自相关,对此要进行检验,需要扰动项的差分不存在二阶或更高阶自相关即可。

命令为:estat abond ,p小,则存在自相关,P大,则不存在自相关。

更高阶自相关的检验为:estat abond artests(3)

由于使用过多的工具变量,还需要进行过度识别检验

先回归,但要去掉最后的vce(robust)

estat sargan

系统GMM的stata命令为:

xtdpdsys depvar[indepvars], lags(p) maxldep(q) pre(varlist) endogenous(varlist) inst(varlist) twostep vce(robust)

若要对比差分GMM和系统GMM的系数和标准差,则用命令:

estimates table DGMM SGMM, b se

14.离散被解释变量(通常不适合用OLS,而应该用二值模型,probit logit和多值选择模型)

如果F为标准正态的累积分布函数,则P模型为Probit模型,若F为逻辑分布的累积分布函数,则P模型为Logit模型。计算Logit模型通常比Probit模型更方便。

二值模型的Stata命令为:

probit y x1 x2 x3

logit y x1 x2 x3

probit 和logit 的分布函数不同,因此参数不能直接比较,需要分别计算二者的边际效应,再进行比较,STATA进行处理的命令为:

mfx (计算在样本均值处的边际效应)

mfx, at(X1=0) (计算在X1=0时,X2,X3取值样本均值处的边际效应)

mfx, eyex (计算在样本均值处的弹性)

predict yhat (计算发生概率的预测值,并记为yhat),对于Logit模型,系数表示解释变量x增加一个单位将引起的“对数几率比”的边际变化。

衡量二值模型的拟合优度采用“准R2”,判断拟合优度还可以通过计算预测准确的百分比,相应STAT命令为:

estat clas

logti 和probit模型虽然估计系数不同,但其估计系数没有可比性,其mfx计算出的边际效应及准R2与正确预测比几乎一致。

如果接受似然比检验(LR),则可用同方差probit模型估计。在存在异方差的情况下进行probit模型估计为:

hetprob Y X1 X2 X3, het(varlist)那自相关呢?

多值选择模型:

多值选择模型的stata命令为:

mlogit Y X1 X2 X3, base(#) (多值logit选择模型,base(#)用来指定参照组)

mlogit Y X1 X2 X3, rrr base(#) (多值logit选择模型,回报relative risk ratio)

mprobit Y X1 X2 X3, base(#) (多值probit选择模型)

排序数列模型的stata命令:ordered probit/logit

oprobit Y X1 X2 X3

ologit Y X1 X2 X3

oprobit

预测:predict p2 p3 p4 p5

列出第一个观测值的预测结果:list p2 p3 p4 p5 in 1/1 ,

ologit

预测:predict r2 r3 r4 r5

列出第一个观测值的预测结果:list r2 r3 r4 r5 in 1/1 ,

计数模型

(1)有些被解释变量仅能取非负整数,如金牌数量,看病次数等,一般用泊松回归。Stata 命令为

poisson y x1 x2 x2, r (稳健标准差)

estat gof (goodness of fitnes拟合优度检验)

泊松回归的局限是其期望和方差一定相等,但有些被解释变量的方差明显大于期望,即存在“过度分散”,则可以考虑“负二项回归”(negative binomial regression),使用MLE估

计。Nbreg y x1 x2 x2, r

如果计数数据中含有大量的零值,则可以使用“零膨胀泊松回归”。这可以Vuong统计量来检验,如果Vuong统计量很大,则选择零膨胀泊松回归或者零膨胀负二项泊松回归。

零膨胀泊松回归的stata命令为:

zip y x1 x2 x3, inflate(varlist) vuong (零膨胀泊松回归)

zipnb y x1 x2 x3, inflate(varlist) vuong (零膨胀负二项回归)

15.受限制的被解释变量(断尾回归、截取回归)

断尾回归stata命令:

truncreg y x1 x2 x3, ll(#) (左边断尾)

truncreg Y X1 X2 X3, ul(#) (右边断尾)

truncreg Y X1 X2 X3,ll(#)ul(#)(双边断尾)

截取回归stata命令:tobit模型

tobit y x1 x2 x3, ll(#)

tobit y x1 x2 x3, ul(#)

tobit y x1 x2 x3, ll(#) ul(#)

样本选择模型的stata命令:

Heckman y x1 x2 x3, select (z1 z2) (默认使用MLE,选择方程的被解释变量为y),最下的似然比检验P很小,则认为样本选择模型适用。

Heckman y x1 x2 x3, select (z1 z2) twostep (两步法,选择方程的被解释变量为y)

Heckman y x1 x2 x3, select (w=z1 z2) (默认使用MLE,选择方程的被解释变量为w)

16时间序列

(平稳时间序列、非平稳时间序列。AR自回归模型、MA为移动平均模型结合起来为ARMA 模型、自回归分布滞后模型ADL、向量自回归模型VAR、向量移动平均过程VMA、格兰杰因果检验:条件是变量协整)

(1)自相关和偏自相关

corrgrams y, lags (#) 第1至#阶ACF和PACF

ac y, lags(#)

pac y, lags(#)

(2)ARIMA

arima y, ar(1/#),ma(1/#) 或者

arima y, arima(#p,#d,#q) #p表示#阶自回归,#q表示#阶移动平均,#d表示#阶差分达到平稳过程。

检验残差是否存在自相关:

predict e1, res

corrgram e1,lags(#) (检查残差是否存在第1到第#阶自相关)

(3)ADL和ARMAX

ARMAX的stata命令

arima y x1 x2 x3, ar(#) ma(#)

对于时间序列,首先要设置时间项,tset timevar

对于非平稳时间序列,首先要用差分使其平稳:g dx1=d.x1 (当然差分后会缺失一个变量) 如果自相关系数和偏自相关系数都存在断尾,则考虑ARMA模型:理由

计算信息准则estat ic (目的是什么?根据信息准则判断哪一个模型更优)还可以去掉不显著的阶,回归后再运用信息准则比较。

(4)VAR

varsoc x y z, maxlag(#) (计算信息准则,最大滞后期默认值为4),根据信息准则可以估计VAR系统的阶数

var x y z (进行VAR估计,默认滞后期为2)

var x y z, lags(1/3) (滞后期为一至三期)

var x y z, lags(3) (滞后期为第三期)

var x y z, dfk (如果样本容量过小,可以用dfk进行自由度调整)

var x y z, small (显示小样本统计量)

var x y z, exog(w1, w2) (引入外生变量w1, w2)

varbasic x y z, irf (估计VAR模型,画脉冲响应图,未正交化)

varwle (进行VAR估计后,对每个方程及所有方程的各阶系数联合显著性进行wald检验,wle表示wald lag-exclusion statistics)

varlmar (估计后,对残差是否自相关进行LM检验)

varnorm (检验残差是否服从正态分布)

varstable,graph (进行VAR估计后,检查VAR系统是否为平稳过程,如果平稳则所有特征值都在单位圆内。)

vargranger (估计后,进行格兰杰因果检验)

irf create ,set ()step(#)replace (建立脉冲文件,是脉冲文件“”成为当前的脉冲文件,step表示考察几期的脉冲响应函数,默认为8,replace代表替代已有的文件名)irf graph irf (画脉冲响应图,未正交化)

irf graph oirf (画正交化的脉冲响应图)

fcast compute prefix, step(#) (估计VAR后,计算被解释变量的未来#期的预测值,并把预测值赋予被解释变量加上前缀“prefix”之后的变量名,如可以加F-)

fcast graph varlist,observed (执行命令“fcast compute”后,将变量“varlist”所代表的预测值画图,其中“observed”表示与实际观测值比较)

17非平稳的时间序列

有确定性趋势存在的时候,则成为不平稳,去掉时间因素,则成为平稳序列的我们叫它为趋势平稳序列;存在结构变动则为非平稳序列;存在随机趋势则也为非平稳序列。称平稳时间序列为零阶单整,如果时间序列的一阶差分为平稳,则称为一阶单整,也称为单位根过程,D阶差分为平稳,则成为“d阶单整”。单位根是用来检验是否平稳的。如果时间序列存在单位根,则为非平稳序列。

如果序列非平稳,则可能带来A.自回归系数的估计值向左偏向于0;B.t检验失效;C.两个相互独立的变量可能出现伪回归或伪相关。

进行单位根检验的方法有:

(1)DF检验,使用一阶自回归来检验单位根,要求扰动项为独立白噪声,故扰动项无自相关,若有自相关,则可以引入更高阶的滞后项来控制。

(2)ADF检验,多阶。在进行ADF检验时,确定滞后阶数P的大小,采用最大滞后阶数Pmax=[12.(T/100)1/4],(stata命令为:di 12*(t/100)^(1/4) 然后使用由大到小的序贯t规则,看ADF检验中最后一阶回归系数是否显著,也可以使用信息准则。

ADF检验的Stata命令为:

dfuller y (DF检验,不包含滞后差分项) ,若DF统计量较小,则拒绝单位根存在假设。

dfuller y, lags(p) (包含p阶滞后差分项)

dfuller y, noconstant (不带常数项)

dfuller y, trend (带时间趋势项)

dfuller y, regress (显示回归结果)e

(3)phillips-perron 单位根检验(PP检验)

PP检验使用一阶自回归,但使用异方差自相关稳健的标准差对DF统计量进行修正。

pperron y

pperron y(不带常数项)

pperron y,trend (带时间趋势项)

pperron y,regress (显示回归结果)

(4)DF-GLS单位根检验,是去趋势后再使用ADF检验

dfgls y (默认带时间趋势项,自动根据信息准则选择最佳滞后期数)

dfgls y,notrend (不带时间趋势项)

(5)KPSS单位根检验,将假设改为“时间序列为平稳”。

ssc install kpss (下载安装KPSS程序)

kpss y (默认包括时间趋势)

kpss y notrend (不带时间趋势项)

如果进行单位根检验认为是非平稳的,则要判断为I(1)或者是I(2) 。

协整概念和stata操作:

协整检验就是为了考察几个变量之间的长期均衡关系

检验协整秩的检验,即确定有多少个线性无关的协整向量,(检验中打星号的是线性无关的协整向量)。stata命令:

vecrank y1 y2… yn, lags(#) (默认设置包括常数项,但不包括时间趋势项)

vecrank y1 y2… yn, lags(#) trend(none)(不包括常数项,也不包括时间趋势项)

vecrank y1 y2… yn, lags(#) trend(trend)(包括常数项,也包括时间趋势项)

vecrank y1 y2… yn,max (显示最大特征值统计量及其临界值)

做完协整秩检验,并确认h>=1后,就可以对VECM模型(误差修正模型)进行最大似然估计。做VECM模型的目的是?

vec y1 y2… yn, lags(#) (默认设置包括常数项,但不包括时间趋势项)

vec y1 y2… yn, lags(#) trend(none)(不包括常数项,也不包括时间趋势项)

vec y1 y2… yn, lags(#) trend(trend)(包括常数项,也包括时间趋势项) 后面加rank(1)表示什么?回归后表格里面的数据的含义是什么?最后一列为协整方程代表的长期均衡关系

以上模型将估计短期的VECM模型和长期的协整回归。

veclmar (进行VECM估计后,检验残差是否存在自相关。)

vecnorm (检验残差是否服从正太分布)

vecstable graph (检验VECM是否为平稳过程,若点都在圆内,则为平稳过程)

脉冲和预测对比与平稳的VAR相似

脉冲响应是为了查看某变量受到另一变量冲击时呈现怎样的趋势。

18自回归条件异方差模型ARCH模型

在ARCH模型中,若自回归期数很多,则用GARCH模型,这样可以使得待估参数减少。GARCH(p,q)表示p为滞后阶数,q为扰动项滞后阶数。GARCH(1,1)等价于无穷阶ARCH 模型。

arch y x1 x2 x3(如:L.r L2.r L3.r), arch(1/3) [ arch(3) ]

arch y x1 x2 x3, arch(1) garch(1) [garch(1,1)]

arch y x1 x2 x3, arch(1) dist(t) [arch(1),扰动项服从t分布]

arch y x1 x2 x3, arch(1) het(z1 z2)

arch y x1 x2 x3, arch(1) garch(1) tarch(1)

arch y x1 x2 x3, arch(1) egarch(1) 由于进行迭代计算,估计过程时间较长

arch y x1 x2 x3, arch(1/3) archm

但是varsoc 加上maxlag 和不加默认4期的结果不一样,怎么选择呢?

19似不相关回归SUR和联立方程模型

各方程变量之间存在关系,则为联立方程模型,而各变量之间没关系,但扰动项相关,则为似不相关回归。似不相关回归的stata命令为:

Sureg (depvar1 varlist1) (depvar2 varlist2)…(depvarn varlistn), isure corr (isure代表迭代至收敛,默认值为不迭代,选项corr表示汇报对无同期相关的检验)

如果要检验联合假设“第一个方程中变量x的系数与第二个方程中变量z,以及第三个方程中变量w的系数相等”,可使用命令:

Test ([depvar1]x=[depvar2]z) ([depvar1]x=[depvar3]w)

如果要在满足以上两个约束条件的情况下进行SUR估计,则

constraint1 [depvar1]x=[depvar2]z 定义第一个约束条件

constraint2 [depvar1]x=[depvar3]w 定义第二个约束条件

Sureg (depvar1 varlist1) (depvar2 varlist2)…(depvarn varlistn),c(1 2)

最常见的系统估计法为三阶段最小二乘法,3SLS,stata命令为:

reg3 (depvar1 varlist1) (depvar2 varlist2) …(depvar varlistN) (默认采用3LSL)

reg3 (depvar1 varlist1) (depvar2 varlist2) …(depvar varlistN),ols (用OLS对单个方程进行单一方程估计)

reg3 (depvar1 varlist1) (depvar2 varlist2) …(depvar varlistN),2lsl (进行单一方程2SLS估计) reg3 (depvar1 varlist1) (depvar2 varlist2) …(depvar varlistN),first (给出第一步的计算结果) reg3 (depvar1 varlist1) (depvar2 varlist2) …(depvar varlistN),ireg3 (迭代式3LSL)

20.非线性回归NLS和门限回归

21统计方法:

(1)因子分析法:

factor variables, pcf

rotate

gen factor1=x1+x2

gen factor2=x3+x5

…..

Predict 因子名1 因子名2 因子名3…

(2)主成分分析法

STATA面板数据模型操作命令要点

STATA 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 μβit +=x y it it ε αμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量

gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS混合模型)●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F统计量便在于检验所有的个体效应整体上显著。在我们这个例子中发现F统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM统计量) (原假设:使用OLS混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui”之后第一幅图将不会呈现) xttest0

可以看出,LM检验得到的P值为0.0000,表明随机效应非常显著。可见,随机效应模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显著优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。

STATA最常用命令大全

stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5) drop if x<0 /* 删去x1<0的所有记录 drop in 10/12 /* 删去第10~12个记录 drop if x==. /* 删去x为缺失值的所有记录 drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录 drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录 drop _all /* 删掉数据库中所有变量和数据 STATA的变量赋值 用generate产生新变量 generate 新变量=表达式 generate bh=_n /* 将数据库的内部编号赋给变量bh。 generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个3……。直到数据库结束。 generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。 egen产生新变量 set obs 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。 STATA数据库的维护 保留变量或记录 keep in 10/20 /* 保留第10~20个记录,其余记录删除 keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除keep if x>0 /* 保留x>0的所有记录,其余记录删除

stata常见问题及解决办法个人总结笔记

1. 如何输出STATA的图,和保存? 先输入数据 (1)Twoway connected 变量1 变量2 //划出折线图 (2)twoway scatter 变量1 变量2 //划出散点图 2. 怎样在stata8中做HAUSMAN检验? 四步曲,重点在于解释结果 (1)xtreg y x , fe (2)est store fe (3)xtreg y x, re (4)hausman fe 如果拒绝,说明corr(x,ui)=0的假设是有问题的,需要重新设定RE model 后再进行检验,如果模型的设定没有问题,但检验还是拒绝原假设(p值接近0),那么就只能采用FE model 了,因为此时的RE 估计量是有偏的。 (definitely right. 当你使用stata的时候,最重要的命令不是这些是help and find it然后就能找到你的答案了) hausman检验是用来检验用fe还是re的,其原假设是re优于fe,从你的结果来看(Prob>chi2 =0.0000),应该拒绝原假设,所以应该用fe 3.stata里平方的命令怎么写? gen age=age^2 4. stata里边怎么取对数啊? gen lnx=log(x) 5.如何用STATA求自然对数?如说:ln(X^2)=-4.8536,如何求X啊? . dis sqrt(exp(-4.8536))或者dis exp(-4.8536/2) 6.关于hausman检验,结果是CHI2(2)=2355.81,prob>chi2=0.000,可以使用随机效应模型嘛? prob>chi2=0.000,is like p-value. we should reject the null, so fixed effect is preferred.Randome effect is not suggested. CHI2(2)=2355.81,就意味着拒绝原假设,从而选取固定效应模型。 7.我在做gdp一阶差分单位根检验的时候,输入的命令是ipshin dgdp,lags(1)得

Stata命令整理教学内容

Stata 命令语句格式: [by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] 1、[by varlist:] *如果需要分别知道国产车和进口车的价格和重量,可以采用分类操作来求得, sort foreign //按国产车和进口车排序 . by foreign: sum price weight *更简略的方式是把两个命令用一个组合命令来写。 . by foreign, sort: sum price weight 如果不想从小到大排序,而是从大到小排序,其命令为gsort。 . sort - price //按价格从高到低排序 . sort foreign -price /*先把国产车都排在前,进口车排在后面,然后在国产车内再按价格从大小到排序,在进口车内部,也按从大到小排序*/ 2、[=exp]赋值运算 . gen nprice=price+10 //生成新变量nprice,其值为price+10 /*上面的命令generate(略写为gen) 生成一个新的变量,新变量的变量名为 nprice,新的价格在原价格的基础上均增加了10 元。 . replace nprice=nprice-10 /*命令replace 则直接改变原变量的赋值,nprice 调减后与price 变量取值相等*/ 3、[if exp]条件表达式 . list make price if foreign==0 *只查看价格超过1 万元的进口车(同时满足两个条件),则 . list make price if foreign==1 & price>10000 *查看价格超过1 万元或者进口车(两个条件任满足一个) . list make price if foreign==1 | price>10000 4、[in range]范围筛选 sum price in 1/5 注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。 如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。 . sum price in 1/10 if foreign==0 5、[weight] 加权 sum score [weight=num] 其中,num为每个成绩所对应的人数 6、[, options]其他可选项 例如,我们不仅要计算平均成绩,还想知道成绩的中值,方差,偏度和峰度等*/ . sum score, detail . sum score, d //d 为detail 的略写,两个命令完全等价 . list price, nohead //不要表头 Stata 数据类型转换 1、字符型转化成数值型 destring, replace //全部转换为数值型,replace 表示将原来的变量(值)更新 destring date, replace ignore(“ ”) 将字符型数据转换为数值型数据:去掉字符间的空格destring price percent, gen(price2 percent2) ignore(“$ ,%”) 与date 变量类似,变量price 前面有美元符号,变量percent 后有百分号,换为数值型时需要忽略这些非数值型字符 2、数值型转化为字符型

Stata学习笔记

以下命令均采用小写字母 Chapter 1 stata入门 打开数据 use "D:\Stata9\", clear 用use命令打开数据 sysuse auto,clear auto 为系统数据sysuse为打开系统数据的命令 获取帮助 Help summarize summarize为需要获取帮助对象可以改为其他的需要帮助的对象Findit summarize,net 寻找网络帮助summarize为需要获取帮助对象 Search summarize ,net 寻找网络帮助summarize为需要获取帮助对象 显示结果 Display 5+9 描述统计(summarize 可简写成sum) Use atuo,clear Summarize price 描述price的观察值个数、平均值、标准差、最小值、最大值 Sum weight summarize可简写成sum Sum weight price 同时完成上面两步 绘图 Scatter price weight scatter 为绘制散点图命令 Line price weight ,sort line 为绘制折线图命令,sort为排序,绘制折线图前需要先排序 生成新的数据(generate 可简写成gen) Clear Set obs 1000 设置观测值的组数 Gen x=_n _n 为观察值得序号 Gen y=x+100 控制结果输出显示 List n 设置屏幕滚动 Set more off 先设置此项则显示时,屏幕不停止 Set more on 先设置此项则显示时,会使显示停止 清除内存中原有内容 clear 设置文件存取路径(cd) Cd d:\stata d:\stata为路径

最新Stata软件基本操作和数据分析入门

Stata软件基本操作和数据分析入门 第一讲Stata操作入门 张文彤赵耐青 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。

除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。 2.命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

(完整)stata命令总结,推荐文档

stata11 常用命令 注:JB统计量对应的p大于0.05 ,则表明非正态,这点跟sktest 和 swilk 检验刚好相反;dta 为数据文件;gph 为图文件;do 为程序文件;注 意stata 要区别大小写;不得用作用户变量名: _all _n _N _skip _b _coef _cons _pi _pred _rc _weight double float long int in if using with 命令:读入数据一种方式 input x y 14 2 5.5 3 6.2 47.7 58.5 end su/summarise/sum x 或su/summarise/sum x,d 对分组的描述: sort group by group:su x %%%%% tabstat economy,stats(max)%返回变量economy的最大值 %%stats括号里可以是:mean,count(非缺失观测值个数),sum(总 和),max,min,range , %% sd ,var ,cv(变易系数=标准差/ 均值),skewness,kurtosis , median,p1(1 %分位 %% 数,类似地有p10, p25, p50, p75, p95, p99),iqr(interquantile range = p75 –p25) _all %描述全部 _N 数据库中观察值的总个数。 _n 当前观察值的位置。 _pi 圆周率π 的数值。 list gen/generate % 产生数列egen wagemax=max(wage) clear use by(分组变量)

Stata笔记-北京科技大学

改颜色edit-preference-general prefernce-classic 下面命令框-右键-font-改字号 命令cd d:\ 改到d盘(change directory) dir查询d盘有什么 sysuse auto 系统自带汽车数据,数据变量(字段)显示在右上角 br(owse) 浏览数据(字符型红色,数值型黑色,蓝色-右键-value labels-hide all labels标签隐藏) h(elp) li(st) 告诉你命令怎么用,下面有例子 左边双击执行,单击复制到命令框 order price mpg(单击右边的变量) order make-foreign 改变变量顺序,从make到foreign g(enerate) new=rep78-trunk 输出新变量(rep78,trunk是字段,可单击选择,"."表示缺省,加减乘除+-*/) list if new==14 (==为等于,=为赋值,可以点击more) li(st) if new2>=14 & new2<24 (按q可以退出,即quit) replace new3=rep78 (输错了替换) drop new new2 new3删除变量 list if new>10000 list make if new<10000|new>2000 (竖线表示或者,回车上面那个) !=表示不等于 左边命令,右键save save data 文件名为data sysuse auto preserve reserve save auto2 保存时不需加后缀,删除时带后缀.dta sort price从小到大 gsort price 都可以,比较随意 gsort -trunk price (默认加号,为排序) order make new (将new排到第二位) aorder (alphabetic 按字母顺序排序) disp(lay) sin(1) 作为计算器使用 ln以e为底 ----------------3.13--------- 锐思数据库选择数据 -----非金融行业负债表---- 左边-财务报表-非金融行业 合并标识-1合并报表 调整标识-1 报表类型-q4、信息来源-q4 公司类别-20-定期报告 信息来源:q4 a股股票代码

5分钟速学stata面板数据回归(初学者超实用!)

5分钟速学stata面板数据回归(超实用!) 第一步:编辑数据。 面板数据的回归,比如该回归模型为:Y it=β0+β1X1it+β2X2it+β3X3it+εt,在stata中进行回归,需要先将各个变量的数据逐个编辑好,该模型中共有Y X1 X2 X3三个变量,那么先从Y的数据开始编辑,将变量Y的面板数据编辑到stata软件中,较方便的做法是,将excel的数据直接复制到stata软件的数据编辑框中,而excel中的数据需要如下图编辑: 从数据的第二行开始选中20个样本数据,如图:

直接复制粘贴至stata中的data editor中,如图: 第二步:格式调整。 首先,请将代表样本的var1Y变量数据是选20个省份5年的数据为样本,那么口令为rename var1 province 。例如:本例中的Y变量数据编辑接下来需要输入口令为reshape long var,i(province) 其中,var代表的是所有的年份(var2,var3,var4,var5,var6),转化后格式如图: 转化成功后,继续重命名,其中_j这里代表原始表中的年份,var代表该变量的名称

例如,我们编辑的是Y变量的数据,所以口令3和口令4的输入如下: 口令3:rename _j year 口令4:rename var taxi (注:taxi就是Y变量,我们用taxi表示Y) 命名完,数据编辑框如下图所示。 第三步:排序。 例如,本例中的Y变量(taxi),是20个省份和5年的面板数据, 那么口令4为sort province year (虽意思是将province按升序排列,然后再根据排好的province数列排year这一列升序排列。然很多时候在执行sort之前,数据已经符合排序要求了,但为以防万一,请务必执行此操作) 第三步:保存。

stata常用作图指令包你满意

S tata tata 作图常用指令作图常用指令作图常用指令 1.1.茎叶图茎叶图茎叶图 stem x1,line(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成两段来显示,前半段为0~4,后半段为5~9) stem x1,width(2) (做x1的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组距为2) stem x1,round(100) (将x1除以100后再做x1的茎叶图) 2.2.直方图直方图 直方图 histogram mpg, discrete frequency normal xlabel(1(1)5) (discrete 表示变量不连续,frequency 表示显示频数,normal 加入正太分布曲线,xlabel 设定x 轴,1和5为极端值,(1)为单位) histogram price, fraction norm (fraction 表示y 轴显示小数,除了frequency 和fraction 这两个选择之外,该命令可替换为“percent”百分比,和“density”密度;未加上discrete 就表示将price 当作连续变量来绘图) histogram price, percent by(foreign) (按照变量“foreign”的分类,将不同类样本的“price”绘制出来,两个图分左右排布) histogram mpg, discrete by(foreign, col(1)) (按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,两个图分上下排布) histogram mpg, discrete percent by(foreign, total) norm (按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,同时绘出样本整体的“总”直方图) 3.3.二变量图二变量图二变量图 graph twoway lfit price weight || scatter price weight

5分钟搞定Stata面板数据分析

【原创】5分钟搞定Stata面板数据分析简易教程ver2.0作者:张达 5分钟搞定Stata面板数据分析 简易教程 步骤一:导入数据 原始表如下, 数据请以时间(1998 ,1999,2000, 2001 ??)为横轴,样本名(北京,天津,河北??) 为纵轴 1 裁*■■別1A I 11 ■u 9K ILEXxl- V,j si ao LL B- iic190 ..1( HJ曲1 1 g力?r4 々■l* Mfl 1 KM J| JgRi MM3icm*w II7QQ -HQ SiqD tuff 1 'C4 3 4 IftJV -mi KH>loogi liW (0M 3M9WH jaii I MO Kai W w ■齐itm xm fill OTI Mil taiK ■5W?U|J TXE HH sia心?9 f Id 叼m in a* ft I*■JtaC如M~4 気Hi A|$A rm inoo IM? livra.w vtatr1IJMj X#*4>t1| 筑?BF7 ■?|!N I9*V1IRV gw 1W1VJ I-J H itW Ml ? 稠申审砂y li>M l>R Md w VIM e> mu IM HM 內)944 w 命■ n I L BII i mi 靜Ml hw w 3K:1ST? *7^ FJE inm ifini uni 4 5w 心 HtJ TW JTfl 9MI*HAS ■ilJto KO >4*461/M3 1 <141*11诃却4LJt 4ktt VM匸F w g ivt E4M laM ■ii T PD w im W i.JV 1 P w L*l 1tiZF MM7 <1 H1! liyi 将中文地名替换为数字。

stata命令大全(全)

*********面板数据计量分析与软件实现********* 说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。本人做了一定的修改与筛选。 *----------面板数据模型 * 1.静态面板模型:FE 和RE * 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验 * 4.动态面板模型(DID-GMM,SYS-GMM) * 5.面板随机前沿模型 * 6.面板协整分析(FMOLS,DOLS) *** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。 * 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA) *** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。常应用于地区经济差异、FDI溢出效应(Spillovers Effect)、工业行业效率状况等。 * 空间计量分析:SLM模型与SEM模型 *说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。 * --------------------------------- * --------一、常用的数据处理与作图----------- * --------------------------------- * 指定面板格式 xtset id year (id为截面名称,year为时间名称) xtdes /*数据特征*/ xtsum logy h /*数据统计特征*/ sum logy h /*数据统计特征*/ *添加标签或更改变量名 label var h "人力资本" rename h hum *排序 sort id year /*是以STATA面板数据格式出现*/ sort year id /*是以DEA格式出现*/ *删除个别年份或省份 drop if year<1992 drop if id==2 /*注意用==*/ *如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel格式,需要用egen命令) egen year_new=group(year) xtset id year_new **保留变量或保留观测值 keep inv /*删除变量*/ **或 keep if year==2000 **排序 sort id year /*是以STATA面板数据格式出现 sort year id /*是以DEA格式出现 **长数据和宽数据的转换 *长>>>宽数据 reshape wide logy,i(id) j(year)

stata学习笔记

经济数据的特点与类型。 1、横截面数据:多个经济个体的变量在同一时间点上的取值,如2012年中国各省的GDP 2、时间数列数据:指的是某个经济个体的变量在不同时点上的取值,如1978-2012年山东 省每年的GDP 3、面板数据:多个经济个体的变量在不同时点上的取值,如1978-2012年中国各省的GDP 小样本OLS(最小二乘法):单一方程线性回归最常见方法 条件:解释变量与扰动项正交、扰动项无自相关、同方差。 拟合优度:衡量线性回归模型对样本数据的拟合程度(R2),越高说明模型拟合程度越好。单系数T检验:对回归方程扰动项的具体概率进行假设 显著性水平进行检验 F检验:整个回归方程是否显著 STATA操作简介: 如果数据中包含1949-10-01或1949/10/01的时间变量,导入stata后可能会被视为字符串,因此对于日度数据,可以使用命令gen newvar=date(varname,YMD),将其转换为整数日期变量,其中YMD说明原始数据的格式为年月日,如果原始数据的格式为月日年则使用MDY;对于月度数据则gen newvar=monthly(varname,YM)。 .describe:数据的概貌.drop keep:删除和保留 .su:统计特征Pwcorr:变量之间相关系数 Star(.05):5%显著性水平gen:产生 g intc=log(tc):取自然对数. reg:OLS回归 .Vce:协方差矩阵reg。。。,noc表示在进行回归时不要常数项 大样本OLS:只要求解释变量与同期的扰动项正交即可Robust:稳健标准误,如果存在异方差,则应使用稳健标准误

Stata中的图形制作绝对自己总结

第三章S t a t a中的图形制作

进一步设置: Msymbol(T)mcolor(black)mlabel(make)mlabpositon(9)by(foreign) 散点形状:实心大三角,颜色:黑色,标签内容:make,位置为9点钟处;按foreign绘制 用线段的升降趋势来说明现象变化或变量之间关系的一种图形。它与散点图类似,实际上它就是将连续型的数值变量点连接起来的一种图形,但由于它还可以用于回归 基本命令[twoway]lineyx 一定注意x变量要放置在y变量之后 连接样式的设定connect(样式代码) 线条样式的设定clpattern(样式代码) 案例:运用数据绘制曲线标绘图。利用文件中的数据绘制人均消费c和人均国内生产总值y随时 间变化的曲线标绘图。(1)将图例分成两行设计,图例内容“人均消费“和”人均GDP”,并让图例在图形内部十一点钟的位置;(2)线条一条为实线连接,一条为虚线连接;(3)线条一条为直 线连接,一条为stairstep方式连接 twowaylinecyyear,legend(label(1”人均消费”)label(2”人均 GDP”)posit ion(11)ring(0)row(2))clpattern(soliddash)connect(lJ) ring(0):使图例显示在图形内部;row(2):图例分两行显示;clpattern(soliddash):实线和虚线;connect(lJ):直线连接和stairstep方式的连接 图hbar,纵向条形图bar。 在绘制条形图的过程中,需要指明所要展示的统计量,如果不指明统计量,则会默认显示均值(mean)统计量。

[推荐] stata基本操作汇总常用命令

[推荐] Stata基本操作汇总——常用命令 help和search都是查找帮助文件的命令,它们之间的 区别在于help用于查找精确的命令名,而search是模糊查找。 如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在stata的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部 内容。如果你想知道在stata下做某个估计或某种计算,而 不知道具体该如何实现,就需要用search命令了。使用的 方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名 和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容.下面该正式处理数据了。我的处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在stata 窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出

现“bring do-file editor to front”,点击它就会出现do文件编 辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。capture clear (清空内存中的数据)capture log close (关闭所有 打开的日志文件)set more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日志文件。)exit,clear (退出并清空内存中的数据。) 实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果 使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数

复旦大学stata精华学习笔记

Stata: 输出regression table到word和excel 1. 安装estout。最简单的方式是在stata的指令输入: ssc install estout, replace EST安装的指导网址是:https://www.doczj.com/doc/c611622971.html,/bocode/e/estout/installation.html 2.跑你的regression 3.写下这行指令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,则拒绝原假设,即不存在异方差性 处理异方差性问题的方法: 方法一:WLS WLS是GLS(一般最小二乘法)的一种,也可以说在异方差情形下的GLS就是WLS。在WLS下,我们设定扰动项的条件方差是某个解释变量子集的函数。之所以被称为加权最小二乘法,是因为这个估计最小化的是残差的加权平方和,而上述函数的倒数恰为其权重。 在stata中实现WLS的方法如下: reg (被解释变量)(解释变量1)(解释变量2)…… [aweight=变量名]

常用到的stata命令

常用到的sta命令 闲话不说了。help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在sta的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。如果你想知道在sta下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。使用的方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容。 下面该正式处理数据了。我的处理数据经验是最好能用sta的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在sta窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-file editor to front”,点击它就会出现do文件编辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。 /*(标签。简单记下文件的使命。)*/ capture clear(清空内存中的数据) capture log close(关闭所有打开的日志文件) set mem 128m(设置用于sta使用的内存容量) set more off(关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。) set matsize4000(设置矩阵的最大阶数。我用的是不是太大了?)

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.命令 稳健标准差回归:reg y x1 x2 x3, robust 回归系数与 OLS 一样,但标准差存在差异。如果认为存在异方差,则使用稳健标准差。使用稳健标准差可以对大样本进行检验。 只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假 设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用 对单个系数进行检验:test lnq=1 线性检验:testnl_b[lnpl]=_b[lnq]^2 5.如果回归模型为非线性,不方便使用 OLS,则可以采取最大似然估计法(MLE),或者非线 性最小二乘法(NLS) 6.违背经典假设,即存在异方差的情况。截面数据通常会出现异方差。 因此检验异方差可以: (1)看残差图,但只是直观,可能并不准确。 rvfplot(residual-versus-fitted plot)与拟合值的散点图 rvpplot varname(residual-versus-predictor plot)与解释变量的散点图 扰动项的方差随观测值而变动,表示可能存在异方差。 (2)怀特检验: estat imtest,white(post-estimation information matrix test) P比较小,则拒绝同方差假设,表示存在异方差,不能用OLS。反之则证明为同方差。 (3)BP 检验 estat hettest,iid (默认设置为使用拟合值 y^) estat hettest, rhs iid (使用方程右边的解释变量,而不是 y^)

Stata常用15条命令

【命令1】:导入数据 一般做实证分析使用的是excel中的数据,其后缀名为.xls,需要将其修改为.csv insheet using name.csv, clear 【命令2】:删除重复变量 sort var1 var2 duplicatesdrop var1 var2, force 【命令3】:合并数据 use data1, clear merge m:m var1 var2 using data2 drop if _merge==2 drop if _merge==1 drop _merge 【命令4】:描述性统计分析 tabstat var1var2, stat(n min mean median p25 p75 max sd), if groupvar==0 or 1 输出到word中: logout, save(name) word replace: tabstat var, stat(n min mean p50 max sd) col(stat)f(%9.2g) 【命令5】:结果输出 安装 ssc install estout, replace 单个回归 reg y x esttab using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01) 多个回归一起 reg y x1 est store m1 reg y x2 est store m2 esttab m1 m2 using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)

相关主题
文本预览
相关文档 最新文档