概念解释
何谓调节效应,也就是因变量X与自变量Y的关系会受到另一个变量Z的影响。那么,我们就把Z称之为调节变量。
比如,汽车的速度快会加大汽车的剎车距离,而路面的湿滑程度也会对汽车的剎车距离造成影响。在相同的速度下,路面的湿滑程度越高,汽车的剎车距离就越大。因此,我们可以认为路面的潮湿程度对汽车的速度与刹车距离有调节效应。

在stata中,我们检验回归方程中的变量是否具有调节效应主要是通过自变量与调节变量相乘的回归系数是否显著来进行判断。
stata软件实操
首先,导入数据集tjxy.dta
导入数据的stata命令为:
use "D:\你自己存放的数据集tjxy.dta文件的路径 \tjxy.dta"
在这个数据集中,因变量为Y,自变量为X和Z。
我们对其进行回归分析
stata回归分析的命令为:reg Y X Z
结果如图:

我们将这个回归结果存储为f1
相应的stata命令为:est store f1
那么,是否变量Z对因变量Y与自变量X之间的关系具有调节效应呢?我们通过stata来进行检验。
首先,生成一个新变量XZ,该变量为自变量X和Z的乘积。
Stata的命令为:gen XZ=X*Z
然后,对三个变量进行回归。
相应的Stata的回归命令为:reg Y X Z XZ
得到回归结果如图:

我们将这个回归结果存储为f1_jh,相应的stata命令为:est store f1_jh
然后,我们把这两个回归结果分放在一起进行比较,相应的stata命令为:outreg2 [f1 f1_jh] using两个结果.doc,stats(coef,tstat) addstat(Ajusted R2,`e(r2_a)',F test,e(p)) replace
将回归结果导入到word整理得到下图:

根据回归结果显示,交互项XZ的系数在0.01的基础上显著,说明Z变量作为调节变量对因变量Y与自变量X之间的关系具有调节效应。然而,对两个回归结果进行对比,我们发现原本显著的Z变量再加入交互项以后,反而不显著了。如果这个Z变量是我们回归方程的解释变量,那我们又该如何解释呢?
通过研究相关文献和stata的手册,我们发现这是由于交互项(X*Z)与自变量和调节变量之间产生的高度共线性使得我们的模型估计产生了偏差。针对这种问题,我们可以通过中心化来进行修正。
何谓中心化,就是用变量减去样本均值,stata中的中心化命令为:center X Z。
可通过 ssc install center 安装该命令
得到了两个新变量c_X和c_Z。
通过中心化可以降低交互项与自变量和调节变量之间的相关,而且不会影响模型的估计。在对变量进行中心化以后,我们又生成了一个中心化后的交互项,相应的stata命令为:
gen XZ_c=c_X*c_Z
对其进行回归
reg Y X Z XZ_c
得到的回归结果为:

我们将其存储为f1_c
相应的stata命令为est store f1_c
然后我们将三个回归结果进行对比,相应的stata命令为:
outreg2 [f1 f1_jh f1_c] using 三个结果.doc,stats(coef,tstat) addstat(Ajusted R2,`e(r2_a)',F test,e(p)) replace

通过对比,我们可以发现:通过中心化确实可以降低交互项与自变量和调节变量之间的相关,Z变量在中心化后变得显著,而且这种方法也不会对我们模型估计产生影响,交互项的系数在中心化前后并没有发生改变。
以上就是调节效应在stata中的应用
注:关注SPSS学堂,回复20200603即可获取数据