Stata:交乘项的对称效应与图示

发布时间:2020-11-26 阅读 6200

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程详情 https://gitee.com/arlionn/Course   |   lianxh.cn

课程主页 https://gitee.com/arlionn/Course

作者:唐勇军 (河海大学)
邮箱:yjtang@126.com

编者按: 本文摘自以下论文,特此致谢。

Source: Berry W D, Golder M, Milton D. Improving tests of theories positing interaction[J]. The Journal of Politics, 2012, 74(3): 653-671. -online appendix--replication files--webpage--pdf-


目录


1. 线性交互模型

假设 X 与 Z 在影响连续变量 Y 时存在交互效应,那么我们可通过下式进行刻画:

其中,XZ 用于反映交互作用,X 对 Y 的边际效应为:

由 (2) 式可知,除非交乘项的系数 βXZ 为零,否则 X 的边际效应依赖于 Z 的取值,或者 X 对 Y 的边际影响是以 Z 的取值为条件的。为了强调这种关系,我们将 X 的边际效应表示为 ME(X|Z),也可以用 ME(X|Z=z) 表示当 Z 等于特定值 z 时,X 对 Y 的边际效应。

2. 边际效应图示

图 1 直观地呈现了式 (2) 刻画的关系。其中,纵轴为 ME(X|Z),横轴为 Z,并且假设 βX > 0 和 βXZ >0。由上可知:

  • 当 Z=0 时,X 对 Y 的边际效应为 βX

  • 随着 Z 的增加,X 对 Y 的边际效应也逐渐增大。从数值上看,Z 每增加一个单位,X 对 Y 的边际效应增加 βXZ

图 1:X 对 Y 的边际效应
图 1:X 对 Y 的边际效应

3. 交互的对称性

X 对 Y 的边际效应是以 Z 为条件的,反过来,也可以认为 Z 对 Y 的边际效应是以 X 为条件的。具体来看,Z 的边际效应可以写成下式:

由式 (3) 可知,当 X 为零时,Z 的边际效应为 βZ,并随 X 的增加而增加。因此,交乘项系数 βXZ 既表示 ME(X|Z) 和 Z 之间关系的斜率,也表示 ME(Z|X) 和 X 之间关系的斜率。

由此,我们可以认为 X 对 Y 的影响是以 Z 作为条件,而 Z 对 Y 的影响则以 X 作为条件。正是这种固有的对称性使学者将 X 或 Z 指定为条件变量,而将其他变量指定为被条件变量所影响的变量。

例如,当一个变量 X 是连续的,而另一个变量 Z 是二分的,我们会自然认为 X 对 Y 的影响在一种情形(Z=0)下不同于另一种情形 (Z=1),从而将 Z 作为条件变量。然而,事实是二元变量 Z 的效果也随 X 变化。

具体来看,图 2 左边为 XZ 和 Y 关系的三维图,右边为 ME(Z|X) 图,并且假设 βX=0.10 和 βXZ=0.004

在图 2a 中,βZ=0.20,表明当 X=0 时 Z 的边际效应为 0.20βXZ 为正实际上意味着 Z 对 Y 的边际效应始终为正,并且随着 X 的增加,这种正效应会增强,当 X 达到最大值 100 时 Z 对 Y 的边际效应将达到 0.60。上述过程在三维图中表示为,随着 X 取值变大,Y 对 Z 的斜率也逐渐变陡。图 2b 和 2c 与 2a 类似,这里不再赘述。

图 2:X、Z 和 Y 之间的条件关系
图 2:X、Z 和 Y 之间的条件关系

4. 改进建议

正是由于交互作用的对称性,Berry 等 (2012) 建议在评估一个简单交互模型时,尽可能多做以下五项预测:

  • 当 Z 取最小值时,X 的边际效应是 [正 负 零];
  • 当 Z 取最大值时,X 的边际效应是 [正 负 零];
  • 当 X 取最小值时,Z 的边际效应是 [正 负 零];
  • 当 X 取最小值时,Z 的边际效应是 [正 负 零];
  • X 的边际效应 与 Z 的关系是 [正 负],反之亦然。

