Stata程序:我的程序多久能跑完?

发布时间:2020-10-08 阅读 40

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程主页 https://gitee.com/arlionn/Course

作者:连玉君 (中山大学)
E-Mail: arlionn@163.com


目录


1. 导言

多数情况下,我们在 Stata 命令窗口中输入命令,敲回车,结果基本上瞬间生成。然而,在有些情况下,一个程序经常需要花费几十分钟 (比如,做面板门槛模型,或需要 Bootstrap),甚至几十个小时才能完成。此时,若能预先估算完成所有程序所花费的时间,对于我们合理安排日程会非常有帮助。

今天我们介绍两种方法:一个是 Stata 官方命令 timer,另一个是外部命令 benchmark,二者各有优劣。

2. 程序计时器 timer

类似于我们在操场上跑步时所使用的秒表,每次摁下秒表,开始计时;再次摁下时则会呈现跑一圈所花费的时间。

下面我们通过一个简单的例子来说明该命令的使用方法:

timer clear 1
timer on 1
  sysuse "auto.dta", clear
  reg price wei len, vce(bootstrap, reps(1000))
timer off 1
timer list 1

结果如下:

. timer clear 1
. timer on 1
.   sysuse "auto.dta", clear
(1978 Automobile Data)
.   reg price wei len, vce(bootstrap, reps(1000))
(running regress on estimation sample)

Bootstrap replications (1000)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5 
..................................................    50
..................................................   100
            .......................
..................................................   950
..................................................  1000

Linear regression                          Number of obs     =         74
                                           Replications      =      1,000
                                           Wald chi2(2)      =      34.30
                                           Prob > chi2       =     0.0000
                                           R-squared         =     0.3476
                                           Adj R-squared     =     0.3292
                                           Root MSE          =  2415.7351
-------------------------------------------------------------------------
        |   Observed   Bootstrap                         Normal-based
  price |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
--------+----------------------------------------------------------------
 weight |      4.699      1.728     2.72   0.007        1.313       8.085
 length |    -97.960     56.432    -1.74   0.083     -208.564      12.644
  _cons |  10386.541   5670.915     1.83   0.067     -728.249   21501.330
-------------------------------------------------------------------------

. timer off 1
. timer list 1
   1:      3.92 /        1 =       3.9180
  • 关键点是说明:
    • timer clear 1:用于复位第一个秒表的时间至 0;
    • timer on 1:用于启动第一个秒表,
    • timer close 1:用于关闭第一个秒表,
    • timer list 1:用于列示第一个秒的耗时
  • 在本例中,我们进行了一百次 Bootstrap 抽样,用于估算稳健型标准误,整个过程耗时 13.9 秒。
  • 因此,如果把抽样的次数增加为5000次耗时大约是 4×5=20秒 (实测结果是 18.77 秒)。你也可以据此推断当变量增加、样本数增加等情形下,大致的耗时。

3. 外部命令 benchmark

3.1 Stata 范例

. benchmark, reps(10) disp:    ///
      qui reg price wei len, vce(bootstrap, reps(1000))
1: 3.373 seconds
2: 3.225 seconds
3: 3.247 seconds
4: 3.172 seconds
5: 3.207 seconds
6: 3.398 seconds
7: 3.265 seconds
8: 3.292 seconds
9: 3.208 seconds
10: 3.375 seconds
Average over 10 runs: 3.277 seconds

该命令的语法相对比较简洁,而且可以一次性帮我们进行十轮测试,并进而帮我们计算出平均耗时为 3.277 秒。据此我们推断,进行5000次抽样的时间,就会更加准确一些,约为 3.277*5 = 16.385 秒。

实测结果如下,与我们推算的结果非常接近:

. benchmark, reps(10) disp:    \\\
     qui reg price wei len, vce(bootstrap, reps(5000))
1: 16.12 seconds
2: 16.12 seconds
3: 16.18 seconds
4: 15.82 seconds
5: 16.07 seconds
6: 15.99 seconds
7: 16.08 seconds
8: 16.19 seconds
9: 16.07 seconds
10: 15.51 seconds
Average over 10 runs: 16.02 seconds

3.2 benchmark 的下载及安装

在命令窗口中输入如下命令,即可下载:

net install benchmark,   ///
from(https://raw.githubusercontent.com/mcaceresb/stata-benchmark/master/)

下载完成后输入如下命令,可查看详细的帮助文件:

help benchmark

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD