S学习入门必须知道的基础

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

STATA 学习入门必须知道的基础

作者:量化研究方法

关于Stata软件,我经常会被人问道:“你知道它到底能做什么吗?”那我们今天就带大家来了解一下这门当下热门的软件究竟的用处是什么?

1 关于Stata,这些基础的东西你必须要知道

很长一段时间里,我一直把“Stata”读为“Stay-ta”。有一次和一个从日本回来的朋友聊天,她把Stata读为“Star-ta”,让我甚感不适。经查阅,方才发现,原来“Stata”并非数个单词的缩写(因此其正确拼写为Stata 而非STATA),而是由“statistics”和“data”合成的一个新词。从这个小小的趣闻中,可以看出Stata 在问世之初(1985年)的主要功能在于统计分析和数据处理。经历了三十余年的发展,Stata 已经升级到第15版,在不断强化上述功能的同时,Stata在矩阵运算、绘图、编程等方面的功能也在不断加强。Stata 擅长数据处理、面板数据分析、时间序列分析、生存分析,以及调查数据分析,但其它方面的功能也并不逊色。(表1)

2为何选择Stata?

这是个不太容易回答的问题。Stata网站列举了数条可能的原因。Edwards(2005)曾经非常细致地对比了Stata,SPSS和SAS的优劣。Princeton大学的Torres-Reyna博士则将四种常用软件的特征总结为表2。整体而言,Stata具有较强的优势。

3 弱水三千,我为何钟情于Stata?

就我个人的经历而言,如下几个原因使我自2003年以来一直钟情于Stata。

Stata的数据处理功能很强大。由于将数据导入内存后进行运算,其速度非常快。在多个数据文件的合并和追加,以及文字资料、时序资料,以及调查资料的处理方面,Stata 总能以极为简洁的命令完成分析。

自Stata12 发布以来,官方命令能快捷地导入导出文本(txt)和Excel(xls,xlsx)格式的数据文件。若进一步借助Stat/Transfer 软件,我们可以非常方便地实现不同软件数据格式的转换,如Excel, Access, SPSS, SAS, Eviews,Gauss, Limdep, S-Plus, R等。

我是做公司财务的,每年5月,在GTA、CCER、Wind 等数据库提供商提供了最新的数据后,我也需要更新自己的Stata 数据库(我把这些数据库提供的几十个子库合并为一个名为“Arlion_data.dta”的Stata数据文件,并与我的合作者们分享)。

借助Stata 的数据处理功能,我只需在上一年度已经完成的do-files 中稍作修改即可完成数据的更新工作。整个过程仅需2天的时间。我无法想象,如果没有Stata提供的merge、append、forvalues等命令,这个数据更新的过程将会有多么痛苦。

Stata 的do-files 带来的便利。我很少点击Stata 的菜单,也很少在命令窗口中输入命令,我使用do-files(当然,每天要在这个窗口中敲入几十次help 命令)。简单而言,Stata 的do-files 只是一个包含了多行Stata命令的文本文件而已([U]16Do-files,Long(2009))。有些时候,要完成一篇文章的数据处理过程需要数周的时间,do-files就显得格外重要,它使得我们很容易对此前的处理过程进行修改。更为重要的是,后续文章都可以在这个do-files 的基础上扩展。我与搭档合作时,每天只需通过电子邮件发送只有几k大小的do-file即可;而我的学生们则可以通过do-files 重现我上课时讲解的每一个估计命令;很多学生的第一篇实证分析的论文都是在我已经完成的do-files 基础上完成的。

Stata 绘制的图形非常精美。这也为回归分析提供了一种可视化的分析工具,自Stata10发布以来,Stata增加了图形编辑、多种字体支持,以及数学符号支持等功能。3Stata 可以输出十余种图片格式,可以非常方便地插入Word、LaTeX等文字排版软件。即使采用点击鼠标的方式绘制图形,Stata 也会自动生成命令代码,为图形的修改提供了极大的便利。

Stata 在编程方面提供了良好的平台。比如,做非线性最小二乘(NLS)、最大似然估计(MLE)、广义矩估计(GMM),只需要设定函数形式,编写一些简单的程序即可完成,至于数值算法等比较复杂的技术问题,Stata都已帮你做好了。

例如,我完成的第一篇实证分析的论文便是以NLS为基础的,随后,我又采用MLE 完成了异质性随机边界模型(和双边随机边界模型)的估计。自Stata11发布以来,GMM 的实现

也变得非常简单了,你只需设定残差方程、指定工具变量,并选择何时得权重矩阵即可完成估计。

Stata 具有良好的扩展性。Stata具有自己的编程语言,其所有命令都对应着一个以“.ado”为后缀的同名程序文件。对于Stata 用户而言,我们可以使用viewsource 或doedit 命令查看这些程序的代码。更为重要的是,我们可以非常方便地自行编写命令,以实现对Stata 官方命令的补充和扩展。这种特殊的扩展功能赋予了Stata 用户极大的灵活性,我们可以用findit命令下载到大量的外部命令,以便适时跟进最新的统计方法。这同时也推动了Stata自身的发展,例如,Stata 用户开发出的可绘制地图的命令tamp,spmap,china_map 等就是一个很好的例证;由DavidRoodman 编写的xtabond2 命令则被Stata11 设定为估计动态面板模型的官方命令(xtdpd, xtdpdsys);同样,由F.Bornhorstand C.F.Baum 编写的ipshin、levinlin 命令,C.F. Baum 编写的hadrilm 命令,以及S. Merryman 编写的xtfisher 等用于执行面板单位根检验的命令都被Stata11设定为官方命令xtunitroot。饮水思源,我自己也贡献了xtbalance等命令。若想发布自己编写的Stata 命令,只需发邮件给波士顿大学的C.F. Baum 教授即可。

最后,从我身边这些老师和朋友的经验来看,Stata受到了越来越多的关爱。我的导师使用Gauss十年有余,在2001年接触Stata 后,毅然改用Stata。还有很多国外的朋友,基本上都在使用Stata。当越来越多的人开始使用Stata 时,我们的交流成本会迅速下降。

当然,软件本身并无好还之分,只是一个习惯的问题。关键的问题还是对统计和计量理论的掌握,这是决定你是否能驾驭软件的关键。

4 Stata并不完美,但她正在趋近完美。

诚如MacStats网站的评价,Stata 结果似乎无法像SPSS或Eviews 那样非常美观地输出(或粘贴)到Word/Excel 文档中。然而,得益于广大Stata 用户的努力,这不再是个问题,我们可以使用tabout (Watson(2007)), esttab (Jannand Long(2010)), logout,outreg2 (Jann(2005),Jann(2007)), xml_tab (Lokshin andSajaia(2008)) 等命令非常方便的把Stata 结果输出到Excel,Word, LaTeX和HTML (Gini andPasquini(2006)) 等文件中。连玉君博士制作的视频文件Stata 与Word、Excel、LaTeX的亲密接触非常细致地介绍了这一主题。他的另一份文档Stata与LaTeX 的完美结合则较为全面的介绍了如何将Stata 结果输出到LaTeX。

相关文档
最新文档