虚拟变量与固定效应
虚拟变量(dummy variable)在回归方程中既可以作为解释变量,又可以作为被解释变量,其使用和连续变量并没有太大的区别:
当虚拟变量作为解释变量时,和普通连续变量一样,应当注意遗漏变量问题、多重共线性问题等;
当虚拟变量作为被解释变量时,稍有不同的是,一般采用二值选择模型进行分析,比如Probit以及Logit。事实上,大样本情况下,把虚拟变量当成连续变量,直接采用LPM(线性概率估计)的做法在文献中也比较常见。
今天的推文重点讲一讲虚拟变量的多重共线性问题以及遗漏变量问题。尽管连续变量也会面临相同的境况,但相对而言,虚拟变量要注意的事项会多一些。
1.共线性
当回归方程中同时加入了多个虚拟变量时,便容易存在完全共线性问题,或者叫做“虚拟变量陷阱”,从而导致参数无法估计。具体来说,回归方程中要求每个分类变量所需的虚拟变量个数比分类变量的类别少1,否则就会出现完全共线性。比如,性别是分类变量,其类别有2个(男性和女性),那么回归时只能引入1个性别虚拟变量;地区是分类变量,其类别有3个(东部、中部和西部),那么回归时只能引入2个地区虚拟变量。
为什么当分类变量有m个类别且在模型中引入了m个虚拟变量会导致完全共线性呢?首先回顾一下线性代数中的向量共线:对于向量a(a≠0),如果存在唯一非零实数λ,使得b =λa,那么向量a与b共线。也就是说,共线意味着向量b可以直接由向量a来表示,此时亦有b +λa = 0。很显然,当向量之间存在共线性时,其中某个向量并不提供新的信息,因为它完全可以由其他向量的组合得到。对于这一点,还可以通过冗余方程组来进一步理解,给定如下的方程组,方程(2)便是冗余的,其对于求出未知参数并无帮助,因为它可以通过方程(1)的左右两边同时乘以2推出:
有了上面的认识后,再来看回归模型中的共线性就简单了,对于如下的线性模型:
模型的自变量矩阵为:
其中,第1列对应的是取值为1的自变量
其中,第1列仍然是是取值为1的自变量
进一步地,为什么完全共线性会导致参数无法估计呢?可以回顾一下最小二乘法的推导过程,对于以矩阵形式表达的线性模型:
此外,从Stata软件操作上看,引入多个虚拟变量时一般采用的是i.variable的形式,比如i.year以及i.province。如果细致留心的话便会发现,为了避免陷入虚拟变量陷阱,软件自动只放入了m-1个虚拟变量。
2. 遗漏变量
遗漏变量问题可以结合固定效应以及共线性问题来看。首先回顾一下面板数据固定效应的原理【面板数据固定效应 vs. 随机效应】便会发现,固定效应的本质是在处理遗漏变量偏误,通过组内去均值或者最小二乘虚拟变量(LSDV)等方法消除那些不可观测且与自变量有关的固定因素的影响。从操作上而言,在模型中引入一组相关的虚拟变量,便是控制了相关的固定效应,减轻了相关的遗漏变量偏误。比如,通过引入一组年份虚拟变量来控制年份固定效应,通过引入一组省份虚拟变量来控制省份固定效应。因此,虚拟变量引入少了,容易导致遗漏变量问题。
对应的是,过度使用虚拟变量(过度控制固定效应)也会出现问题。既然是在回归方程中同时过分地引入多个虚拟变量,便又回到了共线性问题。有点区别的是,上面讲的是单一分类变量引入虚拟变量时的共线性,接下来要说明的则是另一种情况,即不同分类变量之间的共线性。比如,在研究城市空气污染对经济增长的影响时,同时控制了城市固定效应和省份固定效应,如下所示:
其中,city为城市,共有4个城市,province为省份,共有2个省份。为了避免单一分类变量内部的完全共线性,在模型中只引入了3个城市虚拟变量以及1个省份虚拟变量。此时可以发现c1+c2=p1,此外,根据上文可知,由于自变量矩阵的第1列都为1,因而c1、c2、c3与p1之间的线性组合还有多种表达形式。也就是说,在模型中同时控制城市固定效应与省份固定效应导致了完全共线性。