2021年4月20日 , Stata 公司正式宣布Stata 17上线啦!
或许计量小伙伴们还没把Stata 16捂热 , Stata公司就地推出了Stata 17 。 工欲善其事 , 必先利其器 。 而Stata公司正如“有匪君子 , 如切如磋 , 如琢如磨” , 把Stata这把利器打造得日益精良与称手 。
Stata之所以能成为热门的计量经济学软件 , 根本原因在于Stata十分贴近计量经济学的实践应用 。 那么 , 全新的Stata 17给我们带来了怎样的惊喜呢?总结起来 , 主要有以下十个方面 , 下面分别介绍:
1、双重差分法的官方命令
2、完美的表格输出
3、Lasso的新功能
4、离散选择模型的新命令
5、久期数据的新命令
6、贝叶斯计量经济学的全面升级
7、非参数的趋势检验
8、元分析的新命令
【表格|Stata 17 正式发布:DID的官方命令,完美的表格输出,Lasso新功能及更多】9、Stata与Python、Java、H2O 及 Jupyter Notebook的整合
10、Do文件编辑器的改进与Stata速度提升等
1、双重差分法的官方命令 “双重差分法”(Difference-in-differences , 简记DID)或许是常用的计量方法 。 怎么能没有DID的Stata官方命令呢?为此 , Stata 17及时地推出了DID的官方命令xtdidregress;其中 , “xt” 表示这是适用于面板数据的命令 。
除了进行常规的 DID 估计 , 命令xtdidregress还允许指定三个“分组变量”(group variables) , 或两个分组变量与一个时间变量 , 从而进行“三重差分法”(Difference-in-differences-in-differences , 简记DDD)的估计 。
另外 , 针对“重复截面数据”(repeated cross-sectional data) , 即所谓“准面板”(pseudo panel data) , Stata 17也推出了相关的新命令didregress , 可进行类似 DID 的估计 。
更重要的是 , 你可以用DID的官方命令 , 轻松地画平行趋势图啦~
文章图片
2、完美的表格输出 实证研究者经常需要将Stata的多个回归结果以表格形式输出到Word文件中 。 虽然早有官方命令estimates table可完成此类任务 , 但比较死板;故此前Stata用户一般使用非官方命令(比如estout或outreg)来输出回归结果 。 为此 , Stata 17大幅改善了原来的table命令 , 使用户可轻松地以表格形式汇报回归结果(regression results)或统计特征(summary statistics) 。
进一步 , 你可以设计回归表格的风格(styles) , 并应用于所创建的表格 , 然后将此表格输出到Word或其他形式的文件(包括PDF、HTML、LaTex、Excel、Markdown 等) 。 另外 , 你还可以使用新增的前缀(prefix)collect , 来收集Stata命令的各种估计结果 。 Stata 17还新增了Table Builder(表格创建器) , 让用户可通过点击鼠标(point-and-click)来创建表格 。
文章图片
3、Lasso的新功能 作为“高维回归”(high-dimensional regression)的常用工具 , Stata 16已经推出了有关Lasso(Least Absolute Shrinkage and Selection Operator , 即所谓 “套索估计量”)的一系列官方命令 。 Stata 17则提供了更多有关 Lasso 的新功能 。
- 使用Lasso估计处理效应模型 。 在 Stata 16 中 , 可使用命令teffects估计“处理效应”(treatment effects)模型;而命令lasso则用于估计协变量很多的高维模型 。 Stata 17则将二者结合起来 , 其推出的新命令telasso , 可估计包含很多协变量的处理效应模型 。

文章图片
- 使用 BIC 选择Lasso惩罚参数 。 作为一种“惩罚回归”(penalized regression) , 在进行Lasso估计时 , 需要选择惩罚参数(penalty parameter) 。 在Stata 16中 , 可使用交叉验证(cross-validation)、适应性方法(adaptive method)或代入法(plugin)来选择惩罚参数 。
- 在Stata 17中 , 新增了选择项 “selection(bic)” , 可使用 “贝叶斯信息准则”(Bayesian Information Criterion , 简记BIC)选择惩罚参数 。 而且 , 新增的估计后命令(postestimation command)bicplot可以很方便地将此选择过程可视化 。

文章图片
- 使用Lasso处理聚类数据 。 对于“聚类数据”(cluster data) , 由于每个聚类中观测值存在自相关 , 故通常的Lasso估计可能导致偏差 。 在Stata 17中 , 在使用命令lasso或elasticnet时 , 可通过新增选择项 “cluster(clustvar)” 来处理聚类数据 。 进一步 , 对于使用Lasso进行统计推断的命令 , 比如poregress(表示partialing-out regress) , 则可使用Stata 17的新增选择项 “cluster(clustvar)” 来得到聚类稳健的标准误(cluster-robust standard errors) 。

文章图片
4、离散选择模型的新命令 离散选择模型(discrete choice model)是微观计量经济学的常用模型 。 在Stata 17中 , 增加了以下离散选择模型的新命令:
“面板多项逻辑模型”(panel multinomial logit model) 。 对于横截面数据的多项逻辑模型 , Stata已有mlogit命令 。 Stata 17新增的xtmlogit命令则可使用面板数据估计多项逻辑模型 。 这无疑是Stata在离散选择模型方面的一大进步 , 因为此前Stata只能使用xtlogit或xtprobit估计面板二值选择模型 。

文章图片
- “零膨胀排序逻辑模型”(zero-inflated ordered logit model) 。 对于排序数据(ordered data) , 此前可使用Stata命令ologit或oprobit进行估计 。 在实践中 , 有时排序数据中ZUI低类别所占比重很大 。 若将ZUI低类别的取值记为“零” , 则存在所谓“零膨胀”现象 。 此时可使用Stata 17的新增命令ziologit , 估计更有效率的“零膨胀排序逻辑模型”(zero-inflated ordered logit model) 。

文章图片
5、久期数据的新命令 “久期数据”(duration data)常用于生物统计的 “生存分析”(survival analysis) , 在经济学中也有广泛用途 , 例如失业的持续时间 , 婚姻的延续时长 , 王朝的寿命等 。 久期数据常存在 “删失”(censoring)或 “归并” 问题 , 比如当研究结束时 , 有些病人可能尚未死亡;或者有些失业者还未找到工作 。
Stata 17新推出的命令stintcox , 可使用Cox模型来估计一种特殊的“区间删失”(interval-censored)数据 。 对于区间删失数据 , 我们只知道事件发生于某个区间 , 但无法确知其发生时点;比如 , 只知道癌症复发于两次体检之间的时段 。 如果忽略久期数据存在的区间删失问题 , 则会导致估计偏差 。

文章图片
6、贝叶斯计量经济学的全面升级 在大数据时代 , 由于数据日益复杂而多样 , 在处理有些问题时 , 基于频率学派的传统计量方法可能不便使用 , 使得贝叶斯学派的计量经济学逐渐兴起 。 频率学派认为待估计的参数是给定的未知数(fixed unknown parameters) , 而贝叶斯学派则将未知参数视为服从某个分布的随机变量 , 并可随时根据新的样本信息将其 “先验分布”(prior distribution)更新为 “后验分布”(posterior distribution) 。

文章图片
Stata 17将Stata中原有的贝叶斯统计学与计量经济学进行了全面升级 。
贝叶斯面板数据模型(Bayesian panel-data models) 。 Stata目前已有的面板命令包括xtreg(静态面板) , xtlogit或xtprobit(面板二值选择模型) , 以及xtologit或xtoprobit(面板排序模型)等 。 在 Stata 17中 , 如果要使用贝叶斯方法估计这些面板模型 , 只要在原命令之前加上 “前缀”(prefix)bayes即可 。

文章图片
贝叶斯向量自回归模型(Bayesian VAR models) 。 “向量自回归”(Vector Autoregression , 简记VAR)是常见的时间序列模型 。 在已有的Stata中 , 可用命令var来估计VAR模型 , 而后续命令则包括:使用fcast进行 “动态预测”(dynamic forecast) , 以及使用irf估计 “脉冲响应函数”(impulse response function , 简记 IRF)与 “预测误差方差分解”(forecast error variance decomposition , 简记 FEVD) 。
在Stata 17中 , 则可使用命令“bayes: var”(即在命令var之前加上前缀bayes)估计贝叶斯的 VAR 模型 。

文章图片
然后 , 使用bayesfcast进行动态预测;

文章图片
而脉冲响应函数(IRF)与预测误差方差分解(FEVD)也可类似地得到 。

