全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
36127 14
2010-08-26
如果不用ivreg/xtivreg,而是手动来做第2步的回归,应该怎么样计算标准误?软件给出的是不对的,要怎么调整?因为有些情况不能直接用ivreg/xtivreg,比如:1.内生变量是0/1值,第一步最好用probit/logit,而不是LMP; 2,数据是panel,但找的iv是time-invariant的,所以第一步用不了fe,只能在第二部用fe.谢谢解答!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-27 08:45:32
Maddala, 1992, Introduction to Econometrics
section 9.6 give detailed discussion to this issue.



Stata高级视频教程第 5.1 小节也对这个问题进行了详细探讨。

         ****** 计量分析与Stata应用 ******

          *        主讲人:连玉君 博士
          *        单  位:中山大学岭南学院金融系
          *        电  邮: arlionn@163.com
          *        主  页: http://blog.cnfol.com/arlion
         
          *              ::高级部分::
          *          计量分析与Stata应用
          *       ==========================
          *         第五讲  工具变量法与GMM
          *       ==========================
          *               5.1  2SLS

*------------------------
* 两阶段最小二乘法(2SLS)
*------------------------

   * 对于模型:
   *
   *    y = x1*b1 + x2*b2 + e  假设 Corr(x2,e)!=0
   *
   *  若存在两个工具变量 z1 和 z2,我们我将得到两个 IV 估计量,
   *  问题:如何将这两个IV估计量合并起来?
   
   *-- 解决方法:两阶段最小二乘法——2SLS
   *   第一步:
   *     reg x2 on z1 z2, 得到 x2 的拟合值 x_2,x_2 可视为 x2 的工具变量
   *   第二步:
   *     reg y  on x1 x_2, 即执行 IV 估计。
   *
   *   特别说明:
   *     虽然基本思想是这样的,但我们不能如此操作,因为这种方法是错误的!
   
   *-- 理论推导:
   *   
   *    y = X*b + u                 (1)
   *
   *-1   X = Z*b1 + u               (2)
   *  
   *     X_hat = Z*b1_OLS           (3)
   *           = Z*[inv(Z'Z)*Z'X]
   *           = P_z*X  (其中,P_z = Z*inv(Z'Z)*Z')
   *
   *-2   y = X*b + u         
   *     b_2SLS = inv(X_hat'*X)*X_hat'*y     (4)
   *            = inv(X'*P_z*X)*X'*P_z*y
   *
   *    Var(b_2SLS) = sigma^2*inv(X'*P_z*X)  (5)
   *
   *    sigma^2 = e'*e/N   (e 表示残差向量)   (6)
   *
   *    e = y - X*b_2SLS                     (7)
   
   * 特别注意:
   *     虽然从名称上来看,2SLS 似乎应该执行“两步法”,但这种做法是错误的;
   *     正确的估计式是 (4) 和 (5)
   *  如果采用两步法,得到的残差序列是错误的:
   *     e = y - X_hat*b_2SLS
   *  而正确的估计式应该是 (7) 式!
附件列表
二维码

扫码加我 拉你入群

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

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

2011-4-23 08:45:13
arlionn 发表于 2010-8-27 08:45
   * 对于模型:
   *
   *    y = x1*b1 + x2*b2 + e  假设 Corr(x2,e)!=0
   *
   *  若存在两个工具变量 z1 和 z2,我们我将得到两个 IV 估计量,
   *  问题:如何将这两个IV估计量合并起来?
   
   *-- 解决方法:两阶段最小二乘法——2SLS
   *   第一步:
   *     reg x2 on z1 z2, 得到 x2 的拟合值 x_2,x_2 可视为 x2 的工具变量
   *   第二步:
   *     reg y  on x1 x_2, 即执行 IV 估计
是否?

*第一步:
reg x2 x1 z1 z2
predict x_2,xb

*第二步:
reg y x1 x_2
二维码

扫码加我 拉你入群

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

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

2011-4-23 09:39:55
3# sungmoo 应该是吧,只不过第二步计算残差的时候要小心
二维码

扫码加我 拉你入群

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

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

2011-4-23 10:37:26
arlionn 发表于 2010-8-27 08:45
e = y - X*b_2SLS              (7)
而正确的估计式应该是 (7) 式!
wbzdwss 发表于 2011-4-23 09:39 只不过第二步计算残差的时候要小心
这样手工算出的标准差,是ivregress 2sls, small的结果。
二维码

扫码加我 拉你入群

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

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

2011-4-23 11:18:37
wbzdwss 发表于 2010-8-26 16:18 如果不用ivreg/xtivreg,而是手动来做第2步的回归,应该怎么样计算标准误?软件给出的是不对的,要怎么调整?
*run以下全部,可以得到相同的结果:

ivregress 2sls y x1-x5 (a1-a3=z1-z4),small
mat w=(e(b)',vecdiag(e(V))')
n mat l w

foreach i of var a1-a3{
reg `i' x1-x5 z1-z4
predict `i'p
}
reg y a1p-a3p x1-x5
predict u,r
g u2=u*u
su u2
sca u2=r(mean)
predictnl e=y-_b[_cons]-x1*_b[x1]-x2*_b[x2]-x3*_b[x3]-x4*_b[x4]-x5*_b[x5]-a1*_b[a1p]-a2*_b[a2p]-a3*_b[a3p]
g e2=e*e
su e2
sca e2=r(mean)
mat v=(e(b)',vecdiag(e2*e(V)/u2)')
n mat l v
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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