工具变量,顾名思义,就是在模型估计过程中为不同统计目的而使用的变量,可以粗略地的认为是工具变量,主要用于代替模型中与误差项相关的解释变量(但不尽然)。
一般来说从不同学科来看工具变量应用可能会不同,但本质都是相同的:找工具,获得相对好的统计量。
(1)计量模型中,经常寻找一个与所替代的解释变量高度相关,且与误差项、其他解释变量不相关。
那么高度相关起码能说明有共同变异的部分(也可以结合R方综合考虑),这是寻找工具变量的第一步,当然这一步在统计上比较好容易做到,但寻找变量的过程确有点困难,因为还有保证与误差项不相关等。
一般来说,如果是时序数据的话,像宏观数据基本都是一阶自相关的,那么取这个一阶自相关的变量就比较容易满足上述条件,有时也会取不同阶数的变量做工具,主要是视数据的周期性,稳定性而定,当然更复杂的情况是,同一模型中引入多个工具变量,这些变量有时会将它视为独立的工具,有时也会视为一个混合的总体。不过总体来说,都是为了一致的模型估计,如果以该目的视之,这确实是个天然变量。
注: 是误差项 与解释变量Xt_1间的相关,Xt_2是Xt_1前期数据或变量。
(2)线性方程组中,有些变量同时充当内生变量和外生变量,那么OLS估计至少是有偏、不一致的。这时使用的工具变量,目的相同,为产生一致、(渐进)有效的估计。
比较常用的方法,像2SLS、3SLS、SUR、K聚类等常用的估计方法。
2SLS其思想是使用所有外生变量作为工具,产生(一些解释变量)预测值,在使用这些预测值,作为解释变量构建模型,综合误差项不变(一般情况,尤其是在交互效应模型中)。
3SLS模型可以认为是OLS和2SLS估计的扩展,第一步是得到内生解释变量的预测值,第二步2SLS估计交叉方程相关矩阵,第三步实现3SLS估计。
SAS主体程序(2SLS):proc syslin data=temp1 2sls; endogenous y1; instruments x1 x2 x3 x4; model y2 = y1 x1 x2 x3; model y2 = y1 x4;run; | SAS主体程序(3SLS):proc syslin data=temp2 3sls; endogenous y1; instruments x1 x2 x3 x4; model y2 = y1 x1 x2 x3; model y2 = y1 x4;run; |
(3)非递归模型中,涉及互为“因果”的复杂路径关系,为了借以解释这种有反馈局部关系,往往需要工具变量的介入(Maruyama,1997)。
Y1对Y2的关系,可以借助工具变量X1、X2来说明,因为变量X1、X2对Y2没有路径关系,对Y1确有直接的关系。同理,X3、X4可做Y1的工具变量。此外,X4对X3的路径关系可以视为一个整体(或结合2SLS处理这个过程),进而可以将其视为Y1的工具变量。
此外,稳定性系数(Bentler and Freeman,1983)也可以帮助确定这个局部反馈过程,具体的界值在[-1 1]间。
| Amos主体程序:Sem.BeginGroup("" ) Sem.GroupName("Group number 1") Sem.AStructure("x4 = (1) e3") Sem.AStructure("Y1 = x1 + x2 + (1) e1 + Y2") Sem.AStructure("Y2 = x3 + x4 + (1) e2 + Y1") Sem.AStructure("x1 <--> x2") Sem.AStructure("x1 <--> x3") Sem.AStructure("x2 <--> x3")Sem.Model("Default model", "") |