文章图片
其次 , 经典的VAR模型使用大样本理论进行统计推断与预测 , 需要假设估计量服从渐近正态分布 , 在小样本中不易满足 。 而贝叶斯方法则不使用大样本理论 , 也无须渐近正态的假设 , 故更适用于小样本 。
使用贝叶斯方法估计VAR模型有两大好处 。 首先 , VAR模型通常包含较多参数 , 若样本较小 , 则估计结果不稳定 。 而贝叶斯方法由于较易“整合先验信息”(incorporating prior information) , 故在用小样本估计VAR模型时更为稳健 。
贝叶斯多层模型(Bayesian multilevel models) 。 Stata 17新推出的bayesmh命令可以估计一系列的贝叶斯多层模型 , 包含“单变量”(univariate)或“多变量”(multivariate)的线性与非线性多层模型(linear and nonlinear multilevel models) , 乃至面板的生存时间模型(joint longitudinal and survival-time models)以及结构方程之类的模型(SEM-type models)等 。
贝叶斯线性与非线性DSGE模型(Bayesian linear and nonlinear DSGE models) 。 “动态随机一般均衡”(Dynamic Stochastic General Equilibrium , 简记DSGE)模型是宏观经济学的主流模型 。 在Stata 16 中 , 可使用命令dsge与dsgenl分别估计线性与非线性的 DSGE 模型 。
在Stata 17中 , 只要在命令dsge与dsgenl之前加上前缀bayes , 即可估计相应的线性或非线性的贝叶斯DSGE模型 。 可供用户选用的 “先验分布”(prior distribution)多达30以上 , 并可进行贝叶斯脉冲响应分析(Bayesian IRF analysis) , 区间假设检验(interval hypothesis testing) , 以及使用贝叶斯因子(Bayesian factors)来比较模型等 。

文章图片
7、非参数的趋势检验 有时样本数据中存在分组(比如 , 分为3组) , 且这些分组有天然的排序(比如 , 记为1 , 2 , 3组) , 即所谓 “排序分组”(ordered groups) 。 在这种排序分组的数据中 , 经常希望检验某个变量在此分组排序中(比如 , 第1-3组) , 是否存在某种趋势 , 比如此变量的取值倾向于越来越大 , 即所谓 “tests for trend across ordered group” 。
为此 , 可使用Stata已有命令nptrend , 进行非参数的Cuzick秩检验(Cuzick test using ranks) 。 而Stata 17的ZUI新版nptrend命令 , 则在 Cuzick秩检验之外 , 新增了三个非参数检验 , 即“Cochran-Armitage test” , “Jonckheere-Terpstra test” 与“linear-by-linear trend test” , 使得命令nptrend的功能大大增强 。

文章图片
8、元分析的新命令 “元分析”(meta-analysis)将多个类似的研究结果综合在一起 。 比如 , 针对某个疫苗的有效性(vaccine efficacy) , 在世界各地进行了多个实验 , 如何将每个实验所得的疫苗有效性指标 , 通过加权平均得到统一的度量 。 Stata 17将Stata的元分析功能作了进一步的提升 。
多维元分析(Multivariate meta-analysis) 。 在将多个研究结果综合在一起时 , 其中的每个研究可能同时汇报 “多个效应规模”(multiple effect sizes) , 而这些效应之间可能存在相关性 。 若使用Stata既有的meta命令 , 则会忽略这种相关性 。 Stata 17的新增命令meta mvregress可进行多维元分析 , 并处理这种相关性 。

文章图片
加尔布雷斯图(Galbraith plots) 。 Stata 17还新增了命令meta galbraithplot , 可以画元分析的 “加尔布雷斯图”(Galbraith plots) 。 此图可用于评估不同研究之间的异质性(assessing heterogeneity of the studies) , 并发现潜在的极端值(potential outliers) 。

文章图片
留一元分析(Leave-one-out meta analysis) 。 Stata 17新增了 “留一元分析”(Leave-one-out meta-analysis)的功能 。 所谓“留一元分析” , 就是在进行元分析时 , 每次均留出一个研究(即omitted study , 不放在样本中) , 以考察元分析结果的稳健性;比如 , ZUI终结果是否过度依赖于某个研究 。 在使用Stata命令meta summarize或meta forestplot进行元分析时 , 可使用新增的选择项leaveoneout来进行留一元分析 。

文章图片
9、Stata与Python、Java、H2O及Jupyter Notebook的整合 在大数据时代 , Stata也在加快与主流软件平台的整合 , 为用户提供更多的增值服务 。 这在Stata 17的此次升级中体现尤其突出 。
与 Python 的整合(Python integration) 。 Python已是炙手可热的主流计算机语言 。 为此 , Stata 16专门提供了一个与Python的接口 , 让用户在熟悉的Stata界面下调用Python , 并在Stata中显示运行结果 。 Stata 17则更进一步 , 推出了新的Python包(Python package)pystata , 使得用户可在Python 中方便地调用Stata 。 Stata 17还引入了一个新概念 “PyStata”, 包括 Stata与Python交互的所有方式 。

