1/19STATA的简单命令Stata中最重要的命令莫过于help和search了。help用于查找精确的命令,而search是模糊查找。例如:helpregress又如:我们记不清regress命令的全名,只记得regress的前半部分reg,那么可以输入searchreg用户获得信息最有效的另一个途径是使用Statalist在线论坛,该论坛提供Stata用户交流的一个良好的平台。要加入Statalist,我们可以给以下地址发个邮件:majordomo@hsphsun2.harvard.edu邮件的内容为:subscribeStatalist变量的命名:1.变量名可达32个字符。2.字符组成部分为A~Z、a~z、0~9与下划线“_”,这些字符以外的其他符号不可以出现在变量名中。3.变量名不能以数字开头。4.变量名区分大小写。5.倘若遵循以上原则依然无法正常命名变量,那么这个变量可能与Stata自身保留的供系统使用的变量重复了。创建数据文件的方法:1.手动输入。2.从excel等文件中复制粘贴到stata数据表中。3.运用stata软件导入。查看数据的概貌:summarizexcodebookx如果上面两个命令后面不加内容,那么显示的结果是所有变量的概貌。对数据进行排序的命令:sort标准1标准2标准3生成数据的命令:gen1.如果要得到一阶差分,可以用以下命令:genDifference_invest(新变量的名称是任意的)=d.invest(d.是运算符号,不得改变;invest是变量名称)2.要想产生一个新的变量Lag_invest,也就是invest的一阶滞后,那么我们可以采用如下命令:genLag_invest=l.invest3.生成对数的命令:genLn_invest=ln(invest)2/19作散点图的命令:scatter1.scatterx1x2:scatter后的第一个变量是纵轴的变量,第二个变量是横轴的变量。2.scatterx1x2,connect(1):以直线的方式连接相邻的两个点。3.scatterx1x2,connect(1)msymbol(i):散点的显示方式为“看不见”。相关性检验:回归方程的斜率系数在一定程度上也是反映两个变量之间关系的密切程度,斜率系数的平方根就是相关系数。1.pwcorr命令(用于计算Pearson相关系数),它的好处是尽可能使用两两变量中所有没有缺失的数据,而不像correlate只采用没有任何缺失数据的完整的观测值。pwcorr[varlist],sigstar(.1):star(.1)是为了对显著性超过0.1的相关系数打上星号pwcorr[varlist],sigprint(.1):print(.1)则是仅仅显示这些显著的相关系数2.spearman命令(用于计算Spearman相关系数)。截面数据的估计命令如何创建一个截面数据文件?只需要从excle中拷贝相应的数据到stata中即可,不需要特别的命令说明它是截面数据。截面数据的回归主要需要注意以下几点:多重共线性(当样本量较小时,例如小于100)和异方差。而且需要考察t统计值、R2(adj-R2)、F统计量。1.检验自变量的相关性。(第1步也可以暂时不做,等到回归结束以后再做)pwcorr[varlist],sigprint(.05)2.对模型进行回归。一个普通的回归命令:regyx1x2x3x4x5,robust(截面数据一律加上robust)倘若回归结果的经济学含义不合理(包括系数的正负号和显著性水平),而且前面的相关性检验中自变量的相关性十分高,那么有可能存在严重的多重共线性,为了精确起见,可以用vif来判断多重共线性是否严重(当vif的最大值大于10,同时各vif的平均值大于1时,表明多重共线性比较严重。使用vif命令时一定要在回归命令执行以后再用)。如何处理多重共线性?剔除变量法、逐步回归法以及增加样本容量。3.运用剔除变量法进行回归。4.运用逐步回归法进行回归。逐步回归命令:swregyx1x2x3x4x5,pr(.1):逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著。swregyx1x2x3x4x5,pr(.1)lockterm1:逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著;而且加入lockterm项,为了保证第一项自变量不被删除。swregyx1x2x3(x4x5),pr(.1):逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著;而且加入()项,为了保证x4和x5要么同时出现,要么同时不出现。3/194/19时间序列数据的估计命令如何创建一个截面数据文件?先把数据转移到stata中,然后用tsset命令。tssettime,yearly(或者weekly、monthly、quarterly)此时,一定要保证表示时间的那一列数据(即年份)的名称为time。时间序列数据的回归主要需要注意以下几点:多重共线性(当样本量较小时,例如小于100)和序列相关性。而且需要考察t统计值、R2(adj-R2)、F统计量、D.W.值。首先用reg命令进行回归,例如:regyx1x2x3x4x5,并考察D.W.值(使用estatdwatson这一命令),如果D.W.值严重远离2,那么要进行调整(调整方法如黄色底纹),直到调整到2附近,然后考察回归结果是否符合经济学含义,倘若不符合,那么要注意是否受到多重共线性的影响(通过相关系数和vif值来判断)。在处理多重共线性时,可以用类似于处理截面数据的方法(剔除变量法),同时还要看D.W.值。此外,还可以用差分法来处理多重共线性(此方法用得不多)。检验DW值的命令:estatdwatson用广义差分法考虑序列相关性的命令(即调整DW值的命令):regyx1x2x3x4x5L.y(后面还可以运用L.yL2.y)用序列相关稳健标准误法考虑序列相关性的命令(即调整DW值的命令):regyx1x2x3x4x5,robust考虑多重共线性的方法除了以上截面数据中用到的方法以外,还可以用差分法,然后再看vif值。regD.yD.x1D.x2D.x3D.x4D.x5面板数据的估计命令如何创建一个面板数据文件?录入数据xtsetidyear面板数据的回归主要需要注意:多重共线性(当样本量较小时),异方差和序列相关性在很多研究中可以不必深究。而且需要考察t统计值、R2(adj-R2)、F统计量,选择固定效应(fixedeffect)或随机效应(randomeffect)。多重共线性的处理方法可以参照截面数据和时间序列数据的处理方法。固定效应和随机效应的选择:(xtreg后面紧挨着的变量是被解释变量,然后接下来才是解释变量)xtreg被解释变量解释变量,feeststorefe5/19xtreg被解释变量解释变量,reeststorerehausmanfe原假设是随机效应,p值太小可以拒绝原假设,如果hausman检验的结果(Probchi2)小于0.1,那么选择固定效应;如果(Probchi2)大于0.1,或者chi2的值小于0,那么选择随机效应。其它命令GMM方法:xtabonddepvarindepvarssargan检验:estatsargan自相关检验:estatabond同时控制时间因素(year)和行业因素(industrycode),即自动加入虚拟变量的命令xi的用法:xii.yeari.industrycode加入自动生成的虚拟变量,并且运用稳健标准误进行固定效应回归的命令:xtreglnexlngdpcnlngdppartnereducationjobiprrdlawhii.yeari.industrycode,ferobust面板数据中2sls的命令(这可能是默认的命令,还可以根据具体情况更改):(1)xtivreglnexlktfprdsizefdii.yeari.id(finance=l.finance),此时怀疑解释变量finance是内生的,而且以finance的一阶滞后作为IV。注意:括号前面必须有空格!(2)xtivreglnexlktfprdsizefdii.yeari.id(finance=l.financel2.finance),此时怀疑解释变量finance是内生的,而且以finance的一阶滞后和二阶滞后作为IV。注意:括号前面必须有空格!如果用overid,需要安装overid:sscinstalloverid,replace如果用xtoverid,需要安装xtoverid:sscinstallxtoverid,replace如果用ranktest,需要安装ranktest:sscinstallranktest,replace有时即使安装以后依然无法运用,可能是由于自变量太多导致的,例如控制行业固定效应、时间固定效应等固定效应时会增加几十个虚拟变量,这时可能由于模型无法运算而无法运用这些命令,GMM方法似乎也有类似情况。6/19例如:xtivreglnexlngdpcnlngdppartnerdistancelanguageborder(fincountry=l.fincountryl2.fincountry)findepfinancefin,re检验工具变量识别不足时用命令ranktest,以上例子应该是ranktest(fincountry)(l.fincountryl2.fincountry)【理想的结果是Kleibergen-PaaprkLM的p值小于0.1】检验弱工具变量时也用命令ranktest,但要在后面加上wald,以上例子应该是ranktest(fincountry)(l.fincountryl2.fincountry),wald【理想的结果是Kleibergen-PaapWaldrkF的p值小于0.1】检验过度识别时用命令xtoverid【理想的结果Sargan-Hansen检验的p值大于0.1】博客的命令整理,供参考,未经博主允许不得转载。1、input:输入数据例:inpurtxy1423.537end2、by:按照某一变量的取值来进行分析7/19例:一般要先sort(排序),然后bygroup:regressYx1x2//按照不同的组,对Y分别作四个回归分析3、weight:加权或者頻数例:fw=頻数变量//多用在四格表资料中或者未原资料未给出所有值,只给出了值和对应的頻数4、if:用条件语句指定条件例:dropifgroup==1|group==2//把group变量值为1或者2的记录删除掉5、in:指定观察值的范围,对在范围内的观察值做分析处理例:replacex1=123in100/200//把第100-200条记录中的X1变量值改为1236、for:用来指定变量例:fory1-y10z1-z5:regress@x1-x22//把y1-y10,z1-z5分别于x1-x22做回8/19归,一次性代表15次回归,其中@是替换符,代表y1-y10,z1-z57、函数:abs(x)绝对值exp(x)指数函数log(x)自然对数log10(x)常用对数sqrt(x)平方根uniform(x)生成(0,1)内均匀分布的伪随机数length(x)计算长度substr(s,n1,n2)获得从S的n1个字符开始的n2个字符组成的字符串real(x)将字符串s转换为数值函数9/19trim(x)去除字符串前面和后面的空格int(x)去掉x的小数部分,得到整数sum(X)求和max(x)min(x)最大值最小值_n当前观察值的位置_N观察值的总个数8、ren:重命名例:renvar1var123//把var1重新命名为var1239、des:描述数据库的基本情况10、label:为变量添加一些说明,以示说明11、sort:按照某一变量从小到大排序10/19gsort+/-:按照某一变量从大到小或者从小到大排序sortvar1var2: