楼主: 资料狂人
24153 120

[学科前沿] Stata 17正式发布:DID的官方命令,完美的表格输出,Lasso新功能,离散选择新命令……   [推广有奖]

回帖奖励 10 个论坛币 回复本帖可获得 5 个论坛币奖励! 每人限 1 次

运营管理员

巨擘

0%

还不是VIP/贵宾

-

威望
9
论坛币
974907558 个
通用积分
41187.9035
学术水平
4617 点
热心指数
3402 点
信用等级
3620 点
经验
636489 点
帖子
9612
精华
140
在线时间
18195 小时
注册时间
2010-5-1
最后登录
2024-4-19

初级热心勋章 初级学术勋章 中级学术勋章 中级热心勋章 初级信用勋章 中级信用勋章 高级学术勋章 高级热心勋章 高级信用勋章 特级信用勋章 特级学术勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以下文章来源于计量经济学及Stata应用 ,作者陈强

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、元分析的新命令

9、Stata与Python、Java、H2O 及 Jupyter Notebook的整合

10、Do文件编辑器的改进与Stata速度提升等

微信图片_20210423092926.png


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的官方命令,轻松地画平行趋势图啦~

微信图片_202104230929261.png


2、完美的表格输出


实证研究者经常需要将Stata的多个回归结果以表格形式输出到Word文件中。虽然早有官方命令estimates table可完成此类任务,但比较死板;故此前Stata用户一般使用非官方命令(比如estoutoutreg)来输出回归结果。为此,Stata 17大幅改善了原来的table命令,使用户可轻松地以表格形式汇报回归结果(regression results)或统计特征(summary statistics)。


进一步,你可以设计回归表格的风格(styles),并应用于所创建的表格,然后将此表格输出到Word或其他形式的文件(包括PDF、HTML、LaTex、Excel、Markdown 等)。另外,你还可以使用新增的前缀(prefix)collect,来收集Stata命令的各种估计结果。最后,Stata 17还新增了Table Builder(表格创建器),让用户可通过点击鼠标(point-and-click)来创建表格。

微信图片_202104230929262.png


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,可估计包含很多协变量的处理效应模型。


微信图片_202104230929263.png



  • 使用 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 可以很方便地将此选择过程可视化。

微信图片_202104230929264.png



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

微信图片_202104230929265.png


4、离散选择模型的新命令


离散选择模型(discrete choice model)是微观计量经济学的常用模型。在Stata 17中,增加了以下离散选择模型的新命令:


  • “面板多项逻辑模型”(panel multinomial logit model)。对于横截面数据的多项逻辑模型,Stata已有mlogit命令。Stata 17新增的xtmlogit命令则可使用面板数据估计多项逻辑模型。这无疑是Stata在离散选择模型方面的一大进步,因为此前Stata只能使用xtlogitxtprobit估计面板二值选择模型。


微信图片_202104230929266.png

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



5、久期数据的新命令


“久期数据”(duration data)常用于生物统计的 “生存分析”(survival analysis),在经济学中也有广泛用途,例如失业的持续时间,婚姻的延续时长,王朝的寿命等。久期数据常存在 “删失”(censoring)或 “归并” 问题,比如当研究结束时,有些病人可能尚未死亡;或者有些失业者还未找到工作。


Stata 17新推出的命令stintcox,可使用Cox模型来估计一种特殊的“区间删失”(interval-censored)数据。对于区间删失数据,我们只知道事件发生于某个区间,但无法确知其发生时点;比如,只知道癌症复发于两次体检之间的时段。如果忽略久期数据存在的区间删失问题,则会导致估计偏差。

微信图片_202104230929268.png


6、贝叶斯计量经济学的全面升级


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

微信图片_202104230929269.png


Stata 17将Stata中原有的贝叶斯统计学与计量经济学进行了全面升级。


  • 贝叶斯面板数据模型(Bayesian panel-data models)。Stata目前已有的面板命令包括xtreg(静态面板),xtlogitxtprobit(面板二值选择模型),以及xtologitxtoprobit(面板排序模型)等。在 Stata 17中,如果要使用贝叶斯方法估计这些面板模型,只要在原命令之前加上 “前缀”(prefix)bayes即可。


