Stata命令整理

合集下载

STATA常用命令大全

STATA常用命令大全

STATA 常用命令大全调整变量格式:format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 %10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐合并数据:use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge using "C:\Documents and Settings\xks\桌面\1999.dta"——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clearmerge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对id进行排序(sort)建议采用第一种方法。

对样本进行随机筛选:sample 50在观测案例中随机选取50%的样本,其余删除sample 50,count在观测案例中随机选取50个样本,其余删除查看与编辑数据:browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)数据合并(merge)与扩展(append)merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。

stata命令大全(全)

stata命令大全(全)

*********面板数据计量分析与软件实现*********之迟辟智美创作说明:以下do文件相当一部份内容来自于中山年夜学连玉君STATA教程,感谢他的贡献.自己做了一定的修改与筛选.*面板数据模型* 1.静态面板模型:FE 和RE* 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE(pols混合最小二乘估计)* 3.异方差、序列相关和截面相关检验* 4.静态面板模型(DIDGMM,SYSGMM)* 6.面板协整分析(FMOLS,DOLS)*** 说明:15均用STATA软件实现, 6用GAUSS软件实现.* 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA)*** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,偏重于比力CD与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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /暗示在每个省份再追加5年,用于面板数据/ tsset*或者tsdes.tsappend,add(8) /暗示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*发生一阶滞后项),同样可发生二阶滞后项*/gen dy=D.y /*发生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列.可用命令aorder或者order fdi open insti** 二、静态面板模型** 简介* 面板数据的结构(兼具截面资料和时间序列资料的特征)use product.dta, clearbrowsextset id yearxtdes** 固定效应模型** 实质上就是在传统的线性回归模型中加入 N1 个虚拟变量,* 使得每个截面都有自己的截距项,* 截距项的分歧反映了个体的某些不随时间改变的特征** 例如: lny = a_i + b1*lnK + b2*lnL + e_it* 考虑中国29个省份的CD生产函数*******画图**散点图+线性拟合直线twoway (scatter logy h) (lfit logy h)*散点图+二次拟合曲线twoway (scatter logy h) (qfit logy h)*散点图+线性拟合直线+置信区间twoway (scatter logy h) (lfit logy h) (lfitci logy h)*按分歧个体画出散点图和拟合线,可以以做出fe vs re的初判断*twoway (scatter logy h if id<4) (lfit logy h if id<4) (lfit logy h if id==1) (lfit logy h if id==2) (lfit logy h if id==3)*按分歧个体画散点图,so beautiful!!!*graph twoway scatter logy h if id==1 || scatter logy h ifid==2,msymbol(Sh) || scatter logy h if id==3,msymbol(T) || scatter logy h if id==4,msymbol(d) || , legend(position(11) ring(0) label(1 "北京") label(2 "天津") label(3 "河北") label(4 "山西")) **每个省份logy与h的散点图,并将各个图形合并twoway scatter logy h,by(id) ylabel(,format(%3.0f))xlabel(,format(%3.0f))*每个个体的时间趋势图*xtline h if id<11,overlay legend(on)* 一个例子:中国29个省份的CD生产函数的估计tab id, gen(dum)list* 回归分析reg logy logk logl dum*,est store m_olsxtreg logy logk logl, feest store m_feest table m_ols m_fe, b(%6.3f) star(0.1 0.05 0.01)* Wald 检验test logk=logl=0test logk=logl* stata的估计方法解析* 目的:如果截面的个数非常多,那么采纳虚拟变量的方式运算量过年夜* 因此,要寻求合理的方式去除失落个体效应* 因为,我们关注的是 x 的系数,而非每个截面的截距项 * 处置方法:** y_it = u_i + x_it*b + e_it (1)* ym_i = u_i + xm_i*b + em_i (2) 组内平均* ym = um + xm*b + em (3) 样本平均* (1) (2), 可得:* (y_it ym_i) = (x_it xm_i)*b + (e_it em_i) (4) /*within estimator*/* (4)+(3), 可得:* (y_itym_i+ym) = um + (x_itxm_i+xm)*b + (e_item_i+em) * 可重新暗示为:* Y_it = a_0 + X_it*b + E_it* 对该模型执行 OLS 估计,即可获得 b 的无偏估计量**stata后台把持,揭开fe估计的神秘面纱!!!egen y_meanw = mean(logy), by(id) /*个体内部平均*/egen y_mean = mean(logy) /*样本平均*/egen k_meanw = mean(logk), by(id)egen k_mean = mean(logk)egen l_meanw = mean(logl), by(id)egen l_mean = mean(logl)gen dyw = logy y_meanwgen dkw = logk k_meanwgen dlw=logll_meanwreg dyw dkw dlw,noconsest store m_statagen dy = logy y_meanw + y_meangen dk = logk k_meanw +k_meangen dl=logll_meanw+l_meanreg dy dk dlest store m_stataest table m_*, b(%6.3f) star(0.1 0.05 0.01)* 解读 xtreg,fe 的估计结果xtreg logy h inv gov open,fe* R^2* y_it = a_0 + x_it*b_o + e_it (1) pooled OLS* y_it = u_i + x_it*b_w + e_it (2) within estimator* ym_i = a_0 + xm_i*b_b + em_i (3) between estimator** > Rsq: within 模型(2)对应的R2,是一个真正意义上的R2 * > Rsq: between corr{xm_i*b_w,ym_i}^2* > Rsq: overall corr{x_it*b_w,y_it}^2***** sigma_u, sigma_e, rho* rho = sigma_u^2 / (sigma_u^2 + sigma_e^2)dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2)** 个体效应是否显著?* F(28, 373) = 338.86 H0: a1 = a2 = a3 = a4 = a29* Prob > F = 0.0000 标明,固定效应高度显著*如何获得调整后的 R2,即 adjR2 ?ereturn listreg logy h inv gov open dum**拟合值和残差* y_it = u_i + x_it*b + e_it* predict newvar, [option]/*xb xb, fitted values; the defaultstdp calculate standard error of the fitted valuesue u_i + e_it, the combined residualxbu xb + u_i, prediction including effectu u_i, the fixed or randomerror componente e_it, the overall error component */xtreg logy logk logl, fepredict y_hatpredict a , upredict res,epredict cres, uegen ares = a + reslist ares cres in 1/10** 随机效应模型** y_it = x_it*b + (a_i + u_it)* = x_it*b + v_it* 基本思想:将随机干扰项分成两种* 一种是不随时间改变的,即个体效应 a_i* 另一种是随时间改变的,即通常意义上的干扰项 u_it * 估计方法:FGLS* Var(v_it) = sigma_a^2 + sigma_u^2* Cov(v_it,v_is) = sigma_a^2* Cov(v_it,v_js) = 0* 利用Pooled OLS,Within Estimator, Between Estimator* 可以估计出sigma_a^2和sigma_u^2,进而采纳GLS或FGLS* Re估计量是Fe估计量和Be估计量的加权平均* yr_it = y_it theta*ym_i* xr_it = x_it theta*xm_i* theta = 1 sigma_u / sqrt[(T*sigma_a^2 + sigma_u^2)]* 解读 xtreg,re 的估计结果use product.dta, clearxtreg logy logk logl, re* R2* > Rsq: within corr{(x_itxm_i)*b_r, y_itym_i}^2* > Rsq: between corr{xm_i*b_r,ym_i}^2* > Rsq: overall corr{x_it*b_r,y_it}^2* 上述R2都不是真正意义上的R2,因为Re模型采纳的是GLS估计.** rho = sigma_u^2 / (sigma_u^2 + sigma_e^2)dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2)** corr(u_i, X) = 0 (assumed)* 这是随机效应模型的一个最重要,也限制该模型应用的一个重要假设* 然而,采纳固定效应模型,我们可以粗略估计出corr(u_i, X) xtreg market invest stock, fe** 时间效应、模型的筛选和罕见问题*目录* 时间效应(双向固定(随机)效应模型)* 模型的筛选* 面板数据罕见问题* 面板数据的转换** 时间效应** 单向固定效应模型* y_it = u_i + x_it*b + e_it* 双向固定效应模型* y_it = u_i + f_t + x_it*b + e_itqui tab year, gen(yr)drop yr1xtreg logy logk logl yr*, fe* 随机效应模型中的时间效应xtreg logy logk logl yr*, fe** 模型的筛选** 固定效应模型还是Pooled OLS?xtreg logy logk logl yr*, fe /*Wald 检验*/ qui tab id, gen(dum) /*LR检验*/ reg logy logk logl /*POLS*/est store m_olsreg logy logk logl dum*,noconsest store m_felrtest m_ols m_feest table m_*, b(%6.3f) star(0.1 0.05 0.01) * RE vs Pooled OLS?* H0: Var(u) = 0* 方法一:BP 检验xtreg logy logk logl, rexttest0* FE vs RE?* y_it = u_i + x_it*b + e_it* Hausman 检验* 基本思想:如果 Corr(u_i,x_it) = 0, Fe 和 Re 都是一致的,但Re更有效* 如果 Corr(u_i,x_it)!= 0, Fe 仍然有效,但Re是有偏的* 基本步伐***情形1:huasman为正数xtreg logy logk logl, feest store m_fextreg logy logk logl, reest store m_rehausman m_fe m_re*** 情形2:qui xtreg logy h inv gov open,feest store fequi xtreg logy h inv gov open,reest store rehausman fe re* Hausman 检验值为负怎么办?* 通常是因为RE模型的基本假设 Corr(x,u_i)=0 无法获得满足* 检验过程中两个模型的方差协方差矩阵都采纳Fe模型的 hausman fe re, sigmaless* 两个模型的方差协方差矩阵都采纳Re模型的hausman fe re, sigmamore*== 为何有些变量会被drop失落?use nlswork.dta, cleartsset idcode yearxtreg ln_wage hours tenure ttl_exp, fe /*正常执行*/* 发生种族虚拟变量tab race, gen(dum_race)xtreg ln_wage hours tenure ttl_exp dum_race2 dum_race3, fe * 为何 dum_race2 和 dum_race3 会被 dropped ?* 固定效应模型的设定:y_it = u_i + x_it*b + e_it (1)* 由于个体效应 u_i 不随时间改变,* 因此若 x_it 包括了任何不随时间改变的变量,* 城市与 u_i 构成多重共线性,Stata会自动删除之.*******异方差、序列相关和截面相关问题* 简介* y_it = x_it*b + u_i + e_it** 由于面板数据同时兼顾了截面数据和时间序列的特征,* 所以异方差和序列相关肯定会存在于面板数据中;* 同时,由于面板数据中每个截面(公司、个人、国家、地域)之间还可能存在内在的联系,* 所以,截面相关性也是一个需要考虑的问题.** 此前的分析依赖三个假设条件:* (1) Var[e_it] = sigma^2 同方差假设* (2) Corr[e_it, e_its] = 0 序列无关假设* (3) Corr[e_it, e_jt] = 0 截面不相关假设** 当这三个假设无法获得满足时,便分别呈现异方差、序列相关和截面相关问题;* 我们一方面要采纳各种方法来检验这些假设是否获得了满足;* 另一方面,也要在这些假设无法满足时寻求合理的估计方法.* 假设检验*== 组间异方差检验(截面数据的特征)* Var(e_i) = sigma_i^2* Fe 模型xtreg logy logk logl, fexttest3* Re 模型* Re自己已经较年夜水平的考虑了异方差问题,主要体现在sigma_u^2上*== 序列相关检验* Fe 模型xtserial logy logk loglxtserial logy logk logl, output* Re 模型xtreg logy logk logl, rexttest1 /*提供多个统计检验量*/*== 截面相关检验* xttest2命令 H0: 所有截面残差的相关系数都相等xtreg logy logk logl, fexttest2* 由于检验过程中执行了SUE估计,所以要求T>Nxtreg logy logk logl if id<6, fexttest2* xtcsd 命令(提供了三种检验方法)xtreg logy logk logl, fextcsd , pesaran /*Pesaran()*/xtcsd , friedman /*Friedman(1937)*/xtreg logy logk logl, rextcsd , pesaran* 估计方法*== 异方差稳健型估计xtreg logy h inv gov open, fe robustest store fe_rbxtreg logy h inv gov open, fe robustest store fe* 结果比较esttab fe_rb fe, b(%6.3f) se(%6.3f) mtitle(fe_rb fe)*== 序列相关估计* 一阶自相关 xtregar, fe/re* 模型: y_it = u_i + x_it*b + v_it (1)* v_it = rho*v_it1 + z_it (2)xtregar logy h inv gov open, feest store fe_ar1xtregar logy h inv gov open,fe lbi /*BaltagiWu LBI test*/* 说明:* (1) 这里的DurbinWatson =1.280677 具有较为复杂的分布,* 分歧于时间序列中的DW统计量.* (2) 其临界值见Bhargava et al. (1982, The Review of Economic Studies 49:553549)* (3) BaltagiWu LBI = 1.4739834 基本上没有太年夜的参考价值,* 因为他们并未提供临界值表,而该统计量的分布又相当复杂xtregar logy h inv gov open, reest store re_ar1* 两阶段估计xtregar logy h inv gov open, fe twostepest store fe_ar1_two* 结果比较xtreg logy h inv gov open, feest store felocal models "fe fe_ar1 re_ar1 fe_ar1_two "esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') r2sca(r2_w corr)* 高阶自相关* newey2 命令newey2 logy h inv gov open, lag(2)*== 组间相关(截面相关)* cluster 选项use xtcs.dta, clearxtreg logy h inv gov open, fe cluster(id)est store fe_clusterxtreg logy h inv gov open, re cluster(id)est store re_cluster************看过去很晕,采纳一种综合处置:* xtgls 命令* xtpcse 命令* 简介(Greene, 2000, chp15)** 模型* y = X*b + U* 重点在于考虑干扰项 U 的结构,包括* (1) 异方差 (2) 序列相关 (3) 截面相关性* 应用范围:多用于“年夜T,小N”型面板数据,* 因为,此时截面的异质性其实不是重点关注的,而时序特征则较为明显* 因此,模型设定中未考虑个体效果* | y_1 | | X_1 | | e_1 |* | y_2 | | X_2 | | e_2 |* | . | | . | | . |* | . | = | . | * b + | . |* | . | | . | | . |* | y_n | | X_n | | e_n |* 截面异方差* E[e_i*e_i'] = s_i^2** | s1^2 0 ... 0 |* | 0 s2^2 ... 0 |* | . |* V = | . |* | . |* | 0 0 ... sn^2 |* 截面相关* E[e_i*e_i'] = s_ij^2** | s_11 s_12 ... s_1n |* | s_21 s_22 ... s_2n |* | . |* V = | . | * sigma^2* | . |* | s_n1 s_n2 ... s_nn |* 序列相关* E[e_i*e_i'] = s_i^2 * M_i** | s1^2*M_1 0 ... 0 |* | 0 s2^2*M_2 ... 0 |* | . |* V = | . |* | . |* | 0 0 ... sn^2*M_n |* GLS 估计* b = [X'V^{1}*X]^{1}[X'V^{1}y]* Var[b] = [X'V^{1}*X]^{1}* 估计和检验*=== xtgls 命令use invest2.dta, clearxtgls market invest stock, panels(iid) /*iid, 同即是Pooled OLS*/est store g_0reg market invest stockest store g_olsxtgls market invest stock, panel(het) /*截面异方差*/est store g_phetxtgls market invest stock, corr(ar1) /*所有截面具有相同的自相关系数*/est store g_par1xtgls market invest stock, corr(psar1) /*每个截面有自己的自相关系数*/est store g_psar1xtgls market invest stock, panel(corr) /*截面间相关且异方差*/est store g_pcorrxtgls market invest stock, p(c) corr(ar1)est store g_all* 检验异方差xtgls market invest stock, panel(het) /*截面异方差*/xttest3* 检验序列相关xtserial market invest stock* 检验截面相关xtgls market invest stock, panel(het)xttest2* 结果比较xtreg market invest stock, feest store felocal models "fe g_0 g_ols"esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') r2sca(r2_w)local models "fe g_phet g_par1 g_psar1 g_pcorr g_all"esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') r2sca(r2_w) compress* 说明:* 为何 xtgls 不汇报 R2 ?* 因为此时的R2未必介于0和1之间,不具有传统线性回归模型中R2的含义*=== xtpcse 命令* 默认假设:存在截面异方差和截面相关* 估计方法:OLS 或 PraisWinsten 回归* 有别于xtgls(采纳FGLS估计)* 更适于方块面板 N不年夜(1020),T不年夜(1040)* 与 xtgls 的区别:估计方法分歧* xtgls 采纳GLS进行估计,而xtpsce采纳OLS.use invest2.dta, clearxtpcse invest market stockest store pcse_full /*OLS估计,调整异方差和截面相关后的标准误*/xtgls invest market stock, panels(correlated)est store m_xtgls /*FGLS估计,异方差和截面相关*/ xtpcse invest market stock, correlation(ar1)est store pcse_ar1 /*Prais_Winsten估计,共同的自相关系数*/xtpcse invest market stock, correlation(ar1) hetonlyest store pcse_ar1 /*不考虑截面相关*/* 结果比较xtreg invest market stock, feest store felocal models "fe pcse_full m_xtgls pcse_ar1 pcse_ar1"esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') r2sca(r2_w)* xtpcse 的结果与 xtgls 非常相似,但前者可以汇报R2* 当N较年夜时,采纳该方法会非常费时,* 因为方差协方差矩阵是采纳OLS估计的残差计算的use xtcs.dta, clearxtdesxtpcse tl size ndts tang tobin npr /*年夜约58分钟*/est store xtpcsextreg tl size ndts tang tobin npr, feest store fe* 结果比较local models "fe xtpcse"esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') r2sca(r2_w)* 系数估计值有较年夜分歧,但符号和显著性是一致的.***静态面板模型 Part I** 静态面板模型** 简介* 一阶差分IV估计量(Anderson and Hisao, 1982)* 一阶差分GMM估计量(Arellano and Bond, 1991)* 系统GMM估计量(AB,1995; BB,1998)* == 简介 ==** 模型: y[it] = a0*y[it1] + a1*x[it] + a2*w[it] + u_i + e[it]** 特征:解释变量中包括了被解释变量的一阶滞后项* 可以是非平行面板,但要保证时间连续* x[it] ——严格外生变量 E[x_it,e_is] =0 for all t and s* 即,所有干扰项与x都不相关* w[it] ——先决变量 E[w_it,e_is]!=0 for s<t, butE[x_it,v_is]=0 for all s>=t* 即,前期干扰项与当期x相关,但当期和未来期干扰项与x不相关.* y[it1]——内生变量 E[x_it,e_is]!=0 for s<=t* 即,前期和当期,尤其是当期干扰项与x相关* u_i 随机效应,在截面间是 iid 的.u_i 与 e[it] 自力.** 内生性问题:* (1) 若假设 u_i 为随机效应,则 Corr(y[i,t1], u_i) !=0* (2) 若假设 u_i 为个体效应,需要想法子去除之,因为数据为"年夜N小T"* 一阶差分: D.y[i,t1] = y[i,t1] y[i,t2]* D.e[i,t] = e[i,t] e[i,t1]* 显然: Corr(D.y[i,t1], D.e[i,t]) !=0, 差分方程存在内生问题;* 组内去心: ym[i,t1] = y[i,t1] 1/(T1)*(y[i,t1]+...+y[i,T])* em[i,t] = e[i,t] 1/T*(e[i,t]+e[i,t1]+...+e[i,T])* 显然: Corr(ym[i,t1], em[i,t]) !=0, 仍然存在内生性问题** 处置法子:IV估计或GMM估计,选择合适的工具变量** 矩条件: E[e_it,z_it] = 0*========================================*========= 一阶差分 IV 估计量 ============*========Anderson and Hisao(1982)========*========================================** 基本思想:采纳一阶差分去除个体效应 u_i,* y 的滞后二阶作为 D.y[it1] 的工具变量* 同时,D.y[it2] 也可以作为 D.y[it1] 的工具变量use abdata.dta, cleardes /*变量的界说*/tsset id year* 模型: n_it = b1*n_it1 + b2*n_it2* + b3*w_it + b4*w_it1* + b5*k_it + b6*k_it1 + b7*k_it2* + b8*ys_it + b9*ys_it1 + b10*ys_it2*xtivreg n L2.n w L1.w k L1.k L2.k ys L1.ys L2.ysyr1981yr1984 ///(L.n = L3.n), fd** 等价于*xtivreg n L2.n L(0/1).w L(0/2).(k ys) yr1981yr1984 (L.n = L3.n), fd*====================================*========= 一阶差分GMM估计量 =========*==============AB91==================** L.Hansen (1982) 提出 GMM** Arellano and Bond (1991)** 模型:** y[it] = a0*y[it1] + a1*x[it] + a2*w[it] + u_i + v[it]** 假设条件:* 干扰项 v[it] 不存在序列相关;** 适用范围:* 年夜N,小T* 随后,我们会介绍“小N年夜T”型静态面板的估计方法** 基本思想:** 在 Anderson and Hisao(1982) 基础上增加了更多可用的工具变量** 在 t=3 处,y_i1 可以作为所有滞后项的工具变量* 在 t=4 处, y_i1, y_i2 可以作为所有滞后项的工具变量** D.y[it] = a1*D.y[it1] + a2*D.X[it] + D.v[it] X_it = [x_it, w_it] ** 因此,所有工具变量构成的矩阵如下:** |y_i1 0 0 0 0 0 ... 0 ... 0 D.x_i3 |* | 0 y_i1 y_i2 0 0 0 ... 0 ... 0 D.x_i4 |* | 0 0 0 y_i1 y_i2 y_i3 ... 0 ... 0 D.x_i5 |* Z_i = | . . . . . . . . . . . |* | . . . . . . . . . . . |* | 0 0 0 0 0 0 ... y_i1 ... yiT2 D.x_iT |** Z_i 的行数为 T2* Z_i 的列数为 sum_(m=1)^(T2){m} + K, K 为 X 的列数** 以 T =7,K=3 为例,则 Z_i 的列数为 (1+2+3+4+5)+3 = 18 ** 设定工具变量的基来源根基则:** 对内生变量的处置:与上述方法类似,* 即滞后两阶以上的水平变量均可作为差分方程的工具变量 (GMM type)* 对先决变量的处置:滞后一阶以上的水平变量均可作为工具变量 (GMM type)* 对外生变量的处置:自己作为自己的工具变量 (Standard IV) *== 例1:一阶差分估计量的基本设定* 解释变量仅包括 y_it 的一阶滞后项,默认设定* 干扰项同方差,一阶段估计use abdata.dta, clearxtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984est store ab_0* 结果释疑** 1 工具变量的个数是如何确定的?(xtdpd, p.74)** 外生变量的工具变量即是外生变量的个数* L(0/1).w L(0/2).(k ys) yr1980yr1984 共 13个* 内生变量的工具变量:共 27个*list id year n L2.n DL2.n if id == 140** 差分方程的可用工具变量** year of Years of Number of* difference equation instruments instruments* 1978 1976 1* 1979 19761977 2* 1980 19761978 3* 1981 19761979 4* 1982 19761980 5* 1983 19761981 6* 1984 19761982 7** 28个* 2 GMMtype 和 Standard 两种类型的工具变量有何不同?(xtabond,p.27)** GMMtype 是针对内生变量或先决变量而言的工具变量,有多列* Standard 是针对外生变量而言的工具变量,只有一列* 过度识别检验(工具变量的使用是否合理)*estat sargan** 说明:* H0: overidentifying restrictions are valid* 这里,我们拒绝了原假设,但AB91指出,当干扰项存在异方差时,* Sargan检验倾向于过度拒绝原假设,因此此处获得的结论其实不成信.* 采纳两阶段估计,然后再执行Sargan检验较为稳妥:*xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984,twostepestat sargan** 说明:不外,AB91发现,* 若存在异方差,在两阶段估计后执行Sargan检验往往倾向于* Underreject问题,即过度接受原假设.* 通常而言,这很可能是我们的模型设定不妥,或是工具变量的选择分歧理.* 干扰项序列相关检验** AB91 一阶差分估计量要求原始模型的干扰项不存在序列相关,* 显然,差分后的干扰项肯定存在一阶序列相关,* 因此,我们需要检验差分方程的残差是否存在二阶(或更高阶)序列相关即可** 默认,二阶序列相关检验xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984,vce(robust)estat abond* 说明:若存在二阶相关,则意味着选取的工具变量分歧理* 高阶序列相关检验xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984,vce(robust) artest(3)estat abond*== 稳健型估计xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984, lags(2) robust est store ab4_one_rb* 此时,无法 Sargan 统计量estat sargan*== 两阶段估计 AB91(Tab4(a2)) 考虑异方差问题* 利用第一阶段估计获得的残差构造方差协方差矩阵,进而重新估计模型*xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984, lags(2) twostep est store ab4_twostep* 此时,Sargan 检验无法拒绝原假设*estat sargan* AB91重要建议:* (1) 采纳一阶段估计结果进行系数显著性的统计推断;* (2) 采纳两阶段估计给出的 Sargan统计量进行模型筛选** 进一步的讨论:* 虽然AB91建议不要采纳两阶段(非稳健)估计进行统计推断,* 但Windmeijer(,Journal of Econometrics)通过模拟分析标明,* 采纳纠偏(biascorrected,WC)后的稳健性VCE,可以更好地进行统计推断xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984, lags(2) twostep vce(robust)est store ab_wc_rb* 结果比较local mm "ab4_one_rb ab4_twostep ab_wc_rb"esttab `mm',mtitle(`mm')** 结论:* AB91_onestep_rb 的结果与 AB91_WC_rb 的参数估计相同,后者标准误较年夜* 建议采纳 Windmeijer() 两阶段纠偏稳健型估计量.*== 先决变量的设定* 由于当期干扰项显然会影响后续 w 和 k,所以把它们设定为先决变量更为合理* 注意: 此时逗号前就不能再呈现这两个变量了xtabond n L(0/1).ys yr1980yr1984, lags(2) twostep ///pre(w k)est store ab4_preestat sargan* 从 Sargan p值来看,将 w 和 k 设为先决变量似乎更为合理 * pre() 选项的设定xtabond n L(0/1).ys yr1980yr1984, lags(2) twostep ///pre(w,lag(1,3)) pre(k,lag(2,.))** 解释:* pre(w,lag(1,3))* lag(1,3) 中的 1 暗示 L.w 也会作为解释变量,* lag(1,3) 中的 3 暗示 L2.w 和 L3.w 可以作为 L.w 的工具变量,但 L4.w 不成以;* pre(k,lag(2,.))* lag(2,.) 中的 2 暗示 L1.k, L2.k 城市作为解释变量;* lag(2,.) 中的 . 暗示 L3.k, L4.k ... 都可以作为 L2.k 的工具变量* 说明:上述设建都可附加 vce(robust) 选项以便获得稳健型标准误.*== 工具变量过多招致的问题* 过多的工具变量往往招致过度约束假设无法满足* 估计结果的有效性降低,因为部份工具变量与内生或先决变量的相关性很弱* 对矩阵尺寸的要求增加* 解决法子:限制最年夜的滞后阶数xtabond n L(0/1).ys yr1980yr1984, lags(2) twostep ///pre(w,lag(1,3)) pre(k,lag(2,3))*== 系数估计的上下限* 虽然 Pooled OLS 和 Fixed Effects 估计都是有偏的,* 可是二者却决定了 y_it1 真是估计值的上界和下界* 换言之, Pooled OLS 估计高估了真实值* 而 Fixed effects 估计则低估了真实值*=======================================*============= 系统GMM估计量 ===========*==============AB95,BB98===============*=======================================* Arellano and Bover (1995),* Blundell and Bond(1998)* Haha(1999), Judson and Owen(1999)** 适用范围:* 年夜N,小T** AB91 的局限* (1) 当 y[i,t1] 的系数较年夜,即 y[i,t] 暗示出强烈的序列相关时;* (2) 当 Var[u_i]/Var[e_it] 较年夜时,即个体效应的摆荡远年夜于惯例干扰项的摆荡;* AB91 的暗示欠佳.* 原因在于,水平滞后项是差分方程中内生变量的弱工具变量;* 因此,需要寻求更佳的工具变量**== 基本思想:** 几个概念** 水平值—— y x* 水平方程:y_it = b1*y_it1 + b2*x_it + u_i + v_it* 可用工具变量:D.y[i,t1] 可以作为 y[i,t1] 的工具变量* 可用工具变量:y[i,t2],y[i,t3]...都可以作为 D.y[i,t1]的工具变量** 差分GMM估计量与系统GMM估计量的区别** (1) 差分GMM估计量采纳水平值的滞后项作为差分变量的工具变量;* 如 y_it3 是 D.y_it1 的工具变量* (2) 系统GMM估计量进一步采纳差分变量的滞后项作为水平值的工具变量;* 相当于进一步增加了可用的工具变量,* 且估计过程中同时使用水平方程和差分方程* (3) 主要原因在于差分GMM的工具变量往往是弱工具变量,即 corr(X,Z) 过低** xtabond2 命令Roodman()** 既可以估计差分 GMM 估计量,也可以估计系统 GMM 估计量;* 同时可以估计一般化的回归模型* 提供两阶自相关检验,Sargan检验,Hansen检验,以及工具变量外生性检验** xtdpdsys 命令 Stata官方命令,以 xtabond2命令为基础** xtabond2 命令** 适用于 Stata810 各个版本* 既可以完成一阶差分GMM估计* 也可以完成系统GMM估计* 详细参考资料:* Roodman, D. . How to Do xtabond2:* An Introduction to "Difference" and "System" GMM in Stata. * Working Paper 103. Center for Global Development, Washington.*== 使用 xtabond2 命令获得一阶差分估计量* 附加 noleveleq 选项即可* 采纳 xtabond2 估计 AB91 文中表4 的结果* Arellano and Bond (1991), Table 4* Column (a1)use abdata, clearxtabond2 n L(1/2).n L(0/1).w L(0/2).(k ys) yr1980yr1984, ///gmm(L.n) iv(L(0/1).w l(0/2).(k ys) yr1980yr1984) /// nomata noleveleq small* gmm(*) 填写内生变量的名称* iv(*) 填写所有外生变量以及自己设定的工具变量的名称* noleveleq 暗示估计过程中不使用水平方程,即为差分GMM估计量est store aba1_ab2xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984, lags(2)est store aba1_abesttab aba1_ab2 aba1_ab, mtitle(aba1_ab2 aba1_ab)* Column (a2)* 两阶段估计xtabond2 n L(0/1).w L(0/2).(k ys) L(1/2).n yr1980yr1984, /// gmm(L.n) iv(L(0/1).w l(0/2).(k ys) yr1980yr1984) /// noleveleq small twostepest store aba2_ab2xtabond n L(0/1).w L(0/2).(k ys) yr1980yr1984, lags(2) twostep est store aba2_abesttab aba2_ab2 aba2_ab, mtitle(aba2_ab2 aba2_ab)*=== 一阶差分估计量部份解释变量内生* 一阶段估计xtabond2 n L.n L(0/1).(w k) yr1980yr1984, ///gmm(L.(w k n)) iv(yr1980yr1984) ///noleveleq noconstant small robustest store fd_1s* 两阶段估计xtabond2 n L.n L(0/1).(w k) yr1980yr1984, ///gmm(L.(w k n)) iv(yr1980yr1984) ///noleveleq robust small twostepest store fd_2sesttab fd_1s fd_2s, mtitle(fd_1s fd_2s)*== 系统 GMM 估计量xtabond2 n L.n L(0/1).(w k) yr1978yr1984, ///gmm(L.n) iv(L(0/1).(w k) yr1978yr1984) ///robust small** 解释:** gmm() 选项* 设定内生变量和先决变量,它们的工具变量将有多列,GMM** iv() 选项* 设定严格外生变量,作为自己的工具变量,在工具变量矩阵中仅占一列** 差分方程和水平方程* 默认情况下,差分方程和水平方程都介入估计** robust 选项* (1) 对一阶段估计(不附加twostep选项),* 采纳传统异方差序列相关稳健型估计量计算标准误;* (2) 对两阶段估计(附加twostep选项),* 采纳Windmeijer()纠偏估计量计算标准误;* Sargan检验* Sargan test of overid. restrictions: chi2(34)* 34 = 47 13 (13是外生变量的个数,包括常数项)* 可见,无论采纳Sargan检验还是Hansen J检验,都拒绝了工具变量合理的原假设* 指定工具变量应用于水平方程还是差分方程* 例如,假设 w, k, 以及年度虚拟变量都是外生的(固然,这一假设可能其实分歧理)*xtabond2 n L.n L(0/1).(w k) yr1978yr1984, gmm(L.n) ///iv(L(0/1).(w k) yr1978yr1984, eq(level)) ///robust small twostepest store sys_wkexg* 将 w 和 k 都设定为内生变量* yr dummies 仅呈现在水平方程中xtabond2 n L.n L(0/1).(w k) yr1978yr1984, ///gmm(L.(w k n)) iv(yr1978yr1984, eq(level)) ///robust small twostepest store sys_wkendog_lev* yr dummies 同时呈现在水平方程和差分方程中xtabond2 n L.n L(0/1).(w k) yr1978yr1984, ///gmm(L.(w k n)) iv(yr1978yr1984, eq(both)) ///robust small twostepest store sys_wkendog_both* 结果比较local mm "fd_1s fd_2s sys_wkexg sys_wkendog_levsys_wkendog_both"esttab `mm', mtitle(`mm') compress** xtdpdsys 命令** 仅适用于 Stata10 版本* 中国上市公司资本结构静态调整use xtcs.dta, clearqui tab year, gen(yr)drop yr1* Case I:假设所有解释变量均为外生变量(L.tl除外)*local xx "size tang ndts L(0/1).tobin L(0/1).npr yr*"xtdpdsys tl `xx', vce(robust) twostepdis ln(2) / (1 _b[L1.tl]) /*调整半周期*/est store dycs_2sys* 设定说明:* (1) 无需设定 L.tl, 因为 xtdpdsys 默认设定被解释变量的滞后一期为解释变量,* 而且该变量被自动设定为内生变量;* (2) 稳健型估计采纳 vce(robust) 选项加以设定;* (3) 该命令不会自动进行 AR(2)序列相关检验和Sargan过度识别检验* 序列相关检验estat abond* 过度识别检验estat sargan /*稳健型估计下无法获得Sargan统计量*/* 正确方法local xx "size tang ndts L(0/1).tobin L(0/1).npr yr*"xtdpdsys tl `xx', twostepestat sargan* Case II:假设Tobin和npr为先决变量local xx "size tang ndts yr*" /*此处不应再包括 tobin和npr*/ xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) twostepest store dycs_2preestat abondestat sargan* Case III:假设Tobin和npr为内生变量local xx "size tang ndts yr*" /*此处不应再包括 tobin和npr*/ xtdpdsys tl `xx', endog(tobin npr,lag(1,.)) twostepest store dycs_2endogestat abondestat sargan* Case IV: 假设除年度虚拟变量和公司规模外,所有解释变量均为先决变量local xx "size yr*"xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) ///pre(tang ndts) twostepest store dycs_2preAllestat abondestat sargan* 假设除 L.tl 外的所有解释变量外生最为合适.* OLS 估计(调整系数的上限)local xx "size tang ndts L(0/1).tobin L(0/1).npr yr*"reg tl L.tl `xx', robustest store dycs_2OLS* FE 估计(调整系数的下限)local xx "size tang ndts L(0/1).tobin L(0/1).npr yr*"xtreg tl L.tl `xx', robust feest store dycs_2FE* 结果比较local mm "dycs_2sys dycs_2pre dycs_2endog dycs_2preAll dycs_2OLS dycs_2FE"local ss "ar2 ar2p sargan sar_df sarganp"esttab `mm',mtitle(`mm') scalar(`ss') compress* 结论:* (1) 估计出的调整系数介于合理的范围内,即OLS和FE之间;* (2) 就模型设定而言,dycs_2sys 最为合理,即把所有解释变量均设定为外生变量.** 调整半周期为:local xx "size tang ndts L(0/1).tobin L(0/1).npr yr*"xtdpdsys tl `xx', vce(robust) twostepdis ln(2) / (1 _b[L1.tl]) /*调整半周期*/xtabond2 logy l.logy h inv gov open fdi yr4yr14, ///gmm(l.logy h) iv(gov open fdi yr4yr14)robust twostep。

计量经济学stata命令汇总

计量经济学stata命令汇总

计量经济学stata命令汇总1. 数据处理与描述性统计summarize 变量1 变量2…计算变量的均值、中位数等统计量tabulate 变量1 变量2…制表histogram 变量画单变量直方图scatter 变量1 变量2…画双变量散点图graph twoway 程序名变量1 变量2…绘制双变量图形sort 变量按照变量排序by 变量: 命令按照变量拆分数据并执行命令replace 变量=表达式替换变量中的值generate 新变量=表达式生成新变量egen 新变量=函数(变量) 生成新变量2. 回归分析regress 因变量自变量1 自变量2…普通最小二乘回归reg 相关变量,robust 异方差鲁棒性回归logit 因变量自变量1 自变量2…二元Logit模型probit 因变量自变量1 自变量2…二元Probit模型tobit 因变量自变量1 自变量2… 截尾变量(下界或上界)cens(下界或上界) 截尾Tobit模型heckman 因变量自变量1 自变量2… 难以观察到自变量矩阵决策过程变量名称=接收权值做二阶段回归Heckman选择模型pheckman 因变量自变量1 自变量2… 难以观察到自变量矩阵决策过程经验Bayes做二阶段回归Pooled Heckman选择模型xtset 变量1 变量2…指定面板数据xtreg 因变量自变量1 自变量2…, fe/be/fevd/arellano间隔估计xtlogit 因变量自变量1 自变量2…, fe面板Logit模型xtprobit 因变量自变量1 自变量2…, fe面板Probit模型3. 时间序列分析dfuller 变量单位根检验tsset 变量指定时间序列数据tsline 变量绘制时间序列图arma 阶数, lags(*laglist*) ARMA过程估计arima 阶数, lags(*laglist*) 差分阶数(*diff*) 现有模型(*model*) ARIMA模型估计arch hq/aic, lags(*laglist*) ARCH模型估计garch q=p o=r t=m, arch(q) garch(p) GARCH模型估计ivregress (2SLS)因变量自变量1(内生变量)编号=gmm/cluster(varname) 内生变量外生变量IV或2SLS回归分析4. 面板数据分析&横截面数据分析xtsum 等对面板数据的描述统计量xttest0 2个变量计算相对于H0的t值,考虑了异方差和面板数据结构(前提是两个变量符合随机效应或固定效应假设)xttobit 因变量自变量1 自变量2… 下界 cens(下界或上界)面板Tobit模型xtreg 因变量自变量1 自变量2…, fe/be/fevd/arellano面板回归模型xtlogit/xtprobit 因变量自变量1 自变量2…, fe面板分类模型5. 高级统计方法cluster 变量聚类分析pca 变量1 变量2…, components(4)主成分分析mvreg 因变量向量1 向量2…, clustervar(cluster)多元回归及聚类分析multilevel 因变量自变量1 自变量2…, mle 内部命令(通常是cov)多层线性模型分析glm 因变量自变量1 自变量2…, family(binomial) 连接函数(logit/probit) 难以观察到自变量(即随机拦截模型)其他选项广义线性模型分析heckprob/reg3 因变量自变量1 自变量2… 等随机效应模型分析。

