美文网首页
Stata: 两阶段回归的结果输出

Stata: 两阶段回归的结果输出

作者: stata连享会 | 来源:发表于2020-01-20 12:05 被阅读0次

    作者:唐继凤(中山大学)
    邮箱:18177471572@163.com

    Stata连享会   计量专题 || 精品课程 || 简书推文 || 公众号合集

    点击查看完整推文列表

    2020连享会-文本分析与爬虫-现场班

    西安, 3月26-29日,司继春-游万海 主讲;  (附助教招聘)


    image

    [[toc]]

    1. 引言

    OLS能够成立的最重要条件是解释变量与扰动项不相关。否则,OLS估计量将是不一致的,即无论样本量多大,OLS估计量也不会收敛到真实的总体参数。因此,在一篇实证论文中,工具变量法是解决内生性问题的重要方法之一。那么我们将如何展示如此重要的回归结果呢?展示回归结果的命令有哪些,它们各自的优缺点又是什么呢?本文将以实例介绍 ivregress 两阶段回归中 esttab, outreg2, asdoc 三种输出命令的优劣之处。

    2. 输出命令介绍

    2.1 esttab 命令简介

    新的 esttab 命令是 estout 的包装器。它的语法比 estout 简单得多,而且默认情况下,它会在 Stata 结果窗口中良好地显示回归结果表格。esttab 不仅仅是 estout 的简化版本。 esttab 提供了完整的 estout 功能,同时也扩展了功能。例如,esttab 增加了对 Word 多文本格式 (RTF) 和 Excel 逗号分隔值 (CSV) 文件的支持,并改进了 LATEX 和 HTML 的功能。

    2.1.1 esttab 基本用法

    esttab 命令的基本用法如下:

    esttab [namelist] [using filename]  [, options estout_ options] 
    

    其中,

    • esttab 为命令主体,不可省略;
    • namelist 是存储的估计集的名称列表。namelist 可能是 *,用于将所有存储的估计集制成表格。如果省略了namelist,则 esttab 将列出当前运行结果,如果有,则列出 eststo 存储的估计集。
    • 指定 using 会将回归结果写到磁盘上的文件中,而不是显示在Stata的结果窗口中。

    各类应用范例,请参考 Introductory examples for esttab

    2.1.3 esttab 两阶段回归结果输出

    本文实例:
    使用系统自带的 auto.dta 数据,运行以下命令:

    sysuse "auto", clear
    
    ivregress 2sls mpg weight (length=displacement)
    est store second
    
    reg length displacement weight  // 自己做一个第一阶段的回归
    est store first                 // Note: 务必要加上所有外生变量
    
    *-输出结果
    * Note: Word  文档,用 .rtf 作为后缀
    *       Excel 文档,用 .csv 作为后缀
    local s "using Table1.rtf"  //选中此行可以输出到Word/Excel文档
    local m "first second"
    esttab `m' `s', mtitle(`m') nogap compress replace   ///
             b(%6.3f) s(N r2_a) drop(`drop')   ///
             star(* 0.1 ** 0.05 *** 0.01)      ///
             addnotes("*** 1% ** 5% * 10%") 
    

    保存到 Table1.doc 文档中的两阶段回归结果如下图:

    esttab 两阶段回归结果输出

    根据 esttab 的基本用法,若要输出两阶段的结果,需要对每一段运行的结果进行储存,在输出结果时再调用储存结果。如果只输出第二阶段的结果,可直接进行一下命令:

    sysuse auto
    ivregress 2sls mpg weight (length=displacement),first
    esttab using 1.doc
    

    2.2 outreg2 简介

    outreg2 提供了一种快速而简单的方法来生成一个说明性的回归输出表。回归结果是零碎产生的,如果不进行某种类型的重新排列,就很难进行比较。outreg2 自动地将连续的回归输出以垂直格式连接起来。结果表以ASCII格式保存到磁盘,其他程序可以读取。outreg2 可以报告任何回归输出,前提是它符合 ereturn 列表的常规约定。

    2.2.1 outreg2 基本用法

     outreg2 [varlist] [estlist] using filename [, options] [: command]
    
    • 其中,outreg2 为命令主体,不可省略;
    • 其中,varilist 是数值型变量列表,可以选择要输出的变量名称;
    • estlist 为保存的回归结果集。

    2.2.2 outreg2 两阶段回归结果输出

    sysuse auto
    ivregress2 2sls mpg weight (length=displacement),first
    est restore first
    outreg2 using xxx.doc,cttop(first)  tstat bdec(3) tdec(2) replace
    
    ivregress2 2sls mpg weight (length=displacement), first
    outreg2 using xxx.doc,cttop(two) tstat bdec(3) tdec(2)
    
    outreg2 两阶段回归
    • 两阶段回归输出时,若只展示第二阶段回归,则直接利用第二阶段回归输出代码即可。如需展示第一阶段回归结果,则可以利用实例中所示方法,利用命令先将第一阶段回归结果保存输出,再输出第二阶段回归结果。实例中去掉了第二阶段输出时的 replace 这样就可以将两阶段结果输出在一张表上。
    • 按照 outreg2 命令输出的表格内相关系数下括号内数字为标准误,因此我们一般利用命令 tstat 将其更改为 t 值。
    • outreg2 命令输出时默认相关系数和 t 值都保留 3 位有效数字,而一般期刊要求相关系数保留 3 位有效数字,t 值保留 2 位有效数字,因此我们利用 bdec(3) 和 tdec(2) 命令限定。(注:此部分感谢团队小伙伴热心提供)

    连享会计量方法专题……

    2.3 asdoc 简介

    asdoc 是结果输出的又一利器,它的最大优点是:各种命令前加 asdoc就能轻轻松松输出结果。用法详细介绍参考 asdoc:Stata 结果输出又一利器!

    2.3.2 asdoc 两阶段回归结果输出

    asdoc 可以创建三种类型的回归表。第一种类型是详细表,它将 Stata 的回归输出中的关键统计数据与一些附加的统计数据(如因变量的均值和标准差等)组合在一起,第一种表是 asdoc 输出的默认选项。第二种表是嵌套表,它在一个表中嵌套多个回归。第三种表是宽表,它以宽的或行格式报告回归内容,宽表提供的选项超过10个,使用者可以根据需要添加选项。本文选用第一种表格形式,asdoc 直接加在两阶段回归前,回归结果自动保存至 Myfile.doc

    sysuse auto
    asdoc ivregress2 2sls mpg weight (length=displacement),first. sysuse auto
    (1978 Automobile Data)
    
    
    . asdoc ivregress2 2sls mpg weight (length=displacement),first
    
    First-stage regressions
    -----------------------
    
                                                    Number of obs     =         74
                                                    F(   2,     71)   =     304.50
                                                    Prob > F          =     0.0000
                                                    R-squared         =     0.8956
                                                    Adj R-squared     =     0.8926
                                                    Root MSE          =     7.2955
    
    ------------------------------------------------------------------------------
          length |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
          weight |   .0285754   .0024618    11.61   0.000     .0236666    .0334842
    displacement |  -.0139257   .0208339    -0.67   0.506    -.0554673    .0276159
           _cons |   104.3976   4.264293    24.48   0.000     95.89487    112.9004
    ------------------------------------------------------------------------------
    
    
    Instrumental variables (2SLS) regression               Number of obs =      74
                                                           Wald chi2(2)  =  101.01
                                                           Prob > chi2   =  0.0000
                                                           R-squared     =  0.5217
                                                           Root MSE      =  3.9742
    
    ------------------------------------------------------------------------------
             mpg |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
          length |   -.379211   .8149763    -0.47   0.642    -1.976535    1.218113
          weight |    .004269   .0220963     0.19   0.847    -.0390389    .0475769
           _cons |   79.67325   86.48626     0.92   0.357     -89.8367    249.1832
    ------------------------------------------------------------------------------
    Instrumented:  length
    Instruments:   weight displacement
    Click to Open File:  Myfile.doc
    

    保存到 Myfile.doc中的两阶段回归结果与 Stata 窗口显示的回归结果一致,读者可根据需要添加 asdoc 选项来调整输出结果格式,具体选项可查看 Satahelp功能。

    连享会计量方法专题……https://gitee.com/arlionn/Course

    3. 总结

    • 从回归结果输出的角度,asdoc 的效果最差,不能对变量进行排序,表格布局与一般的文献不同,且不能用命令调整。
    • 在两阶段回归输出结果应用中,outreg2 还将报告常见的统计信息,如显著性级别的标准错误(1%、5%和10%)、t 统计信息、p 值、观察次数、r 平方数和面板估计中的组数。因此 outreg2 使用率比较高,有助于将回归输出转换为适合包含在学术出版物中的标准格式。
    • 在两阶段回归中,ivregress2 直接进行两阶段的回归,而 esttab 只能输出保存的模型或输出当前运行的结果,要只输出第一阶段的结果时不如 outreg2 方面。

    4. 参考资料

    • Introductory examples for esttab
    • asdoc:Stata 结果输出又一利器!
    • Ben Jann, ETH Zurich. Making regression tables simplified. The Stata Journal (2007) 7, Number 2, pp. 227–244
    • Christopher F. Baum, Mark E. Schaffer. Enhanced routines for instrumental variables/generalized method of moments estimation and testing. The Stata Journal (2007) 7, Number 4, pp. 465–506
    • Ben Jann, J. Scott Long. Tabulating SPost results using estout and esttab. The Stata Journal (2010)10, Number 1, pp. 46–60
    • 陈强. 高级计量经济学及stata应用 [M]. 高等教育出版社, 2014.

    关于我们


    欢迎加入Stata连享会(公众号: StataChina)

    相关文章

      网友评论

          本文标题:Stata: 两阶段回归的结果输出

          本文链接:https://www.haomeiwen.com/subject/ojjqoctx.html