(完整)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)变量排序,当变量太多,按规律排列。

完整word版,stata命令大全(全),推荐文档

完整word版,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.静态面板模型(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命令大全(全)

********* 面板数据计量分析与软件实现 *********说明:以下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常用命令总结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常用命令总结

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 变量名:绘制直方图。

- graph twoway line 变量1 变量2:绘制折线图。

stata命令汇总

stata命令汇总

一、建立stata数据集(dataset)1、用键盘建立小型数据集①input 命令input str2sex age y x1-x3end②打开Data Editor,采用copy & paste方法二、数据管理1、显示当前数据(观测或变量)list sex y in 1/102、变量排序sort三、描述统计1、tabulatetab sex2、histogram -- Histogramshistogram y3、summarize -- Summary statisticssum x14、tabstat -- Display table of summary statisticstabstat y x1, statistics(n mean sd var q)二、数据管理6、egen -- Extensions to generate三、单变量描述统计量——数字特征3、summarize -- Summary statistics常用描述量【Variable,Obs,Mean,Std. Dev.,Min,Max】summarize varlist基本描述量【Percentiles(1%、5%、10%、25%、50%、75%、90%、95%、99%),Smallest,Largest,Obs,Sum of Wgt.,Mean,Std. Dev.,Variance,Skewness,Kurtosis】summarize varlist, detail4、tabstat -- Display table of summary statistics分位数和分位数差tabstat varlist, statistics(min p1 p5 p10 q p90 p95 p99 max range iqr)矩描述量tabstat varlist, statistics(n sum mean sd variance cv skewness kurtosis semean)三、单变量描述统计量——数字特征1、summarizesummarize [varlist] [, options]2、tabstattabstat varlist[,statistics(statname [...])]三、描述统计8、原始数据图示法——茎叶图stem varname[,options]9、原始数据图示法——箱线图(盒须图)graph box yvars[,options]10、数字特征(描述统计量)示意图graph bar yvar [, options]一、建立stata数据集(dataset)2、读*.txt文件中的数据建立数据集insheet x1-x20using“K:\insdata\Data\Dayhugp20070903.txt”, clear二、数据管理3、generate——由数学函数生成新变量gen x1x2=x1*x2描述统计1、tabulate -- for one-way tables of frequenciestab sex2、单变量描述统计——连续分布直方图histogram x, start(#) w(#) freq addlabels单变量描述统计——数字型离散分布条形图histogram x, discrete freq addlabels gap(5)5、单变量描述统计——单项式单向次数分布表tab1varlist6、单变量描述统计——离散分布条形图twoway bar yvar xvar—— displays numeric (y,x) data as bars.Example:contract x, freq(xfreq)twoway bar xfreq x7、单变量描述统计——分类型离散分布条形图graph bar yvars, over( categories ) —— draws vertical bar charts. In a vertical bar chart, the y axis is numerical, and the x axis is categorical.Example:gen frequency=1graph bar (count)frequency, over(categories)8、单变量描述统计——离散分布饼图graph pie, over( varname)1、简单随机样本:设X是有密度f(x)的随机变量,若n个随机变量X1、X2、…、X n相互独立且有相同密度f(x),则称X1、X2、…、X n是来自总体X的容量为n的简单随机样本,简称样本(sample)。

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命令大全(全)

********* 面板数据计量分析与软件实现 *********说明:以下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常用命令总结(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)变量排序,当变量太多,按规律排列。

(完整word)Stata统计分析命令

(完整word)Stata统计分析命令

Stata统计分析常用命令汇总一、winsorize极端值处理范围:一般在1%和99%分位做极端值处理,对于小于1%的数用1%的值赋值,对于大于99%的数用99%的值赋值。

1、Stata中的单变量极端值处理:stata 11。

0,在命令窗口输入“findit winsor”后,系统弹出一个窗口,安装winsor模块安装好模块之后,就可以调用winsor命令,命令格式:winsor var1, gen(new var) p(0。

01)或者在命令窗口中输入:ssc install winsor安装winsor命令.winsor命令不能进行批量处理。

2、批量进行winsorize极端值处理:打开链接:http://personal。

/judson。

caskey/data。

html,找到winsorizeJ,点击右键,另存为到stata中的ado/plus/目录下即可。

命令格式:winsorizeJ var1var2var3,suffix(w)即可,这样会生成三个新变量,var1w var2w var3w,而且默认的是上下1%winsorize。

如果要修改分位点,则写成如下格式:winsorizeJ var 1 var2 var3,suffix(w) cuts(5 95)。

3、Excel中的极端值处理:(略)winsor2 命令使用说明简介:winsor2 winsorize or trim (if trim option is specified) the variables in varlist at particular percentiles specified by option cuts(# #)。

In defult, new variables will be generated with a suffix "_w” or "_tr", which can be changed by specifying suffix() option。

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

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 y142 5.53 6.247.758.5endsu/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)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 y regress/reg mean year % 回归方程建立 reg y x,noconstant % 无常数项 predict meanhat %预测拟合值predict e,residual % 得到残差 estat hettest % 异方差检验 dwstat % Durbin-Watson 自相关检验 vif % 方差膨胀因子 取 0或 1,是被解释变量, x1-x3 是被解释变量 ) %logit取 0 或 1 ,是被解释变量, x1-x3 是被解释变量 ) %probit 取值在 0和 1之间,是被解释变量, x1-x3 是被解释变sktest e % 残差正态性检验 p>0.05 则接受原假设,即服从正态分布; %% sktest 是基于变量的偏度和斜度 (正态分布的偏度为 0,斜度为 3) swilk x %基于 Shapiro-Wilk 检验%%p 值越小,越倾向于拒绝零假设,也就是变量越有可能不服从正态分布 xi %生成虚拟变量tabulat gender,summ(math) %用 gender 指标对 math 进行分类,返回两类 mathlogit y x1 x2 x3 (y回归 probit y x1 x2 x3 (y 回归tobit y x1 x2 x3 (y 量 ) %tobit 回归的mean、std 、freqtabulate=tab %gen f=int((shengao-164)/3)*3+164 组距为 3 tabulate 变量名[, 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 设置种子数为200 set obs 20 设置样本量为20 range no 1 20gen r=uniform()gen group=1为1sort rreplace group=2 in 11/20建立编号 1 至20产生在(0,1) 均匀分布的随机数设置分组变量group 的初始值对随机数从小到大排序设置最大的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 set obs 10设置种子数为200设置样本量为10gen 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 p52p72,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.2 histogram 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 (该命令既要指定图例的内容,也要指定其位置) 绘制散点图和线条的两个主要的选择项为:// 连接各散点的方式, c 表示: . 不连接 ( 缺省值 ) l L m s J || [varname] 用变量的取值代码表示 [_n] 用点的记录号表示数学函数等都要与 generate 、 replace 、display 一起使用,不能单独使用 程序文件 do use d:\0917.dta reg y xconnect(c...c) 或简写为 c(c...c)II 同 ||,个短横Symbol(s...s)// 表示各散点的图形, s 表示: 或简写为 s(s...s) O 大圆圈 ( 缺省值 )S 大方块 T 大三角形 o 小圆圈 d 小菱形p 小加号用直线连接沿x 方向只向前不向后直线连接 计算中位数并用直线连接 用三次平滑曲线连接 以阶梯式直线条连接 用直线连接在同一纵向上的两点 只是线的顶部和底部有一 i 小点 无符号corr y xline y x,saving(d:\d4) 按ctrl+D 执行字符串操作函数:length(s)%长度函数,计算s 的长度, 如,disp length("ab") 的结果是substr(s,n1,n2)%子串函数,获得从s 的n1 个字符开始的n2个字符成的字符串,dispsubstr("abcdef",2,3)的结果是"bcd"string(n)%将数值n 转换成字符串函数,如,dispstring(41)+"f" 的结果是"41f"real(s)%将字符串s 转换成数值函数,如,dispreal("5.2")+1 的结果是6.2upper(s)%转换成大写字母函数,如,dispupper("this")的结果是"THIS"lower(s)%转换成小写字母函数,如displower("THIS")的结果是"this"index(s1,s2)%子串位置函数,计算s2 在s1 中第一次出现的起始位置, 如果s2 不在s1 中, 则结果为0。

相关文档
最新文档