长差分:Long Difference及Acemoglu AER论文推介

发布时间:2020-11-17 阅读 6541

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

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

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

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

作者: 笑花心 (连享会助教)
邮箱: RHs_knowledge@126.com

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

Source: Acemoglu D, Restrepo P. Secular stagnation? The effect of aging on economic growth in the age of automation[J]. American Economic Review, 2017, 107(5): 174-79. -Link-


目录


1. Long Difference 模型简介

1.1 为什么用 LD 模型

必要性

  • 数据特点:研究所需数据的搜集难度较大,单次调查的跨度时间长 (需要跨越若干年),难以获得逐年的数据;

  • 研究目标:X 对 Y 的作用通常需要一定时间,如戴觅等 (2019) 研究劳动力市场对关税冲击的反应;或研究目的在于探究某因素对另一指标的长期影响,如周茂等 (2018) 探究了产业升级对地区劳动收入份额变动的长期影响。

优势

  • 遗漏变量:考虑到了不随时间变化的不可观测因素,控制了个体效应差异;

  • 间隔期长的差分可能比间隔短的差分有更小的减弱偏误,参考 Griliches 和 Hausman(1986)。

1.2 LD 方法操作过程

假设数据涉及时期 a 和 b,而 a 或者 b 每一个时期涵盖 n 年 (n 值可以取 1 ),并将研究中涉及的个体记为 i

  • 关于解释变量 X 和被解释变量 Y 分别计算两个不同时段上的平均水平:

    其中 p=a,b

  • 对这两期做差分,去掉不随时间变化的影响:

    对于时期 a,我们假定有:

    差分得到:

  • 然后估计 X 的变化对 Y 变化的影响:

1.3 存在的问题与解决

参考 Burke 和 Emerick (2016),我们对 LD 方法中可能出现的问题和解决方法进行简要讨论。

  • 所加入的其他固定效应可能会吸收关键解释变量的长期变动,当这种变动正好与所研究的因果效应有关时,就可能对结果造成影响。我们可以从变动性角度探讨,即证明其他的控制变量或者固定效应只吸收了长差分变动性的一小部分。

  • 所观察到的 “长期变化” 可能仅是在端点年份附近的短期变化。我们可以从如下两方面说明 “长期变化是真实存在的”:

    • 解释变量是否具有逐年的变动 (annual changes)?如当所研究的是气候因素 (climate) 对粮食产量的影响时,考虑如下模型:ln(climt)=α+βt+εt,其中 t 是样本年份。重点关注 β 的系数,说明该变量在样本估计时期是否存在实质的变动;
    • 通过模拟实验的方法进行说明,即通过模拟生成均值固定的时间序列,将其分布与研究时期观测到的气温真实情况比较,观察两者是否存在明显的区别。
  • 估计结果受到和解释变量与被解释变量同时相关的随时间变化因素的影响,且这种因素是无法观测的。这个时候我们可以构建关于长差分的两期面板模型,并在模型中加入指示差分时期的变量,这样就会大大降低遗漏变量存在的可能。

  • 结果是否具有稳健性。对于长差分方法,具体来说可以改变端点年份的选取,改变用来计算差分的年份间隔,或者采取其他估计策略等方法。此外,还可以通过去除离群值或者加入控制变量的方法检验结果的稳健性。

2. Acemoglu 和 Restrepo (2017)

2.1 问题背景

关于人口老龄化和经济停滞的讨论:

  • 发达国家饱受 “经济停滞” 折磨的部分原因是人口老龄化导致的过度储蓄 (Hansen 1939; Summers 2013; Teulings and Baldwin 2014);

  • 人口结构的变化是导致发达国家经济增长减缓的第一阻力,主要原因是人口老龄化会减少劳动力投入和产出 (Gordon, 2016)。

以上观点都反映出人口老龄化对经济增长的负面影响,但 Acemoglu 和 Restrepo (2017) 却认为人口老龄化和人均 GDP 之间没有负向的关联。

为了证明该观点,Acemoglu 和 Restrepo (2017) 首先通过散点图对两者的关系进行了初步展示,具体如下图:

其中,纵轴为 1990 – 2015 年间人均 GDP 的变动情况,横轴为 50 岁以上人口和 20-49 岁人口比值的变化情况。

可以看出,我们很难发现两者间的负向关系,那么又该如何解释这种情况呢?Acemoglu 和 Restrepo (2017) 认为,1990 年代后期出现了一系列人工替代技术 (如,机器人和人工智能),为企业生产过程自动化提供了多样选择。