stata命令大全(全)

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

stata常用命令总结

stata常用命令总结

Stata常用命令总结Stata是一种统计分析软件,广泛用于社会科学、经济学、生物医学等领域的数据分析。

它具有丰富的功能和灵活的数据处理能力,能够进行各种统计分析、数据可视化和模型建立。

本文将总结Stata的常用命令,包括重要观点、关键发现和进一步思考,帮助读者更好地理解和使用Stata。

一、数据导入和处理e命令:用于导入Stata数据文件(.dta)。

2.import命令:用于导入其他格式的数据文件(如Excel、CSV等)。

3.save命令:用于保存当前数据文件。

4.drop命令:用于删除变量或观察值。

5.keep命令:用于保留指定的变量或观察值。

重要观点:在数据导入和处理阶段,要注意数据的完整性和准确性。

需要检查数据的缺失值、异常值和数据类型,做好数据清洗和预处理工作。

二、数据描述和统计分析1.summarize命令:用于计算变量的描述性统计量,如均值、标准差、最大值、最小值等。

2.tabulate命令:用于制作交叉表和列联表。

3.correlate命令:用于计算变量之间的相关系数。

4.regress命令:用于进行线性回归分析。

5.logit命令:用于进行二分类的逻辑回归分析。

重要观点:在进行数据描述和统计分析时,要根据研究问题选择合适的方法和指标。