文章图片
与 Java 的整合(Java integration) 。 Java是一种应用广泛的跨平台编程语言 。 在Stata 17中 , 你可以十分方便地在Stata程序中嵌入并执行 Java 代码 。
对于JDBC数据交换格式的支持(Support for JDBC) 。 JDBC(Java Database Connectivity)是一个在不同程序与数据库之间交换数据的跨平台标准(a cross-platform standard for exchanging data between programs and databases) 。 在Stata 17中 , 通过支持JDBC , 使得 Stata用户可从一些ZUI流行的数据库导入数据 , 包括Oracle、MySQL、AmazonRedShift、Snowflake、Microsoft SQL Server等 。
与H2O的整合(H2O integration) 。 H2O是一款流行的机器学习软件平台 。 在Stata 17中 , 你可以连接并调用H2O的机器学习算法 。 这无疑为Stata用户打开了另外一扇通往机器学习的窗口!
在Jupyter Notebook中使用Stata(Jupyter Notebook with Stata) 。 Jupyter Notebook是一款基于网页的流行“集成开发环境”(integrated development environment , 简记 IDE) , 尤其方便展示代码、公式、文字与可视化 。 在Stata 17中 , 作为PyStata的一部分(依赖于 Python 包pystata) , 你可以从 Jupyter Notebook调用 Stata与Mata(Stata的矩阵语言) 。 这意味着 , 你可以在同一环境中整合Python与Stata的功能 , 使得你的工作更加可复制(reproducible)且易于分享 。

文章图片
10、Do文件编辑器的改进与Stata速度提升等 Do文件编辑器的改进(Do-file Editor improvements) 。 随着编程的重要性日益提高 , Stata 16在Do文件编辑器中加入了 “自动填写完成”(autocompletion)与 “语法高亮”(syntax highlighting)的功能 。 Stata 17又将Do文件编辑器的功能进一步提升 。
在Stata 17的Do文件编辑器中 , 可通过设置 “bookmarks”(书签)而在一个较长的do文件中迅速跳至想要编辑的部分 。 Stata 17的Do文件编辑器还新增了“navigation control”(导航) , 其中罗列所有的书签及其标签(bookmarks and their labels) , 以该Do文件中的全部“程序”(programs) 。

文章图片
Stata的速度提升(Faster Stata) 。 在大数据时代 , 基础算法的速度越来越重要 。 为此 , Stata 17更新了命令sort与collapse的算法 , 使之更为快捷 。 另外 , Stata 17也提升了命令mixed(用于估计多层混合效应模型 , 即 multilevel mixed-effects models)的运行速度 。

文章图片
使用Intel Math Kernel Library(MKL)提升速度 。 Stata 17引入了Intel Math Kernel Library(MKL) , 适用于所有Intel或AMD的64位计算机 , 从而可调用深度优化(deeply optimized)的LAPACK(Linear Algebra PACKage)线性代数包 。 这将使得Stata与Mata的底层计算速度进一步提升 , 而Stata用户无须作任何事情即可享用 。

文章图片
处理日期与时间的新函数(New functions for dates and times) 。 Stata 17 引入了方便处理日期与时间的新函数 , 包括Datetime duration(计算持续时间) , Datetime relative dates(计算相对日期 , 比如下个生日的日期) , 以及Datetime(从日期中提取不同的成分) 。 这些新函数还会自动考虑闰年(leap years)、闰日(leap days)与闰秒(leap seconds)的因素 。

文章图片
总之 , Stata 17是一次令人激动的重大升级 , 不仅有贝叶斯计量经济学的高歌猛进 , 与主流计算机语言平台的深度整合 , 更便于编程的Do文件编辑器 , 而且更为贴近计量实战的需求(DID , 表格输出 , 离散选择等) 。 显然 , 在可预见的将来 , Stata 依然会是经管社科的首.选计量与统计软件 。
如需正版 Stata 17 , 请访问:www.uone-tech.cn , 希望能为Stata中国用户提供更多服务与支持!
推荐阅读
- 功能|Linux 微信官方版 2.1.1 正式发布
- IT|国内最长湖底隧道正式通车运营
- 尺寸|3199元起,小米12/12 Pro/12X手机今天晚上20点正式开售
- IT|以色列正式批准开放第四剂新冠疫苗接种 限免疫力低下人群
- 公司|赣锋锂业智能立体仓储系统正式运行
- 系统验证|以技术革新加速芯片创新效率,EDA软件集成版PNDebug正式发布
- IT|安九高铁正式开通:时速350公里、京港台通道商丘至深圳段贯通
- 集聚|向全球应用创新策源地持续迈进 上海“双千兆”应用体验中心正式揭牌
- 全体|喜报:三星 Galaxy S21 系列全体用户现已获推 One UI 4.0 正式版
- 生产|泰禾智能总装流水线正式投产