全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1689 2
2013-03-28
练习中有两个变量x,y.
x为内生变量,y为外生变量。  有如下两个问题:
第一,在模型中加入x,y; x的内生性会不会导致y的估计有偏?即x是否具有传染性?
第二,在模型中加入x,y,x*y, 不进行内生性处理,x*y的估计是有偏的吗?

谢谢。
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-29 16:07:49
1. x 内生不会影响其他与 x 不相关的外生解释变量的无偏性;否则,会影响。
2. 因为 x 内生,即 corr(x,u)=0,所以与之相关的交乘项也都是内生的。

对于第一个问题,教科书上可以找到理论推导。这里列一个模拟分析的例子,根据这个例子,x1 为内生解释变量,x2 为外生解释变量,二者不相关,后者的无偏性不受影响。至于二者相关的情形,你可以稍微修改一下如下程序。这个问题搞清楚后,你提出的第二个问题迎刃而解。

* x1 内生是否影响其他外生变量的估计系数
*
https://bbs.pinggu.org/thread-2303473-1-1.html

  *----------------
  *-内生变量的影响
  *----------------
  
    *-Ref: CT09, pp.143  Section 4.6.5
        
        *--------------DGP----------------
        *
        *   y = b1+ b2*x + u;  u~N(0,1)
        *   
        *   x = z + 0.5*u;     z~N(0,1)
        *
        *   b1=10;  b2=2;  N=150
        *
        *---------------------------------
        
        *-Q1: OLS 估计的性质如何?
        *
        *-Q2: IV 估计的性质如何?
        
        
        *-------------------endogreg_OLS.ado----------------------
         cap program drop endogreg_OLS
         program define endogreg_OLS, rclass
            version 11.0
                syntax [, obs(int 150)]
                drop _all
                set obs `obs'
                gen u = rnormal()
                gen z = rnormal()     //工具变量
                gen x1 = z + 0.5*u    //内生
                gen x2 = rnormal()    //外生,与 x1 不相关

                *gen x2 = 0.3*z + rnormal()   //外生,与 x1 相关, 去掉前面的星号,在上一行前面加星号,可以模拟这种情形   
                gen y = 10 + 2*x1 + 2*x2 + u
                regress y x1 x2
                return scalar b_x1  = _b[x1]
                return scalar b_x2  = _b[x2]
                return scalar se1 = _se[x1]
                return scalar se2 = _se[x2]
                return scalar t1  = (_b[x1]-2)/_se[x1]
                return scalar t2  = (_b[x2]-2)/_se[x2]
                local alpha = invttail($N-2, 0.025)      
                                        // t 分布 5% 显著水平临界值
                return scalar rej2= (abs(return(t2))>`alpha')  // o or 1
                return scalar p2  = 2*ttail($N-2, abs(return(t2)))
         end
        *---------------------------------------------------------
        *-Note: 执行后续命令前,请先选中上述程序,按快捷键 Ctrl+R
               
               
        *---------------------
        *-A1: OLS 估计量的性质
        
          *-Simulation
            simulate b1r=r(b_x1) b2r=r(b_x2) se2r=r(se2) t2r=r(t2) reject2r=r(rej2), ///
                 reps(1000): endogreg_OLS, obs(500)
        
          *-统计量的性质
            tabstat b1r b2r se2r t2r reject2r,  ///
              s(mean sd p10 p25 p50 p75 p90 min max) f(%6.3f) c(s)

          *-OLS estimator of x1 is biased  true(b1)=2
            kdensity b1r, xscale(range(1.9 2.6))  ///
                          xlabel(1.9(0.1)2.6) xline(2)                  
                  
          *-OLS estimator of x2 is unbiased  true(b2)=2
            kdensity b2r, xscale(range(1.9 2.6))  ///
                          xlabel(1.9(0.1)2.6) xline(2)
            *-Question: 修改为 endogreg_OLS, obs(5000), 看结果有何变化?

二维码

扫码加我 拉你入群

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

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

2013-3-30 01:21:12
谢谢。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群