同时要注意解释统计结果的意义,避免过度解读和误导。

三、数据可视化1.histogram命令:用于绘制直方图。

2.scatter命令:用于绘制散点图。

3.twoway命令:用于绘制多种类型的图形,如线图、柱状图、饼图等。

4.graph export命令:用于将图形导出为图片文件。

重要观点:数据可视化是数据分析的重要手段,能够直观地展示数据的分布和关系。

在进行数据可视化时,要选择合适的图形类型和参数,使图形简洁明了,易于理解和解释。

四、面板数据分析1.xtset命令:用于设置面板数据的时间和单位。

2.xtreg命令:用于进行面板数据的固定效应或随机效应模型分析。

stata命令大全(全)

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/ gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

stata命令大全(全)

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

stata命令大全超实用(全)

stata命令大全超实用(全)

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/ tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/ gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

STATA最常用命令大全

STATA最常用命令大全

statasave命令File&#61672;Save As例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。

STATA数据库的维护排序SORT 变量名1 变量名2 ……变量更名rename 原变量名新变量名STATA数据库的维护删除变量或记录drop x1 x2 /* 删除变量x1和x2drop 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 12egen a=seq() /*产生1到N的自然数egen b=seq(),b(3) /*产生一个序列,每个元素重复#次egen c=seq(),to(4) /*产生多个序列,每个序列从1到#egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2encode 字符变量名,gen(新数值变量名)作用:将字符型变量转化为数值变量。

stata常用命令总结

stata常用命令总结

stata常用命令总结Stata是一种统计分析软件,常用于数据处理、数据分析和统计建模等领域。

以下是一些常用的Stata命令的总结:1. 数据加载与保存:- `use`:加载Stata数据文件。

- `import`:导入其他文件格式的数据。

- `save`:保存当前数据文件。

- `export`:将数据导出到其他文件格式。

2. 数据处理与变量操作:- `generate`:创建新变量。

- `replace`:替换变量值。

- `drop`:删除变量或观测。

- `rename`:重命名变量。

- `sort`:对数据进行排序。

- `merge`:合并数据集。

3. 描述性统计与数据分析:- `summarize`:计算变量的描述性统计量。

- `tabulate`:制表统计。

- `regress`:进行线性回归分析。

- `logit`:进行Logistic回归分析。

- `anova`:进行方差分析。

- `ttest`:进行双样本t检验。

4. 绘图与可视化:- `histogram`:绘制直方图。

- `scatter`:绘制散点图。

- `line`:绘制折线图。

- `boxplot`:绘制箱线图。

- `graph combine`:组合多个图形。

5. 循环与条件语句:- `forvalues`:进行循环操作。

- `if`:根据条件进行数据筛选。

- `foreach`:对变量进行循环操作。

这只是一些常用的Stata命令的总结,Stata还有很多其他强大的功能和命令。

你可以参考Stata官方文档或其他相关资源,深入了解更多命令和用法。

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

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

stata11常用命令注:JB统计量对应的p大于0.05,则表明非正态,这点跟sktest和swilk 检验刚好相反;dta为数据文件;gph为图文件;do为程序文件;注意stata要区别大小写;不得用作用户变量名:_all _n _N _skip _b _coef _cons _pi _pred _rc _weight doublefloat long int in if using with命令:读入数据一种方式input x y1 42 5.53 6.24 7.75 8.5endsu/summarise/sum x 或 su/summarise/sum x,d对分组的描述:sort groupby 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 圆周率π的数值。

listgen/generate %产生数列egen wagemax=max(wage)clearuseby(分组变量)set more 1/0count %计数gsort +x (升序)gsort -x (降序)sort x 升序;并且其它变量顺序会跟着改变label var y "消费" %添加标签describe %描述数据文件的整体,包括观测总数,变量总数,生成日期,每个变量的存储类型(storage type),标签(label)replace x5=2*y if x!=3 %替换变量值replace age = 25 in 107 %令第107个观测中age为25rename y2 u %改变变量名drop in 2 %删除全部变量的第2行drop if x==. 删去x为缺失值的所有记录keep if x<2 %保留小于2的数据,其余变量跟随x改变keep in 2/10 %保留第2-10个数keep x1-x5 %保留数据库中介于x1和x5间的所有变量 (包括x1和x5),其余变量删除ci x1 x2,by(group) %算出置信区间,不过先前对group要先排序,即sort group;%by的意思逐个进行cii 12 3.816667 0.2710343, level(90) %已知均值,方差,计算90%的置信区间cii 10 2 %obs=10,mean=2,以二项分布形式,计算置信区间centile x,centile(2.5 25 50 75 97.5) %取分位数correlate/corr x y z %相关系数pwcorr x y,sig %给出原假设r=0的命令%如果变量非服从正态分布,则spearman x yregress/reg mean year %回归方程建立 reg y x,noconstant %无常数项predict meanhat %预测拟合值predict e,residual %得到残差estat hettest % 异方差检验dwstat % Durbin-Watson自相关检验vif % 方差膨胀因子logit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量) %logit 回归probit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量) %probit 回归tobit y x1 x2 x3 (y取值在0和1之间,是被解释变量,x1-x3是被解释变量) %tobit回归sktest e %残差正态性检验 p>0.05则接受原假设,即服从正态分布;%% sktest是基于变量的偏度和斜度(正态分布的偏度为0,斜度为3)swilk x %基于Shapiro-Wilk检验%%p值越小,越倾向于拒绝零假设,也就是变量越有可能不服从正态分布xi %生成虚拟变量tabulat gender,summ(math) %用gender指标对math进行分类,返回两类math 的mean、std、freqtabulate=tab %gen f=int((shengao-164)/3)*3+164 组距为3tabulate 变量名 [, generate(新变量) missing nofreq nolabel plot ] %%%%%generate(新变量) // 按分组变量产生哑变量nofreq // 不显示频数nolabel // 不显示数值标记plot // 显示各组频数图示missing // 包含缺失值cell // 显示各小组的构成比(小组之和为 1) column // 按栏显示各组之构成(各栏总计为 1)row // 按行显示各组之构成(各行总计为 1) %%%%%求和,求最小?mod(x,y) %求余数means %返回三种平均值di normprob(1.96)di invnorm(0.05)di binomial(20,5,0.5)di invbinomial(20,5,0.5)di tprob(10,2)di invt(10.0.05)di fprob(3,27,1)di invfprob(3,27,0.05)di chi2(3,5)di invchi2(3,0.05)stack x y z,into(e) %把三列合成一列xpose,clear %矩阵转置append using d:\0917.dta %把已打开的文件(x y z)跟0917里的(x y z)合并,是竖向合并,即观察值合并;merge using D:\0917.dta %把已打开的文件(x y z)跟0917里的(a b)合并,是横向合并,即变量合并;format x %9.2e %科学记数format x %9.2f %2位小数%产生随机数%1 产生20个在(0,1)区间上均匀分布的随机数uniform()set seed 100set obs 20gen r=uniform()list%clear 清除内存set seed 200 设置种子数为 200set obs 20 设置样本量为 20range no 1 20 建立编号 1 至 20gen r=uniform() 产生在(0,1)均匀分布的随机数gen group=1 设置分组变量 group 的初始值为 1sort r 对随机数从小到大排序replace group=2 in 11/20 设置最大的 10 个随机数所对应的记录为第2组,即:最小的10个随机数所对应的记录为第1组sort no 按照编号排序list 显示随机分组的结果也可以list if group==1和list no if group==1%2 产生10个服从正态分布N(100,6^2)的随机数invnorm(uniform())*sigma+u clear 清除内存set seed 200 设置种子数为 200set obs 10 设置样本量为 10 gen x=invnorm(uniform())*6+100 产生服从 N(100,6^2)的随机数list画图注意有些图前面要加histogram 直方图line 折线图scatter 散点图scatter y x,c(l) s(d) b2("(a)")graph twoway connected y x 连点图graph bar (sum) var2,over(var1) blabel(total) %条形图. graph bar p52 p72,by(d). graph bar p52 p72,over(d). graph bar p52 p72,by(d) stack. graph bar p52 p72,over(d) stack////////////数据如下%d p52 p72%1 163.2 27.4%2 72.5 83.6%3 57.2 178.2histogram x,bin(8) norm %画直方图,加正态分数线graph pie a b o ab if area==1,plabel(_all percent) %画饼图graph pie var2, over(var1) plabel(_all percent) %饼图graph pie p52 p72,by(d) %饼图graph box y1 %箱体图qnorm x %qq图lfit y x %回归直线graph matrix gender economy math 多变量散点图line yhat x||scatter y x,c(.l) s(O.) xline(12) yline(5.4) %线形图&散点图有一些通用的选项可以给图形“润色”:标题title(“string”) (string可为任意的字符串,下同)脚注note(“string”)横座标标题xtitle(“string”)纵座标标题ytitle(“sting”)横座标范围 xaxis(a,b) (a<b为两个数字,下同)纵座标范围 yaxis(a,b)插入文字 text (该命令既要指定插入文字的内容,也要指定插入的位置)插入图例 legend (该命令既要指定图例的内容,也要指定其位置)绘制散点图和线条的两个主要的选择项为:connect(c...c) //连接各散点的方式,c表示:或简写为c(c...c) . 不连接 (缺省值)l 用直线连接L 沿x方向只向前不向后直线连接m 计算中位数并用直线连接s 用三次平滑曲线连接J 以阶梯式直线条连接|| 用直线连接在同一纵向上的两点II 同 ||, 只是线的顶部和底部有一个短横Symbol(s...s) // 表示各散点的图形,s 表示:或简写为s(s...s) O 大圆圈 (缺省值)S 大方块T 大三角形o 小圆圈d 小菱形p 小加号. 小点i 无符号[varname] 用变量的取值代码表示[_n] 用点的记录号表示数学函数等都要与generate、replace、display一起使用,不能单独使用程序文件douse d:\0917.dtareg y xline y x,saving(d:\d4)按ctrl+D执行字符串操作函数:length(s) %长度函数,计算s的长度, 如,displength("ab")的结果是2substr(s,n1,n2) %子串函数,获得从s的n1个字符开始的n2个字符组成的字符串,disp substr("abcdef",2,3)的结果是"bcd"string(n) %将数值n转换成字符串函数,如,dispstring(41)+"f"的结果是"41f"real(s) %将字符串s转换成数值函数,如,dispreal("5.2")+1的结果是6.2upper(s) %转换成大写字母函数,如,disp upper("this")的结果是"THIS"lower(s) %转换成小写字母函数,如disp lower("THIS")的结果是"this"index(s1,s2) %子串位置函数,计算s2在s1中第一次出现的起始位置, 如果s2不在s1中, 则结果为0。

stata命令大全(全)[整理版]

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

stata命令总结

stata命令总结

stata命令总结表2-1: 回归分析相关命令一览命令用途anova 方差和协方差分析heckman Heckman 筛选模型intreg 离散型变量模型,包括T obit 、cnreg 和intregivreg 工具变量法(IV 或2SLS)newey Newey-West 标准差设定下的回归prais 针对序列相关的Prais-Winsten, Cochrane-Orcutt, or Hildreth-Lu 回归qreg 分量回归reg OLS 回归sw 逐步回归法reg3 三阶段最小二乘回归rreg 稳健回归(不同于方差稳健型回归,即White 方法)sureg 似无相关估计svyheckman 调查数据的Heckman 筛选模型svyintreg 调查数据的间断变量回归svyregress 调查数据的线性回归tobit Tobit 回归treatreg treatment 效应模型truncreg 截断回归表2-2: 时间序列命令一览命令用途clemao1 允许结构突变的单位根检验zandrewsdfullerdfglspperroncoin 单方程协整检验dwstat 参考dwstat2 , durbina2durbinh表2-3: Panel Data 模型相关命令一览I命令模型统计描述相关命令:xtdes 变量类型,数据类型描述xtsum 基本统计量xttab 按表格形式列示xtpattern 面板数据的模式估计相关命令:xtreg 面板数据模型(固定效应、随机效应)xtregar 含有AR(1) 干扰项的固定效应和随机效应面板数据模型xtgls 截面-时序混合模型,可处理异方差、组内序列相关和组间相关性xtpcse OLS or Prais-Winsten models with panel-corrected standard errors精品文库xtrchh Hildreth-Houck random coefficients modelsxtivreg 面板模型的工具变量或两阶段最小二乘法估计xtabond Arellano-Bond(1991) 线性动态面板数据模型估计xtabond2 Arellano-Bover(1995) 系统GMM 动态面板数据模型估计xttobit Tobit 随机效应面板模型xtintreg Random-effects interval data regression modelsxtlogit Fe, Re, Pa logit modelsxtprobit Re, Pa probit modelsxtcloglog Re, Pa cloglog modelsxtpoisson Fe, Re, Pa Poisson modelsxtnbreg Fe, Re, Pa negative binomial modelsxtfrontier 面板随机前沿模型xthtylor Hausman-Taylor estimator for error-componentsmodels表2-4: Panel Data 模型相关命令一览II命令模型假设检验相关:test Wald 检验,如时间效应联合显著性检验xttest0 随机效应检验xttest1 面板序列相关检验xttest2 adsxtserial Wooldridge 一阶序列相关检验xtab Arellano 面板一阶序列相关检验hausman Hausman 检验面板单位根和协整相关:xtunit stata提供的检验方法ipshin IPS(2003)面板单位根检验levilin Levin,Lin和Chu(LLC, 2002)面板单位根检验madfuller Sarno-Taylor(1998) 面板单位根检验xtfisher Maddala和Wu(1999),基于P 值的面板单位根检验表2-5: Post-estimation Commands命令名称用途adjust 列示预测结果的均质,适于多种回归分析,可分组列示estimates 估计结果的存储、再显示、列表比较等hausman Hausman 模型识别检验lincom 获得参数的线性组合,在Logit 模型中可以获得系数线性组合的OR 值linktest 但方程link 识别检验,用y 对O y 和O y2 回归lrtest 似然比(LR)检验mfx 计算边际效应和弹性系数nlcom 系数的非线性组合predict 获得拟合值、残差等predictnl 获得非线性估计的拟合值、残差等test 线性约束的假设检验,Wald 检验精品文库testnl 非线性约束的假设检验vce 列示参数估计值的方差-协方差矩阵表2-6: 二维图种类一览图形种类简单描述scatter scatterplotline line plotconnected connected-line plotscatteri scatter with immediate argumentsarea line plot with shadingbar bar plotspike spike plotdropline dropline plotdot dot plotrarea range plot with area shadingrbar range plot with barsrspike range plot with spikesrcap range plot with capped spikesrcapsym range plot with spikes capped with symbols rscatter range plot with markersrline range plot with linesrconnected range plot with lines and markerstsline time-series plottsrline time-series range plotmband median-band line plotmspline spline line plotlowess LOWESS line plotlfit linear prediction plotqfit quadratic prediction plotfpfit fractional polynomial plotlfitci linear prediction plot with CIsqfitci quadratic prediction plot with CIsfpfitci fractional polynomial plot with CIsfunction line plot of functionhistogram histogram plotkdensity kernel density plot表2-7: 二维图选项一览选项类别简单描述added line options draw lines at specified y or x values added text option display text at specified (y,x) valueaxis options labels, ticks, grids, log scalestitle options titles, subtitles, notes, captionslegend option legend explaining what means whatscale(#) resize text, markers, and line widths精品文库region options outlining, shading, aspect ratio, size aspect option constrain aspect ratio of plot region scheme(schemename) overall lookby(varlist, ...) repeat for subgroupsnodraw suppress display of graphname(name, ...) specify name for graphsaving(filename, ...) save graph in fileadvanced options difficult to explain表2-9: 模拟分析相关命令一览命令用途备注抽样相关:corr2data 产生具有指定相关性的数据仅适用于模拟相关分析drawnorminvnorm(uniform()) 产生服从标准正态分布的随机数函数,可调节均值和方差matuniform(r,c) 产生均匀分布函数sample 从现有数据中进行非重复随机抽样参考bsample sim arma 产生服从ARIMA 过程的随机变量需要下载Bootstrap 相关:bootstrapbsbstatbsampleMC 相关:simulate MC simulationjknife 类似于MCpermutepostfile 存储MC 的结果statsbyexp list。

stata常用命令总结

stata常用命令总结

stata常用命令总结Stata常用命令总结Stata是一款广泛应用于数据分析与统计建模的统计软件,具有强大的功能和广泛的应用领域。

在Stata中,我们可以通过命令来完成数据的读取、整理、分析和可视化等任务。

本文将对一些常用的Stata命令进行总结和介绍,以帮助读者更好地理解和应用Stata软件。

一、数据的读取与整理1. 读取数据文件:- use 文件名:读取已经存在的Stata数据文件。

- import delimited 文件名:读取以逗号、制表符或其他分隔符分隔的文本文件。

2. 显示数据:- describe:显示数据文件的基本信息,包括变量名、数据类型、有效观测数等。

- browse:以表格形式显示数据文件的部分观测值。

3. 数据整理:- generate 新变量名=计算公式:创建新的变量,并根据指定公式进行计算。

- egen 新变量名=计算函数:根据指定的计算函数对现有变量进行计算,并创建新的变量。

二、数据的统计分析与建模1. 描述性统计:- summarize 变量名:对指定变量进行描述性统计,包括均值、标准差、最小值、最大值等。

- tabulate 变量名:生成指定变量的频数表和百分比表。

2. 数据筛选与子集选择:- keep 如果条件:保留符合条件的观测值,删除不满足条件的观测值。

- drop 如果条件:删除符合条件的观测值,保留不满足条件的观测值。

- qui keep 如果条件:以无输出方式保留符合条件的观测值并生成新数据集。

- qui drop 如果条件:以无输出方式删除符合条件的观测值并生成新数据集。

3. 参数估计与假设检验:- regress 因变量自变量1 自变量2 ...:进行普通最小二乘回归分析。

- ttest 变量名, by(分组变量):进行两组样本均值差异的t检验。

4. 数据可视化:- scatter 变量1 变量2:绘制散点图。

- histogram 变量名:绘制直方图。

Stata命令整理

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>100004、[in range]范围筛选sum price in 1/5注意“1/5”中,斜杠不是除号,而是从 1 到 5 的意思,即 1,2,3,4,5。

STATA常用命令总结(34个含使用示例)

STATA常用命令总结(34个含使用示例)

STATA常用命令总结(34个含使用示例)1. sum:计算变量的简要统计信息,如均值、标准差等。

示例:sum variable2. tabulate:生成变量的频数表。

示例:tabulate variable3. describe:显示数据集的基本信息,如变量名和数据类型。

示例:describe dataset4. drop:删除数据集中的变量。

示例:drop variable5. keep:保留数据集中的变量,删除其他变量。

示例:keep variable6. rename:重命名变量。

示例:rename variable newname7. gen:根据已有变量生成新的变量。

示例:gen newvar = expression8. egen:根据已有变量生成新的变量,可以使用更复杂的函数和运算符。

示例:egen newvar = function(variable)9. recode:对变量的取值进行重新编码。

示例:recode variable (oldvalues= newvalues) 10. dropif:根据条件删除观测。

示例:dropif condition11. keepif:根据条件保留观测。

示例:keepif condition12. sort:对数据集按指定变量进行排序。

示例:sort variable13. merge:将两个数据集按照共享变量合并。

示例:merge 1:1 variable using dataset214. reshape:将数据从宽格式转换为长格式或反之。

示例:reshape long var, i(id) j(year)15. regress:进行线性回归分析。

示例:regress dependent_var independent_vars 16. logistic:进行逻辑回归分析。

示例:logistic dependent_var independent_vars 17. probit:进行Probit回归分析。

(完整word版)Stata命令整理

(完整word版)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>100004、[in range]范围筛选sum price in 1/5注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。

STATA常用命令总结(34个含使用示例)

STATA常用命令总结(34个含使用示例)

STATA常用命令总结(34个含使用示例)1. clear:清空当前工作空间中的数据。

示例:clear2. use:加载数据文件。

示例:use "data.dta"3. describe:查看数据文件的基本信息。

示例:describe4. summarize:统计数据的描述性统计量。

示例:summarize var1 var2 var35. tabulate:制作数据的列联表。

示例:tabulate var1 var26. scatter:绘制散点图。

示例:scatter x_var y_var7. histogram:绘制直方图。

示例:histogram var8. boxplot:绘制箱线图。

示例:boxplot var1 var29. ttest:进行单样本或双样本t检验。

示例:ttest var, by(group_var)10. regress:进行最小二乘法线性回归分析。

示例:regress dependent_var independent_var1 independent_var211. logistic:进行逻辑斯蒂回归分析。

示例:logistic dependent_var independent_var1 independent_var212. anova:进行方差分析。

示例:anova dependent_var independent_var13. chi2:进行卡方检验。

示例:chi2 var1 var214. correlate:计算变量之间的相关系数。

示例:correlate var1 var2 var315. replace:替换数据中的一些值。

示例:replace var = new_value if condition16. drop:删除变量或观察。

示例:drop var17. rename:重命名变量。

示例:rename old_var new_var18. generate:生成新变量。

stata命令大全(全)

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<1992drop 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)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/ gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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>100004、[in range]范围筛选sum price in 1/5注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。

如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。

. sum price in 1/10 if foreign==05、[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、数值型转化为字符型tostring year day, replace //将年和日转化为字符型gen date1=month+”/”+day+”/”+year //month day变为字符型后可以运算,将年月日构成一个新的日期变量gen date2=date(date1,”mdy”) /* date()为日期函数,它以1960 年1 月1日为第0 天,计算从那天起直到括号中指定的某天date1一共过了多少天。

”mdy”指定date1 的排列顺序,这里是按照月日年的顺序来表示日期。

*/数据显示格式/*format 只控制数据的显示格式,并不改变内存中数据的大小。

*/变量的格式为%14s,表示右对齐,共14 个字符,%为固定用法(字符变量跟s,数值变量跟g)ormat state %-14s // 该命令使stata 的显示格式左对齐,14 前面多了个负号format pop %11.0gc /*pop 的显示格式为%11.0g,后面加上c,则每三位数间用逗号分开,c 为comma 的意思.*/format medage %8.1f //要求所有的medage 都显示一位小数format id %05.0f //对于编号,我们希望前面用零使得位数对齐,通过在前面补零,所有的id 都成了5位数。

