1.1 Stata概述
Stata可以满足用户关于数据操作、可视化、统计和自动报告的系列需求。Stata由Stata公司研制开发成功,并于1985年推向市场,迄今已有30多年历史,它在全球范围内被广泛应用于企业和学术机构中,特别是在经济学、社会学、政治学及流行病学领域。目前的新版本为Stata 17.0,不过最为流行的版本仍为2019年6月26日推出的Stata 16.0。虽然Stata的历史相对悠久,且历经十余次改版升级,但Stata公司特别重视该软件版本的升级管理,如果用户在1985年运用最初的版本编写了一个程序来进行分析,那么这个程序在Stata新版本上仍然可以顺利运行,会得到同样的结果,用户在1985年创建的任何数据集,在今天还是能读取到。与其他软件相比,Stata软件具有以下明显的优势。
1.Stata支持多种操作风格,运行速度快
Stata的操作可以通过多种方式来实现,既可以通过单击菜单选项来完成,也可以通过输入命令来完成。输入命令的优点在于简洁明快、逻辑清晰、灵活方便;菜单操作类似于Windows和Office操作界面,并且有多种语言可供选择,用户可以根据自己熟悉的语言进行设置,比如国内大多数用户可以将界面语言调整为“简体中文”,通过简体中文菜单完成Stata程序的运行,大大降低了入门难度。此外,作为一个统计分析软件,Stata也具有很强的程序设计语言功能,Stata的ADO文件(高级统计部分)都是用Stata自己的程序设计语言编写的,用户完全可以根据研究需要在Stata中进行编程,并将相关程序固化,在以后运行时可以非常方便地调用。不同研究人员开发的程序也可以非常方便地交互和共享,大大提升了数据分析的效率。
Stata在分析时将数据全部读入内存,在统计、分析或计算全部完成后才和磁盘交换数据,因此运行速度很快。根据百度百科上的介绍,通常情况下,SAS的运算速度要比SPSS至少快一个数量级,而Stata的某些模块和执行同样功能的SAS模块比,其速度又比SAS快将近一个数量级。此外,个别模块包括生存数据分析、纵向数据(重复测量数据)分析等的功能也超过了SAS。
2.Stata是一个开放的、实时更新的软件系统
与其他统计软件相比,Stata软件可以做到开放地、实时更新地吸纳研究者、用户的最新研究成果,许多高级统计模块均是编程人员用宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可以通过互联网到Stata网站寻找并下载新的升级文件,实时更新功能,也可以就相关问题向世界各地的用户求助,及时运用新成果解决使用Stata时遇到的问题。这一特点使得Stata始终处于统计分析方法研发的前沿,用户总是能很快找到采用新统计算法的 Stata 程序版本。实时更新的具体操作是:
· 用户可以到Stata官方网站(http://www.stata.com)下载相关模块更新,或直接在命令窗口中输入“update”,在联网的情况下实现更新。
· 用户可以使用findit命令找到所需要的功能模块,并实现下载和安装。
· 用户可以下载由其他用户编写的Stata模块,通过菜单选项Help→SJ and User-written Programs进行下载和更新。当然,用户也可以自己编写程序,从而实现所需要的功能。
此外,一个非常重要的应用是,Stata可以非常便利地与当前热门的Python程序设计语言进行交互,Stata可以以交互的方式调用Python程序或将Python程序代码嵌入到Stata代码中,以及使用Stata中的任何Python包;在Python执行环境中也可以调用Stata,例如从IPython环境调用Stata代码开展Stata分析;Stata和Python之间还可以无缝传递数据和运行结果。
3.Stata具有强大的数据分析功能
Stata提供了从简单的统计描述到复杂的多因素统计分析方法,如数据的探索性分析、统计描述、交叉表分析、二维相关分析、秩相关分析、偏相关分析、方差分析、非参数检验分析、多元回归分析、生存分析分析、协方差分析、判别分析、因子分析、聚类分析、非线性回归分析、Logistic分析回归等,也可以实现多种计量模型的应用,如单方程模型回归、联立方程模型回归、离散被解释变量模型、受限因变量模型、时间序列模型、面板数据模型、分位数回归模型等。除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比例风险回归、指数与Weibull回归、负二项回归及广义负二项回归等。Stata的功能非常强大,可为大型统计项目提供完善的解决方案。
4.Stata具有强大的图形制作功能
用户可以根据研究需要通过菜单窗口操作或直接输入命令的方式创建自定义图形,包括直方图、散点图、曲线标绘图、连线标绘图、箱图、饼图、条形图、点图等,也可以编写程序生成数百或数千个图表。用户可以将图形导出到EPS或TIFF以供发布,也可以导出到PNG或SVG以供Web使用,或导出到PDF以供查看。除了专门的图形绘制模块外,在有些非绘图命令中,也提供了专门绘制某种图形的功能,如在生存分析中提供了绘制生存曲线图,在回归分析中提供了残差图,等等。Stata还提供了集成的图形编辑器,用户可以通过单击鼠标方式来更改图形的任何内容,包括添加标题、注释、线条、箭头和文本等。
5.Stata可以进行矩阵运算
在多元统计分析中,很多情形下不再是单方程系数估计,而是需要进行矩阵运算。在Stata中,用户可以非常方便地进行矩阵的基本运算,包括矩阵的加、积、逆、Cholesky分解、Kronecker内积等,也可以开展矩阵的一些高级运算,包括特征根、特征向量、奇异值分解等。除了专门的矩阵计算模块外,在执行完某些统计分析命令后,Stata还提供了一些系统矩阵,如估计系数向量、估计系数的协方差矩阵等,使用起来非常方便。