zoukankan      html  css  js  c++  java
  • stata学习笔记(七):回归分析和稳健性检验

    1.分组回归

    sort state
    by state:reg xxx xxx

    但是这样不能直接用outreg导出,采用下面的方法

    forvalues t = 2001/2008{
       qui reg y x if year == `t'
       est store r_`t'
    }

     然后不小心看到了一位大神的三种方法....没试过先mark

    三种策略,建议你都试试:
    (1)直接用outreg2的一项功能,   // help outreg2##s_1

    bysort compliance: outreg2 using c3.doc, replace: reg ares time size ROA growth lev profquality

    (2) 直接用outreg2的另一项功能,    // help outreg2##s_2

    levelsof compliance, local(cl)    // help levelsof
    cap erase c3.doc
    foreach lv of local cl {
        reg ares time size ROA growth lev profquality if compliance == `lv'
        outreg2 using c3.doc
    }

    (3)手工循环(估计->保存估计结果)->统一输出

    levelsof compliance, local(cl)
    foreach lv of local cl {
        reg ares time size ROA growth lev profquality if compliance == `lv'
        est store cl_`lv'
    }
    outreg2 [cl_*] using c3.doc, replace

    2.交叉项

    genicv可以一键生成很多交叉项
    
    ##可以直接表示交叉项。
    
    【例子】
    
    ssc install genicv
    
    sysuse auto,clear
    
    genicv length weight foreign \会生成4个交叉项,所以可能情况,并且有label
    
    reg price length weight length_weight
    
    *如果不愿意生成,直接用
    
    reg price c.length##c.weight \和上面回归一样一样的

     3.工具变量

    • 逆米尔斯比率
    • imr=normalden(predict)/normal(predict)
    • 两阶段回归
    ivreg2 roasd size age state indratio hold_share_w income_increase_w (vc=ht vc_den young)

    3.群聚调整

    *面板数据做回归的时候,如果不加cluster选项,默认的标准差假定模型的标准差对于给定个体在时间上是独立的,而事实上往往在各期之间会有相关性。这种假定导致了标准差的低估。加上的话系数不会有改变,标准差的值会上升,模型更加robust.

    reg y x, cluster(code)

     4.内生性问题——heckman两阶段回归

    举个例子:
    第一阶段:是否打工比如 y=f(var1 var2 var3 var4),  其中y是是否打工的虚变量
    第二阶段:对打工者来说,打工的时间长短 m=g(var1 var2 var3)
    heckman m var1 var2 var3, select(y=var1 var2 var3 var4) twostep

    要说明两点:
    1、关键要找到var4这样一个或几个变量,只决定是否打工,而不影响打工时间
    2、heckman还有很多的option,无法一一说明,你自己根据需要去找

    5.回归结果导出

    outreg2 [model1 model2 model3] using "C:UsersASUSDesktopmyfile", tstat e(r2_a,F) bdec(3) tdec(2)

     5.回归残差保存

    reg y x1 x2
    predict e,r
    xb           xb, fitted values; the default
           stdp         calculate standard error of the fitted values
           ue           u_i + e_it, the combined residual
         * xbu          xb + u_i, prediction including effect
         * u            u_i, the fixed- or random-error component
         * e            e_it, the overall error component

    如果用e,得出的结果是每个公司每年的残差都不同,如果用u,则是同一个公司不同年度的残差是一样的

    因为u是个体效应,e是真正的残差项,区别就在于用FE还是RE时地位不同

  • 相关阅读:
    简单的Makefile
    共享库
    链接静态库
    /proc/uptime参数的意义
    磁盘挂载失败
    linux环境变量设置
    使用systemd-analyze 工具来分析各个服务进程的启动性能
    面试-2020C/C++后台开发深信服科技股份有限公司一面凉经(一问三不知,我是真的菜。。。)
    笔记-C/C++工程师面试笔记收集整理
    SpringCloud-分布式与集群的使用四(断路器Hystrix)
  • 原文地址:https://www.cnblogs.com/pursuit1996/p/5023934.html
Copyright © 2011-2022 走看看