导入/导出其他格式数据1、数据导入insheet using 3origin.csv/txt, clearinsheet using 3origin.txt, double clear 当数据中某个变量的位数特别长或者对导入数据的精度要求很高的时候,需要在该命令后面加double 选项。

2、数据导出outsheet using myresult.asc, nonames 如果不希望在第一行存储变量名,则可以使用nonames 选项outsheet using myresult.asc, nonames replace 如果文件已经存在,则需要使用replace 选项数据合并1、纵向合并use male, clear //打开记录男生信息的数据文件maleappend using female //将记录女生信息的female 文件追加到当前数据集中save mydata1, replace2、横向合并use economy,clear //打开经济学成绩数据文件sort id //按学号排序save economy, replace //重新保存一下use student,c clear //打开学生基本信息数据文件sort id //按学号排序merge id using economy //以学号为关联,将学生的信息和成绩一一对应对接tab _merge //显示对接情况,3 表示成功对接,1 和2 表示未成功对接drop _merge //去掉标识对接是否成功变量_mergeStata很多命令可单独使用,单独使用时,一般是对所有变量进行操作,等价于后面加上代表所有变量的_all数据重整1、长宽转换宽:长:1)宽变长use mywide, clearreshape long math economy, i(id name) j(year) //数据重整,宽变长save mylong, replace2)长变宽reshape wide*或者use mylong, clearreshape wide math economy, i(id name) j(yearr) //数据重整,长变宽save mywide2, replace2、多列数据转为少数几列有些数据集虽然有很多列,但实际上只有一个变量,利用stata转化成一项数据。

stack var1-var6, into(x) clear x是新生成变量的名称drop _stack 变量stack 记录观测值原来所在行数3、数据转置use math,clearxpose, clear变量运算:Stata中,加(+)号同样可用于字符运算,当加号出现在两个字符之间时,两个字符将被连成一个字符。

比如把”我爱” “STA TA”合并在一起,命令为:. scalar a=”我爱” +“STATA”一些运算函数:comb(n,k) 从n 中取k 个的组合fill() 自动填充数据int(x) 取整log10(x) 以10 为底的对数mod(x,y) 求余数round(x) 四舍五入di round(3.345,.1) //四舍五入到十分位,结果为3.3di round(3.345,.01) //四舍五入到百分位,结果为3.35di round(335.1,10) //四舍五入到十位,结果为340sqrt(x) 开更号substr(s,n1,n2) 从S 的第n1 个字符开始,截取n2 个字符word(s,n) 返回s 的第n 个字符_n 当前观察值的序号_N 共有多少观察值gen y=sum(x) //求列累积和egen z=sum(x) //求列总和egen avgx=mean(x) //求列均值egen byte dxy = diff(x y) //当x与y相等时,differ取0,若不相等为1分离变量值clearinput str15 x"10*123""543*21""12*422""43532*32134""4349*1"endgen a=strpos(x,"*") //计算出*所在的位数gen b=substr(x,1,a-1) //取*前面的字符gen c=substr(x,a+1,.) //取*后面的字符stata中,系统缺失值大于任何一个数据,因此在生成分类哑变量时:gen agegrp2=(age>=65) if age<.生成的数据中,将缺失值排除在外生成分组变量:clearset obs 100 //设定100 个观察值gen age=_n //生成一个假设的年龄变量age,依次取1,2,…,100recode age (min/30=1) (30/60=2) (60/max=3),gen(agegrp) /*生成新的分组变量agegrp, 当年龄age在30及以下时取值为1,30到60为2,60以上为3*/分组运算:by x, sort: gen n1=_n 根据x的不同,生成n1变量对不同类的x计数by hhid,sort: egen mage=mean(age) //根据不同类别求平均年龄bysort hhid (age): gen nid1=_n //括号中的变量age 只排序,不参于分组。

bysort hhid age: gen nid2=_n // hhid 和ag e 都既用来参与排序也分组encode country, gen(country1) 将文本变量转化为数值变量di splay5+9 显示计算结果sum price weight 描述统计:求价格和重量的观察值个数、平均值、标准差、最小值和最大值scatter price weight 绘出价格和重量的散点图line price weight, sort 绘出价格和重量的折线图clear 清除内存中原有内容cd d:/stata9 在打开数据之前,先定位数据的位置use 打开STATA 格式的数据文件set obs 5 //设定5 个观察值dir 查看当前路径下有哪些文件save mydata //保存数据,数据文件名为mydatasave mydata, replace 如果同一文件夹下已经存有mydata.dta,而你又要再次执行save mydata 时edit 编辑数据log 将输出结果存放入结果文件gen id=_n //生成一个新变量id,根据观测值排列顺序从上到下取值依次为123……replace id=9842 in 3 第三个观测的id值改变compress //压缩数据,使之在不损失任何信息的前提下占用空间最小erase mydata1.dta 删除文件,一定要带上后缀名。

相关文档
最新文档