简而言之,无非要多考虑一下 X 的边际效应如何随 Z 变化,或 Z 的边际效应如何随 X 变化。例如:

  • 在所有 Z 值处,X 的边际效应均为正,并且这种效应在 Z 值最小时最强,随着 Z 的增加而减小;

  • 在 X 值最小时,Z 对 Y 的边际效应为正;随着 X 的增加,这种效应在减小;在 X 的某个值处,Z 对 Y 边际效应为零;当 X 值进一步增加时,Z 对 Y 边际效应为负,并随 X 的增加这种负向效应也在增加。

5. 论文重现

5.1 研究背景

Kastner (2007) 研究了利益冲突和具有国际经济利益主体的实力对国家间贸易水平的影响。以往的研究表明,当国家之间存在政治利益冲突时,双边贸易会降低,但不同国家又有很大差异。之所以如此,Kastner (2007) 认为尽管各国领导人都希望减少与与自己利益不一致国家的贸易,但这也会受到拥有国际经济利益的国内主体的限制。因此,我们可以认为,当具有国际经济利益的国内主体拥有强大政治影响力时,利益冲突对贸易影响会相对较小。

由于无法直接衡量具有国际经济利益主体的政治影响力,Kastner (2007) 用各国贸易壁垒作为该政治影响力的反向指标,即贸易壁垒越高,该利益主体政治影响力越小,反之亦然。

5.2 研究假设

无论贸易壁垒强度如何,利益冲突对贸易的边际效应都是负的;并且,在贸易壁垒强度最小时,这种负面影响最弱;随着贸易壁垒强度增大,这种负面影响也加强。

上述假设可得出以下预测:

  • 当贸易壁垒强度最低时,利益冲突对贸易的边际效应为负;

  • 当贸易壁垒强度最高时,利益冲突对贸易的边际效应为负;

  • 利益冲突的边际效应与贸易壁垒负相关,反之也成立。

5.3 模型设定

其中,Trade 为双边贸易水平,Conflict 为利益冲突,TradeBarriers 为贸易壁垒强度,Conflict×TradeBarriers 为利益冲突和贸易壁垒强度交乘项,Controls 为控制变量。

实证结果也显示,Conflict×TradeBarriers 的系数在 1% 的统计水平上显著为负。

5.4 边际效应图示

以上部分为 Kastner (2007) 文中内容,Berry 等 (2012) 在此基础上,增加了边际效应图来进一步说明问题。

图 3a 为利益冲突对贸易的边际效应。可以看出,在贸易壁垒较低时,即具有国际经济利益的国内主体政治影响力强时,利益冲突对贸易的边际效应为正;而当贸易壁垒较强时,即具有国际经济利益的国内主体政治影响力弱时,利益冲突对贸易的边际效应为负。

上述结论与 Kastner (2007) 假设还是有冲突的,并且 Kastner (2007) 也没有在文章中对「在贸易壁垒较低时,即具有国际经济利益的国内主体政治影响力强时,利益冲突对贸易的边际效应为正」进行解释。

图 3b 为贸易壁垒对贸易的边际效应。根据 Kastner (2007) 文中假设和交互效应的对称性,我们可以得到如下假设:

  • 无论利益冲突取何值,贸易壁垒对贸易的边际效应都是负的;并且,在利益冲突最小时,这种负面影响最弱;随着利益冲突增加,这种负面影响也加强。

上述假设可得出以下预测:

  • 当利益冲突最低时,贸易壁垒对贸易的边际效应为负;

  • 当利益冲突最高时,贸易壁垒对贸易的边际效应为负。

可以看出,图 3b 有力的支持了上述预测。

图 3:边际效应图示
图 3:边际效应图示

5.5 附:绘图 Stata 代码

*数据地址
* https://sci-hub.se/10.1177/0022002707302804
*-or
* https://gitee.com/arlionn/data/blob/master/data01/TradeConflict.zip
*-Note: 请右击后另存,不要直接打开。

use TradeConflict.dta, clear
rename lnrtrade trade
rename logUNsun conflict
rename logAvBCFE tradebarriers
rename lnBlnUN conflict_tradebarriers

reg trade conflict tradebarriers conflict_tradebarriers          ///
  laglnrtrade lnrgdpab lndist lnrpciab avremote landlocked       ///
  island landratio pciratio jointdem, cluster(undirectedcode)   
	
matrix b=e(b)
matrix V=e(V)
scalar b1=b[1,1]
scalar b2=b[1,2]
scalar b3=b[1,3]  

scalar varb1=V[1,1]
scalar varb2=V[2,2]
scalar varb3=V[3,3]
	
scalar covb1b3=V[1,3]
scalar covb2b3=V[2,3]
scalar list b1 b2 b3 varb1 varb2 varb3 covb1b3 covb2b3

centile tradebarriers if e(sample), centile(20 80)
scalar p20=r(c_1)
scalar p80=r(c_2)
gen p20=p20
gen p80=p80

generate MVZ=((_n-1)/100)
replace  MVZ=. if _n>414 | _n<97
gen conbx=b1+b3*MVZ if _n<414
gen consx=sqrt(varb1+varb3*(MVZ^2)+2*covb1b3*MVZ) if _n<414

gen ax=1.96*consx
gen upperx=conbx+ax
gen lowerx=conbx-ax

generate MVX=((_n-1)/100)
replace  MVX=. if _n>110

gen conbz=b2+b3*MVX if _n<110
gen consz=sqrt(varb2+varb3*(MVX^2)+2*covb2b3*MVX) if _n<110

gen az=1.96*consz
gen upperz=conbz+az
gen lowerz=conbz-az

gen yline=0

graph twoway hist tradebarriers, width(0.1) percent color(gs14) yaxis(2)                        ///
  ||  rarea p20 p80 lowerx if lowerx>-0.51 & lowerx<0.51, horizontal sort color(gs12)           ///
  ||  line conbx   MVZ, clwidth(medium) clpattern(solid) clcolor(blue) clcolor(black) yaxis(1)  ///
  ||  line upperx  MVZ, clpattern(dash) clwidth(thin) clcolor(black)   ///
  ||  line lowerx  MVZ, clpattern(dash) clwidth(thin) clcolor(black)   ///
  ||  line yline  MVZ,  clwidth(thin) clcolor(black) clpattern(solid)  ///
  ||  ,xlabel(1 1.5 2 2.5 3 3.5 4,  nogrid labsize(2))     ///
      ylabel(-1 0 1 2 3, axis(1) nogrid labsize(2))        ///
      ylabel(0 3 6 9 12 15 18, axis(2) nogrid labsize(2))  ///
      xscale(noline)                                       ///
      yscale(noline alt)                                   ///
      yscale(noline alt axis(2))                           ///
      legend(off)                                          ///
      yline(0, lcolor(black) lpattern(dash) lwidth(thin))  ///
      xtitle("" , size(2.5)  )                             ///
      ytitle("" , axis(2) size(2.5))                       ///
      xsca(titlegap(2))                                    ///
      ysca(titlegap(2))                                    ///
      scheme(s2mono) graphregion(fcolor(white))				 
						 
graph twoway hist conflict, width(0.025) percent color(gs14) yaxis(2)                  ///
  || line conbz   MVX, clwidth(medium) clpattern(solid) clcolor(blue) clcolor(black)   ///
  || line upperz  MVX, clpattern(dash) clwidth(thin) clcolor(black)                    ///
  || line lowerz  MVX, clpattern(dash) clwidth(thin) clcolor(black)                    ///
  || ,xlabel(0 .25 .5 .75 1, nogrid labsize(2))                           ///
      ylabel(-1.5 -1.25 -1 -.75 -.5 -.25 0 , axis(1) nogrid labsize(2))   ///
      ylabel(0 2 4 6, axis(2) nogrid labsize(2))                          ///
      yscale(noline alt)                      ///
      yscale(noline alt axis(2))              ///
      xscale(noline)                          ///
      legend(off)                             ///        
      yline(0, lcolor(black) lwidth(thin))    ///
      xtitle("" , size(2.5)  )                ///
      ytitle("" , axis(2) size(2.5)  )        ///
      xsca(titlegap(2))                       ///
      ysca(titlegap(2))                       ///
      scheme(s2mono) graphregion(fcolor(white))

5.6 结论

Kastner (2007) 论文的重现,表明了边际效应图在解释交互效应的重要性。尽管,Kastner (2007) 并没有解释为何「在贸易壁垒较低时,即具有国际经济利益的国内主体政治影响力强时,利益冲突对贸易的边际效应为正」,但是图 3b 进一步为其理论提供了证据。

6. 参考文献和扩展阅读

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD