在回归分析里面,如果碰到了地区归属、某项政策有没有实施、企业的类型、所处的季节,或者突然发生的外部事件冲击,通常都需要把这些分类的信息给转成虚拟变量。在EViews里虚拟变量到底要怎么去设置,还有虚拟变量和交互项又该怎样一块儿放进模型,操作起来其实倒不算太复杂,但在做的过程中,得特别留心基准组的选定、用来分析的样本范围,还有建完模型之后要怎么去解读结果。虚拟变量一般只会取0和1两个值,而交互项呢,主要就是拿来观察某个解释变量,在不同的组别当中,它对被解释变量的影响是不是存在着明显的差异。
一、EViews虚拟变量怎么设置
生成一个虚拟变量,既可以按照某个日期区间去创建,也可以依据某个分类字段来生成。但在动手创建变量以前,先要确认好工作文件当中的样本范围,可别只在其中一小部分样本里填上了0或1,而剩下来的那些观测值却还空在那里。
1、按条件生成虚拟变量
从【Quick】菜单里找到【Generate Series】,在跳出来的输入框里,把变量的表达式给填进去。比如说,有一个地区字段叫region,当它取值为1时就代表东部,打算记为1,其他情况都记为0,那就可以输入:
EViews不但能通过【Quick】→【Generate Series】这个菜单去建新的序列,也可以直接在命令区里用series命令来写,逻辑条件成立的时候,结果就会是1,不成立的时候结果就是0。
2、按时间区间生成政策变量
当要做政策实施前后的对比时,就可以先把全部的样本都设成0,然后再把政策开始执行的那个日期之后的样本单独设成1。比如说用的季度数据,新政策是从2022年第一季度开始跑的,那么就可以先写:
这里一步也不能漏的是,全部设定完之后,一定要把样本恢复成全部范围。EViews官方的示例,也是在生成跟日期有关的虚拟变量时,先切换样本,再去分别写入0和1。
3、多分类变量要保留一个基准组
当地区这一类变量被分为东部、中部和西部时,可不能把这三个虚拟变量连同常数项,一块儿全塞进模型里去,通常的做法是只保留其中两个,把剩下的那一组当成基准。如果分类的数量特别多,那就可以用到:
这一句里面 droplast的作用,就是主动把最后一组给丢掉,好避开常见的“虚拟变量陷阱”。
二、EViews虚拟变量和交互项怎么一起加入模型
虚拟变量本身,反映的是不同组别之间被解释变量在截距上的差别,而交互项反映的,则是同一个解释变量在不同组别当中,它的边际影响到底发生了多大的变化。这两样东西,是需要放到一起进入模型的,不能只光秃秃地放进去一个乘积项了事。
1、先把交互项建出来
假设income代表收入,policy代表某个政策的虚拟变量,这时候就可以进入【Quick】→【Generate Series】,输入:
EViews是允许在运行回归的命令里,直接去写数学表达式的,但事前先把新的序列给生成好,回头再查看数据,还有后面继续拿来用的时候,都会方便一些。
2、在方程里同时加入那三个变量
然后,再去点【Quick】→【Estimate Equation】,在输入框里敲下:
这里的c指代的就是常数项。在这个式子里面,income的系数代表了在基准组里收入对被解释变量的影响,policy的系数代表了两个组在截距水平上的差异,而income_policy的系数,说明的就是在政策实施以后,收入这个变量的影响程度究竟发生了多大改变。
3、多个分类组要分别去建立交互项
要是地区那个变量有好几个分组,那就可以分别去建立像收入乘东部、收入乘中部这样的交互项,而被省去的那一组,仍旧留在基准组的位置上。当交互项的数量显得过多时,就应当结合自己的研究问题去筛选一下,不用机械地把所有分类变量,统统都去乘开一遍。
三、EViews虚拟变量模型怎么检查
等到变量都被加入模型之后,还不能算完,还得再去检查一下回归跑出来的结果,是不是能够被正常地解释。很多这时候碰到的毛病,其实都来源于变量没放全、样本范围没有被恢复回来,还有分类编码前后不一致。
1、查一查样本的范围
生成完变量以后,可以在命令区打上:
接着再去把虚拟变量的序列打开看一眼,确认全部的观测值,都已经分到了0或者1。EViews官方的资料里面也提醒过,改过了样本却忘记把它恢复回来,是在做数据处理时,最容易犯的一种错误。
2、看看有没有出现完全共线
如果模型提示说矩阵接近奇异,或者某个变量被自动给删掉了,这时候就要先看一看,是不是把所有的分类组都和常数项一起扔进去了,解决的办法就是只保留一个基准组,然后再重新去估计。
3、核对一下交互项的解释方向
交互项在统计上显著,可并不等于那项政策就一定起到了正向效果,还要再结合着主效应的系数、符号的方向、样本的数量和模型整体怎么去设定,这些信息一块儿来判断。在需要把结果拿出来展示的时候,不妨分别去算一算基准组和政策组的边际影响分别是多少,避免只盯着某一个系数就草率地下结论。
总结
在EViews里到底该怎么去设置虚拟变量呢,最常用的途径就是通过【Quick】→【Generate Series】,按照条件,或者沿着日期来构建只包含0和1的序列,碰到多分类变量的时候,记得要保留下来一个基准组。而虚拟变量和交互项要怎样一起被加入模型,就是要记得把解释变量、虚拟变量,还有它们的乘积项,这三样同步放进去。等到模型建好以后,再去确认一下样本范围是不是全的、变量间有没有严重共线、系数的解读方向是不是合理,这样最后得到的结果才会既清晰又靠得住。