2.2 实证模型

原文基本回归包含 169 个国家的数据,结合文章作者提供的程序,我们将介绍一下长差分的具体操作过程。

生成本文用到的被解释变量,即对 1990 年和 2014 年的人均 GDP 取对数值后差分,得到其变化率:

*-数据存放地址:
*-https://gitee.com/arlionn/data/blob/master/data01/aging_growth_data.dta
*-Note: 请右击后另存,不要直接打开。

*-从连享会数据分享主页 ( https://arlionn.gitee.io/data ) 下载数据 
local url "https://arlionn.gitee.io/data/data01/aging_growth_data.dta"
copy "`url'" aging_growth_data.dta  // 复制数据到当前工作路径下

use "aging_growth_data.dta", clear
gen devo2014=ln(rgdpna2014/pop2014)
gen devo1990=ln(rgdpna1990/pop1990)
gen change_gdp=devo2014-devo1990

生成本文的解释变量,即 50 岁以上人口和 20-49 岁人口比值的变化率:

gen change_dependency = dependency_50_y2015-dependency_50_y1990

控制变量为 1990 年的相关指标,包括上文提及的人均 GDP 对数值 (devo1990)、人口的对数值 (lpop1990)、以及 50 岁以上人口和 20-49 岁人口比值 (dependency_50_y1990):

gen lpop1990 = ln(pop1990)
gen lpop1970 = ln(pop1970)
gen base_dependency = dependency_50_y1990

我们还需要定义回归用到的工具变量 (IVs),即为 1960 及以后各年代的出生率:

global IVs birthrate1960_1965 birthrate1965_1970 birthrate1970_1975 birthrate1975_1980 birthrate1980_1985 birthrate1985_1990

为了使程序更为简洁,我们对其他变量做以下定义:

global y "change_gdp"
global x "change_dependency"
global z "devo1990 lpop1990 base_dependency" 

然后对数据进行回归,具体的回归程序如下:

*展示未处理的两个变量间的相关情况,并将结果储存
reg $y $x , robust 
est store c1

*方程右侧加入初始人均GDP的对数值
reg $y $x devo1990, robust 
est store c2

*方程右侧加入初始人口特征(1990年50岁以上人口和20-49岁人口比值)
reg $y $x $z , robust 
est store c3

*加入一系列区分世界银行所定义地区的虚拟变量(如拉丁美洲),故而允许地区特定趋势的出现
egen region_code=group(region)
reg $y $x $z i.region_code, robust 
est store c4

*使用各年代人口出生率作为人口特征变化的工具变量
ivreg2 $y ($x=$IVs) $z i.region_code, robust partial(lpop1990 i.region_code base_dependency) 
est store c5

*将回归样本改为35个OECD国家。
reg $y $x    if sample_oecd==1, robust
est store c6
reg $y $x $z if sample_oecd==1, robust
est store c7
ivreg2 $y ($x=$IVs) $z if sample_oecd==1, robust partial(lpop1990 base_dependency) 
est store c8

*输出结果
local drop "lpop1990 base_dependency _cons" //不希望呈现估计系数的变量名
local m "c1 c2 c3 c4 c5 c6 c7 c8"
esttab `m' `s', nogap compress replace            ///
  b(%6.3f) scalar(N r2_a rkf j jp) drop(`drop')   ///
  star(* 0.1 ** 0.05 *** 0.01)                    ///
  indicate("Region Dummies =*.region_code")       ///
  addnotes("*** 1% ** 5% * 10%")                   

在使用 ivreg2 命令执行 2SLS 或 GMM 估计时,若 Sargan 或 Hansen J 统计量无法计算,可以加入 partial() 选项,详情可以参考 Giles (1984)、Baum et al. (2003)、Baum et al. (2007)、以及「Sargan+Hansen:过度识别检验及Stata实现」

对于结果的输出,可参考「连享会专题:结果输出」

温馨提示: 文中链接无法在微信中打开,请点击「阅读原文」

------------------------------------------------------------------------------------------------------------------------
                       (1)          (2)          (3)          (4)          (5)          (6)          (7)          (8)   
                 change_~p    change_~p    change_~p    change_~p    change_~p    change_~p    change_~p    change_~p   
------------------------------------------------------------------------------------------------------------------------
change_depende~y     0.335        1.036***     1.162***     0.773**      1.703***    -0.262        0.042        1.186***
                    (1.60)       (4.04)       (4.20)       (2.40)       (4.14)      (-0.75)       (0.12)       (2.59)   
devo1990                         -0.153***    -0.138***    -0.156***    -0.190***                 -0.205***    -0.260***
                                (-3.98)      (-3.28)      (-3.40)      (-4.22)                   (-2.84)      (-2.82)   
Region Dummies          No           No           No          Yes           No           No           No           No   
------------------------------------------------------------------------------------------------------------------------
Observations           169          169          169          169          169           35           35           35   
r2_a                 0.007        0.121        0.123        0.228       -0.024       -0.012        0.425       -0.440   
rkf                                                                     19.365                                  7.378   
j                                                                        4.280                                  4.813   
jp                                                                       0.510                                  0.439   
------------------------------------------------------------------------------------------------------------------------
t statistics in parentheses
*** 1% ** 5% * 10%
* p<0.1, ** p<0.05, *** p<0.01

原文还使用了关于老龄化的不同测算方式,即在 20 岁以上人口平均年龄的变动情况。并且,也将回归改为 2000 年后的时期,即 2000–2015 年,在这段时间经济停滞问题更为引人注目。由于上述结果大致相同,故不再重复列出。

之后,作者将样本延伸到 1965 年,并汇报了每个国家以 25 年为长度,并将两期差分同时加入模型的回归结果。

首先定义可能用到的工具变量:

use aging_growth_data.dta, clea
local v1 "birthrate1950_1955 birthrate1955_1960 birthrate1960_1965"
local v2 "birthrate1965_1970 birthrate1970_1975 birthrate1975_1980"
local v3 "birthrate1980_1985 birthrate1985_1990"
global IVs_stacked `v1' `v2' `v3'

调入数据后按照国家生成时期虚拟变量 period

expand 2
bysort cname_ifr: gen period=_n

计算每一时期对应的控制变量:

gen lpop=.
replace lpop=ln(pop1990) if period==2
replace lpop=ln(pop1965) if period==1
 
gen lgdp=.
replace lgdp=ln(rgdpna1990/pop1990) if period==2
replace lgdp=ln(rgdpna1965/pop1965) if period==1

gen base_dependency=.
replace base_dependency=dependency_50_y1990 if period==2
replace base_dependency=dependency_50_y1965 if period==1 

计算每一时期对应的解释变量 dif_gdp 及被解释变量 change_dependency

gen dif_gdp=.
replace dif_gdp=ln(rgdpna2014/pop2014)-ln(rgdpna1990/pop1990) if period==2
replace dif_gdp=ln(rgdpna1990/pop1990)-ln(rgdpna1965/pop1965) if period==1

gen change_dependency=.
replace change_dependency =dependency_50_y2015-dependency_50_y1990 if period==2
replace change_dependency =dependency_50_y1990-dependency_50_y1965 if period==1

接下来加入特定年份出生率与时期的交乘项:

gen instrument1_1965=birthrate1950_1955*(period==1) 
gen instrument2_1965=birthrate1955_1960*(period==1)
gen instrument3_1965=birthrate1960_1965*(period==1)
gen instrument1_1990=birthrate1960_1965*(period==2)
gen instrument2_1990=birthrate1965_1970*(period==2)
gen instrument3_1990=birthrate1970_1975*(period==2)
gen instrument4_1990=birthrate1975_1980*(period==2)
gen instrument5_1990=birthrate1980_1985*(period==2)
gen instrument6_1990=birthrate1985_1990*(period==2)

类似于上文,我们先定义全局暂元来使命令看起来简洁一些:

*被解释变量 
global y "dif_gdp"

*解释变量
global x "change_dependency"

*控制变量
global z "c.lgdp##i.period lpop base_dependency" 

*转换国家和地区变量类型
encode countrycode, gen(country_code)
encode region, gen(region_code)

*使用聚类稳健标准误
global opt "robust cluster(country_code)" 

下面开始进行回归:

*加入时期虚拟变量
reg $y $x  i.period, $opt 
est store c1

*加入控制变量和地区虚拟变量
reg $y $x $z i.region_code, $opt 
est store c2

*随后的回归加入了国家虚拟变量
reg $y $x $z i.country_code, $opt 
est store c3

*工具变量估计
xi: ivreg2 $y ($x=instrument*_*) $z i.country_code, ///
   partial($z i.country_code) $opt 
est store c4

*关注OECD国家的情况
reg $y $x $z i.country_code if sample_oecd==1, $opt 
est store c5

xi: ivreg2 $y ($x=instrument*_*) $z i.country_code ///
  	if sample_oecd==1, partial($z i.country_code) $opt 
est store c6

*输出结果:
local keep "$x"
local m "c1 c2 c3 c4 c5 c6"
esttab `m' `s', nogap compress replace           ///   
  b(%6.3f) scalar(N r2_a rkf j jp) keep(`keep')  ///
  star(* 0.1 ** 0.05 *** 0.01)                   /// 
  indicate("Region =*.region_code"               ///
  "Country =*.country_code")                     ///
  addnotes("*** 1% ** 5% * 10%")      

得到如下结果:

----------------------------------------------------------------------------------------------
                       (1)          (2)          (3)          (4)          (5)          (6)   
                   dif_gdp      dif_gdp      dif_gdp      dif_gdp      dif_gdp      dif_gdp   
----------------------------------------------------------------------------------------------
change_depende~y     0.305        0.346        0.775        2.168***     0.072        0.361   
                    (1.55)       (1.26)       (1.58)       (4.25)       (0.22)       (1.24)   
Region                  No          Yes           No           No           No           No   
Country                 No           No          Yes           No          Yes           No   
----------------------------------------------------------------------------------------------
Observations           282          282          282          282           63           63   
r2_a                -0.001        0.263        0.645       -1.838        0.894       -2.015   
rkf                                                         8.644                     4.693   
j                                                           6.878                     7.140   
jp                                                          0.442                     0.414   
----------------------------------------------------------------------------------------------
t statistics in parentheses
*** 1% ** 5% * 10%
* p<0.1, ** p<0.05, *** p<0.01

可以看出,上述结果再一次表明了全样本中人口老龄化和经济增长之间的正向关系 (OECD 国家间存在较弱且不显著的关系)。

2.3 结果探讨

上述结论的原因之一是技术调整消除了可能存在的负效应。为此,作者又进一步探讨了该想法的可信度。

实证上的证据

Acemoglu 和 Restrepo 另一研究,指出经历更快老龄化进程的国家正是处在工业机器人这一重要自动化技术应用前沿的国家。

该研究涉及到的数据来源于「International Federation of Robotics」,该数据提供了 49 个国家跨行业工业机器人的信息。

作者发现文中使用的人口结构变动指标,即 50 岁以上人口和 20-49 岁人口比重的变化情况,和 90 年代早期到 2015 年的机器人数量 (每百万工时) 变动存在强烈关联。即使在移除韩国 (明显的离群值) 和将样本限制在 OECD 国家的处理中,这项关系仍然存在。并且,对于倾向于雇佣更年轻工人的行业,以及有更多实施自动化可能性的行业,这项关系更为明显。

关于上述文章更多详细介绍,可参考 Acemoglu 和 Restrepo (2018)。

理论上的证据

依据 Acemoglu (2010)、Acemoglu 和 Restrepo (2016),作者说明了年轻劳动力的稀缺会引发机器人和其他自动化技术的充分使用。

为了说明情况,作者构建了一个静态模型。假设总产出涉及一系列活动,函数形式按照 Cobb-Douglas 的求和形式给出,即:

每一项生产活动 i 可以被视为伴随特定中间品 q(i) 的情况下,投入资本与劳动投入组合得到的。

假设生产类型 iθ 是自动化的,可以利用资本和劳动依据以下函数进行生产,即:

生产类型 i>θ 只能通过投入劳动完成,生产函数形式为:

其中 η(0,1),中间品 q(i) 能够以一单位最终品的边际成本进行生产,同时由收取恒定利润 χ(0,1) 的垄断者提供。这个垄断者同时决定成本 C(θ)Y 中参数 θ[0,1],来反映根据所讨论国家情况所做出的关于使用机器人和其他自动化技术的 (国内) 技术选择。

作者假设成本函数 C 二次可微,严格递增 (借此表明对于垄断者来说将更多生产活动变为自动化是高成本的),严格凸的 (处处存在二阶导数且为正),且满足稻田条件 (Inada Conditions) C(0)=0 且 limθ1C(0)=

作者假设资本和劳动是无弹性供给的,给定两者的供给分别是 K 和 L,且 K/θ>L/(1θ)

这意味着资本充足且相对于劳动价格低,考虑到当今世界较低的利率这个假设是可信的。同时该假设确保自动化的生产活动可以盈利并提高总产出。

在将模型和数据对接过程中,作者将 L 视作青年和中年工人的供给,因此人口老龄化会对应 L 的下降,这个现象也可视作为劳动稀缺性的上升。

均衡总产出可以被表达成 Y=ηη1η(Kθ)θ(L1θ)1θ 之后,取对数值,垄断厂商的利润最大化问题可以写作:

其中 Γ(θ)=ln(ηχC(θ)) 且假设 ηχ>C(θ)。因为 C(θ) 是递增的凸函数,Γ(θ) 是严格递减的,且处处具有负向二阶导数,满足 Γ(0)=0 和 limθ1Γ(θ)=ηχ 反映了垄断者从中间品加成中获得的利润。

结合关于 C 的稻田条件,垄断者利润最大化意味着:

由于 Γ 有负向的二阶导数,对上式求微分得到:

这体现出了劳动稀缺性,较低的 L 会促进进一步的自动化。劳动稀缺性对总产出的影响是什么呢?为了回答这个问题,让我们对关于 lnY 表达式的全微分,将 lnL 通过其他自动化造成的间接影响考虑进去:

其中 ϵΓ=Γ(θ)θ/Γ(θ)>0

考虑到 K/θ>L/(1θ),第二项为负值。因而较低的 L 水平通过减少劳动投入会对 GDP 降低产生一种直接作用,也会通过额外的自动化产生正向的影响。如果第二项 (负值) 足够大的话,由人口老龄化导致的劳动稀缺性会提高 GDP 水平。

当 K 和 L 间的差距足够大,使用资本远比劳动廉价,弹性 ϵΓ 较小时,这种情况就会发生。因此劳动力老龄化,会降低经济中从事生产活动可得劳动力的供给,却不一定会降低人均 GDP ,当我们考虑到技术的影响时,可能 (老龄化) 实际上会提高这个水平。

3. 总结

文章通过分析,发现人口老龄化和人均 GDP 增长间不存在负向关联,导致这种现象的原因之一可能在于技术的内生响应,尤其是替代人力的技术应用。同时作者认为经历更快老龄化的国家采用了更多机器人。

4. 参考文献

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」

  • Sargan+Hansen:过度识别检验及Stata实现 -Link-

  • 连享会专题:结果输出 -Link-

  • 戴觅, 张轶凡, 黄炜. (2019). 贸易自由化如何影响中国区域劳动力市场?. 管理世界, 035(006), 56-69. -Link-

  • 周茂, 陆毅, 李雨浓. (2018). 地区产业升级与劳动收入份额:基于合成工具变量的估计. 经济研究, 53(11), 134-149. -Link-

  • Acemoglu D, Restrepo P. Secular stagnation? The effect of aging on economic growth in the age of automation. American Economic Review, 2017, 107(5): 174-79. -Link-

  • Acemoglu D, Restrepo P. Demographics and automation. National Bureau of Economic Research, 2018. -Link-

  • Acemoglu D. When does labor scarcity encourage innovation?. Journal of Political Economy, 2010, 118(6): 1037-1078. -Link-

  • Acemoglu D, Restrepo P. The race between man and machine: Implications of technology for growth, factor shares, and employment. American Economic Review, 2018, 108(6): 1488-1542. -Link-

  • Griliches, Zvi and Jerry A. Hausman. Errors in Variables in Panel Data: A Note with an Example, Journal of Econometrics, Vol. 31, pp. 93-118, 1986. -Link-

  • Burke, Marshall, and Kyle Emerick. (2016). Adaptation to Climate Change: Evidence from US Agriculture. American Economic Journal: Economic Policy, 8 (3): 106-40. -Link-

  • Giles, D. E. A. . (1984). Instrumental variables regressions involving seasonal data. Economics Letters, 14(4), 339-343. -Link-

  • Baum, C. F. , Schaffer, M. E. , & Stillman, S. . (2003). Instrumental variables and gmm: estimation and testing. Stata Journal, 3(1), 1-31. -Link-

  • Baum, C. F. , Schaffer, M. E. , & Stillman, S. . (2007). Enhanced routines for instrumental variables/GMM estimation and testing. The Stata Journal, 7(4): 465-506. -Link-

相关课程

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

免费公开课:


课程一览

支持回看

专题 嘉宾 直播/回看视频
最新专题 因果推断, 空间计量,寒暑假班等
数据清洗系列 游万海 直播, 88 元,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,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