532 字

R-squared<0 in 2SLS-IV estimation? - 慧航 - 专栏

经济 - 计量; 慧航; 知乎专栏; 计量; ; 2SLS;

原文地址https://zhuanlan.zhihu.com/p/19756603

今天一个漂亮的小妹妹来问我问题,Stata 里面做工具变量估计,结果不汇报 R2 的值。我一听也十分诧异,从来没遇到这种情况。当然本着学术的纯洁目的仔细研究了一下这个问题(真的不是为了学妹!),发现 Stata 官网上有对这个问题的描述:Stata | FAQ: Negative and missing R-squared for 2SLS/IV

说的抽象一点,因为我们之前做 OLS 的时候,是一个正交投影,所以不会出现这个问题。但是当我们做 2SLS 的时候,是一个非正交的投影。既然是非正交的投影,投影的时候就会有角度。当这个角度比较小的时候,就会出现预测的y_hat跟实际的y夹角大于90度,就会出现这种情况。

具体从计算的角度来看,我们做 2SLS 实际上做了两步。假设内生变量是x1,x2,外生变量是z1,z2,z3,z4。我们要估计

y on x1 x2 z3 z4

但是我们实际上先回归了

reg x1 on z1 z2 z3 z4 => x1_hat
reg x2 on z1 z2 z3 z4 => x2_hat

然后回归:

reg y on x1_hat x2_hat z3 z4 => y_hat

如果计算残差的时候是用这个y_hat的,那么不会出现R2<0的问题。但是我们计算残差的时候实际上是用

y-b1*x1-b2*x2-b3*z3-b4*z4

而非

y-b1_hat*x1-b2_hat*x2-b3*z3-b4*z4

所以计算的u的 variance 肯定更大,就会出现R2<0的问题。

那么这个问题怎么解决呢?实际上这根本不是个问题。因为本来 IV 就要求不是个最优的 predictor,所以忽略这个问题吧!