微信图片_2021042309292610.png



  • 贝叶斯向量自回归模型(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 模型。

微信图片_2021042309292611.png


然后,使用bayesfcast进行动态预测;

微信图片_2021042309292612.png


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

微信图片_2021042309292613.png


使用贝叶斯方法估计VAR模型有两大好处。首先,VAR模型通常包含较多参数,若样本较小,则估计结果不稳定。而贝叶斯方法由于较易“整合先验信息”(incorporating prior information),故在用小样本估计VAR模型时更为稳健。


其次,经典的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 中,可使用命令dsgedsgenl分别估计线性与非线性的 DSGE 模型。


    在Stata 17中,只要在命令dsgedsgenl之前加上前缀bayes,即可估计相应的线性或非线性的贝叶斯DSGE模型。可供用户选用的 “先验分布”(prior distribution)多达30以上,并可进行贝叶斯脉冲响应分析(Bayesian IRF analysis),区间假设检验(interval hypothesis testing),以及使用贝叶斯因子(Bayesian factors)来比较模型等。


微信图片_2021042309292614.png

7、非参数的趋势检验


有时样本数据中存在分组(比如,分为3组),且这些分组有天然的排序(比如,记为1,2,3组),即所谓 “排序分组”(ordered groups)。在这种排序分组的数据中,经常希望检验某个变量在此分组排序中(比如,第1-3组),是否存在某种趋势,比如此变量的取值倾向于越来越大,即所谓 “tests for trend across ordered group”。


为此,可使用Stata已有命令nptrend,进行非参数的Cuzick秩检验(Cuzick test using ranks)。而Stata 17的最新版nptrend命令,则在 Cuzick秩检验之外,新增了三个非参数检验,即“Cochran-Armitage test”,“Jonckheere-Terpstra test” 与“linear-by-linear trend test”,使得命令nptrend的功能大大增强。

微信图片_2021042309292615.png


8、元分析的新命令


“元分析”(meta-analysis)将多个类似的研究结果综合在一起。比如,针对某个疫苗的有效性(vaccine efficacy),在世界各地进行了多个实验,如何将每个实验所得的疫苗有效性指标,通过加权平均得到统一的度量。Stata 17将Stata的元分析功能作了进一步的提升。


  • 多维元分析(Multivariate meta-analysis)。在将多个研究结果综合在一起时,其中的每个研究可能同时汇报 “多个效应规模”(multiple effect sizes),而这些效应之间可能存在相关性。若使用Stata既有的 meta命令,则会忽略这种相关性。Stata 17的新增命令meta mvregress可进行多维元分析,并处理这种相关性。


微信图片_2021042309292616.png


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


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

微信图片_2021042309292618.png


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交互的所有方式。


微信图片_2021042309292619.png


  • 与 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用户可从一些最流行的数据库导入数据,包括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)且易于分享。


微信图片_2021042309292620.png



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)。


微信图片_2021042309292621.png



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



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



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



总之,Stata 17是一次令人激动的重大升级,不仅有贝叶斯计量经济学的高歌猛进,与主流计算机语言平台的深度整合,更便于编程的Do文件编辑器,而且更为贴近计量实战的需求(DID,表格输出,离散选择等)。显然,在可预见的将来,Stata 依然会是经管社科的首选计量与统计软件。





参考文献


陈强,《高级计量经济学及Stata应用》,第2版,高等教育出版社,2014年(久负盛名的配套五天现场班,将于5月1-5日在北京举行)


陈强,《计量经济学及Stata应用》,高等教育出版社,2015年(好评如潮的配套教学视频,可在Peixun.net 或网易云课堂购买)


陈强,《机器学习及R应用》,高等教育出版社,2020年11月,472页(配套五天现场班,将于7月在北京举行,详见回复楼)


陈强,《机器学习及Python应用》,高等教育出版社,2021年3月,632页(配套五天现场班,将于8月在北京举行,详见回复楼



(c) 2021, 陈强,山东大学经济学院

www.econometrics-stata.com

转载请注明作者与出处

微信图片_2021042309292625.png

Our mission is to make econometrics easy,
and facilitate convincing empirical works.






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:LASSO Stata tata 新命令 DID

已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
np84 + 100 精彩帖子
那年,那月… + 5 + 5 + 5 精彩帖子
xujingtang + 80 精彩帖子
Cowboy_Hk + 1 + 1 + 1 精彩帖子
strugglingboy + 5 + 3 + 3 + 3 精彩帖子
wwqqer + 100 精彩帖子

总评分: 经验 + 280  论坛币 + 5  学术水平 + 9  热心指数 + 9  信用等级 + 9   查看全部评分



沙发
资料狂人 在职认证  发表于 2021-4-23 09:56:03 |只看作者 |坛友微信交流群
Stata高级计量经济学五一现场班倒计时:https://bbs.pinggu.org/thread-10537514-1-1.html

使用道具

藤椅
资料狂人 在职认证  发表于 2021-4-23 09:56:58 |只看作者 |坛友微信交流群
机器学习与Python应用2022年7月暑期现场班:https://bbs.pinggu.org/thread-10386943-1-1.html

使用道具

板凳
Nearil 在职认证  发表于 2021-4-23 11:57:37 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

使用道具

报纸
cbs00002 发表于 2021-4-23 12:43:02 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

使用道具

地板
ktv54 发表于 2021-4-23 13:08:05 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

谢谢谢谢

使用道具

7
土八路 发表于 2021-4-23 13:47:01 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

好好好

使用道具

8
rossrachel 发表于 2021-4-23 14:35:29 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

学习学习!

使用道具

9
不啻天地 学生认证  发表于 2021-4-23 14:45:35 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

顶一下

使用道具

10
yang-l-x 发表于 2021-4-23 15:14:00 |只看作者 |坛友微信交流群

回帖奖励 +5 个论坛币

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 17:58