您好,欢迎访问三七文档
Stata快速入门1、Stata的窗口•在最上方有一排菜单,即“FileEditDataGraphicsStatisticsUserWindowHelp”。•左上“Review”(历史窗口):此窗口记录着自启动Stata以来执行过的命令。•右上“Variables”(变量窗口):此窗口记录着目前Stata内存中的所有变量。•正上方“Results”(结果窗口):此窗口显示执行Stata命令后的输出结果。•正下方“Command”(命令窗口):在此窗口输入想要执行的Stata命令。2、将数据导入Stata•打开Stata软件后,点击DataEditor(Edit)图标(也可以点击菜单“Window”→“DataEditor”),即可打开一个类似Excel的空白表格。•用Excel打开文件“nerlove.xls”,复制文件中的所有数据,并粘贴到DataEditor中。•导入数据的另一方法是,点击菜单“File”→“Import”,然后导入各种格式的数据。但这种方法有时不如直接从Excel表中粘贴数据来得方便直观。3、变量窗口•关闭DataEditor后,即会看到右上方的“Variables”窗口出现了5个变量:•分别为tc(totalcost,总成本),q(totaloutput,总产量),pl(priceoflabor,小时工资率),pf(priceoffuel,燃料价格),与pk(usercostofcapital,资本的租赁价格。4、存为dta数据文件•此时,可以点击Save图标(也可以点击菜单“File”→“Save”),将数据存为Stata格式的文件(扩展名为dta),比如nerlove.dta。•以后就可以用Stata直接打开这个数据集了(不需要再从Excel表中粘贴过来)。5、打开dta数据文件打开的方式有三种:1.点击Open图标(也可以点击菜单“File”→“Open”),然后寻找要打开的dta文件的位置。2.直接双击想要打开的dta文件3.在命令窗口输入以下命令(假设文件在E盘的根目录)并回车(按Enter键)•useE:\nerlove.dta,clear其中,选择项“clear”表示可以替代内存中的已有数据。•如果要关闭一个数据集(如果对数据集进行了改动,别忘了先存盘Save),以便使用另外一个数据集,可以在命令窗口输入•clear•这样,内存中所有的当前数据都被清空,然后可以再打开另外一个数据集。6、变量的标签•在变量窗口,每个变量的“名字”(Name)旁边显示了其“标签”(label)。但目前的标签过于简略,缺乏变量的解释信息。•如果想将变量“tc”的标签改为“totalcost”,可进行如下操作。点击进入“变量管理器”(VariablesManager)图标(在DataEditor右侧)。•Stata中字母的大小写是严格区分的(casesensitive),因此Stata建议对于变量名一律使用小写字母。7、审视数据•一个数据集可能很大,而我们常希望看到数据的概貌。想看数据集中的变量名单、标签等,可以在命令窗口输入,•describe•其中,“describe”中的下划线表示,可以将该命令简写为“d”而得到同样的效果。8、罗列数据•如果想看变量tc与q的具体数据,可使用命令,•listtcq9、旧命令的调用•把光标放在命令窗口,并按键盘上的“PageUp”键即可调用上一个命令(反之,使用“PageDown”键可调用下一个命令)。•另一种简便的方法是,在左上角的历史窗口点击任何曾用过的命令:如果用鼠标单击旧命令,则会把旧命令重新调入命令窗口,按回车后即执行,或将旧命令进行编辑后再执行;如果用鼠标双击旧命令,则将马上自动执行。10、定义子集•有时我们想对数据集的一部分执行命令,比如只想看变量tc与q的前5个数据,则可输入命令:•listtcqin1/511、逻辑关系•也可以通过逻辑关系来定义数据集的子集。如果要列出所有满足条件“”的变量tc与q的数据,则可以使用以下命令,•listtcqifq=1000012、只对子集进行运算•如果想删除满足“q=10000”条件的观测值,则可使用命令,•dropifq=10000•反之,如果只想保留满足“q=10000”条件的观测值,而删去所有其他观测值,•keepifq=1000013、考察变量的统计特征•如果想看变量q的统计特征,可输入命令,•summarizeq•如果不指明变量,则将显示数据集中所有变量的统计指标。•su•如想看更多的统计指标,可使用命令•suq,detail14、经验累积分布函数•如果要显示变量pl的经验累积分布函数(empiricalcumulativedistributionfunction),可使用命令,•tabulatepl15、相关系数•如果要显示内存中5个变量之间的相关系数,可输入命令,•correlatetcqplpfpk•pwcorrplpfpk,sigstar(.05)•“pw”表示pairwise。•选择项“sig”表示显示相关系数的显著性水平(即p值,列在相关系数的下方),•选择项“star(.05)”表示给所有显著性水平小于或等于5%的相关系数打上星号。•如pwcorr之后没有指定变量,显示所有变量的相关系数16、直方图•如果想看变量q的直方图(假定组宽为1000),可输入以下命令(也可通过菜单来输入此命令):•histogramq,width(1000)frequency17、散点图•如果要画tc与q之间的散点图,则可输入以下命令:•scattertcq18、在散点图上标注观测值•在散点图中,无法知道每个点分别对应哪个观测值•为此,首先定义一个新变量“n”来表示第n个观测值。•genn=_n•其中,“_n”即表示第n个观测值。•scattertcq,mlabel(n)mlabpos(6)•选择项“mlabel(n)”表示以变量“n”作为“marklabel”(标签);“mlabpos(6)”(marklabelposition)表示将此标签放在散点正下方(6点钟的位置),默认位置为散点的右边(3点钟)。19、在散点图上画回归直线•twoway(scattertcq)(lfittcq)•其中,“lfit”表示“linearfit”(线性拟合)•graphsavescatter120、在散点图上画二次回归曲线•twoway(scattertcq)(qfittcq)•其中,“qfit”表示“quadraticfit”(二次拟合)。•graphsavescatter221、将两图合并•graphcombinescatter1.gphscatter2.gph22、案例操作(1)(2)生成新变量•可使用命令“generate”来生成新变量。•glntc=log(tc)•glnq=log(q)•glnpl=log(pl)•glnpf=log(pf)•glnpk=log(pk)•如果需要q的非线性平方项,可使用命令:•gq2=q^2•如果要生成lnpl与lnpk的互动项(interactionterm),则可以使用命令,•glnplpk=lnpl*lnpk(3)生成虚拟变量•假设希望定义“q=10000”为大企业,并使用“虚拟变量”(dummyvariable)large来表示,则可使用命令:•glarge=(q=10000)•其中,括弧“()”表示对括弧中的表达式“q=10000”进行逻辑评估:如果为真,则取值为1;如果为假,则取值为0。(4)Stata的计算器功能•Stata也可以作为计算器来使用。只要输入命令“displayexpression”即可。•比如,“displaylog(2)”将计算ln2。•“dinormal(1.96)”将计算标准正态累积分布函数在1.96的取值(即小于1.96的概率)。(5)线性回归•regresslntclnqlnpllnpklnpf(6)稳健标准误•此表达式在异方差情况下也成立,故称为“异方差稳健的标准误”,简称“稳健标准误”(robuststandarderrors)。在同方差的假定下,稳健标准误还原为普通(非稳健)标准误。标准误vs稳健标准误•标准误只在同方差情况下成立•稳健标准误在同方差或异方差情况下都成立•处理异方差的当代流行方法是,不调整OLS估计系数,使用稳健标准误即可。•即使存在异方差,OLS依然一致、渐近正态。只要使用稳健标准误,即可照常进行统计推断。•reglntclnqlnpllnpklnpf,robust(7)省略常数项•在进行回归时,如果不要常数项,可以加上选择项“noconstant”,•reglntclnqlnpllnpklnpf,rnoc(8)对子样本进行回归•reglntclnqlnpllnpklnpfifq=1000,r(9)计算拟合值•如果要计算被解释变量的拟合值,并将其记为lntchat,可输入命令:•quietlyreglntclnqlnpllnpklnpf,r•其中,“quietly”表示不显示命令运行结果。•predictlntchat•(optionxbassumed;fittedvalues)(9)计算残差•如果要计算“残差”(residual),并将其记为e1,可输入命令:•predicte1,residual•其中,选择项“residual”表示预测残差。如果没有任何选择项,则默认值(default)为计算拟合值。(10)计算规模报酬•由于lnq的系数为1/r,即规模报酬的倒数,故可以估计规模报酬为,•display1/_b[lnq]•其中,“_b[lnq]”表示lnq的OLS系数估计值。(11)规模报酬是否不变?•为检验规模报酬不变的原假设,输入命令:•testlnq=1(12)联合检验•回归方程还显示,变量lnpl,lnpk与lnpf的系数之和应该等于1。为此,可以检验以下联合假设:•test(lnq=1)(lnpl+lnpk+lnpf=1)•由于lnpl与lnpk均不显著,我们希望对其显著性进行联合检验:•testlnpllnpk(13)自助标准误•有时估计量的标准误没有解析表达式,可使用“自助标准误”(bootstrapstandarderror)。•自助法是一种有放回的再抽样(resampling),保持样本容量不变。•使用自助法得到原始样本的B个自助样本(比如B=1000),对每个样本进行估计,得到1000个估计值,并计算这1000个估计值的标准差。•reglntclnqlnpllnpklnpf,vce(bootstrap)•reglntclnqlnpllnpklnpf,vce(boot,reps(1000)seed(10101)nodots)•选择项“reps(1000)”表示抽取1000个自助样本(Stata默认50个,太少了)•选择项“seed(10101)”表示随机数的种子为10101(为了以后能复制此结果)•选择项“nodots”表示不显示抽样过程的点(一个点表示一个自助样本)23、案例说明(1)时间变量与时间趋势图•useicecream.dta,clear•tssettime(宣布时间变量)•graphtwowayconnectconsumptiontemp100time,msymbol(circle)msymbol(triangle)•其中,变量temp100为temp/100,选择项“msymbol(circle)msymbol(triangle)”表示“图标”(markersymbol)分别为圆圈与三角形。(2)OLS回归•regconsumptiontemppriceincome(3)自相关检验•estatbgodfrey(4)Newey-West回归•如果扰动项存在自相关(常见于时间序列数据),仍可用OLS来估计回归系数,但应使用“异方差自相关稳健的标准误”(HeteroskedasticityandAutocorrelationConsistentStandardErr
本文标题:stata入门教程
链接地址:https://www.777doc.com/doc-1781528 .html