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) 式!