Stata论文复现:累进税率真的能减少不平等吗?

发布时间:2021-11-08 阅读 385

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

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

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

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

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

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:艾卫冕 (中央财经大学)
邮箱awm9901@163.com

编者按:本文主要摘译自下文,特此致谢!
Source:Egger P H, Nigai S, Strecker N M. The taxing deed of globalization[J]. American Economic Review, 2019, 109(2): 353-90. -PDF- -Replication Date-


目录


本文实证检验了全球化对不平等的影响,以及税收在其中发挥着渠道作用。本文发现在 1994 年以前,越高的全球化水平下,收入越高者被征的税率越高。在 1994 年以后,中产阶级被征收的税率更高,收入最高的 1% 反而面临 0.59-1.45 百分点的税负减少。本文用 OLS 方法进行基准回归估计,用贸易量和贸易成本构造了全球化指标的两个工具变量解决了反向因果的内生性问题。本文的主要研究贡献是:

  • 全球化对不平等的影响有广泛的研究,但是渠道尚不明确;
  • 本文证实了全球化通过劳动收入税收系统增加不平等的渠道。这一发现驳斥了以往研究认为累进税率能够减少不平等的观点;
  • 通过分解,本文另外还发现,这种增加主要通过各国政府主动调整税法以给各国高收入群体更低的税。

本推文注重从初学者的角度,对本文的实证设计思路、代码的写作范式、工具变量的构建方法和探究借鉴意义四个角度剖析其学习价值。

1. 本文学习价值

学习实证设计思路:本文在引言中关于研究问题的展开、实验设计中内生性问题讨论、以及稳健性分析等都非常精彩,值得学习。具体如下图所示:

学习代码写作范式

  • 作者在文章大量使用双重嵌套的循环语句使得代码很简洁;
  • 作者在代码中大量使用了作图命令,使得文章结果一目了然。

学习工具变量的构建方法

  • 第一个工具变量是国家之间的贸易成本的分配。它基于国际贸易的一般均衡模型,能够用标准数据库 - 联合国商品交易数据库 (COMTRADE) 和联合国工业发展组织 (UNIDO) 的生产和销售数据 - 进行衡量,因此有很大的理论和实证方面的借鉴价值;
  • 第二个工具变量是原油价格和运输成本的变化。相比之下这一工具变量的理论性不强,但是在实证方面优势明显。比如不依赖双边贸易数据,基于地理数据外生性更好,能够衡量空间集中度等。

探究对中国的研究的借鉴意义

  • 以上两个工具变量能够直接为研究国际贸易的学者提供参考价值;
  • 本文最大的创新点——全球化通过影响税收体系进而影响不平等的渠道值得税收领域的学者关注。具体来说,本文通过时间跨度较长的样本证实了累进税率的采用事实上依旧增加了不平等,而非理论设计上的减少不平等。因此如果能够用中国各省份的贸易数据证实这一点,对现有文献也会有非常大的边际贡献。

2. 实证回归模型

全球化的衡量指标:贸易和迁移两种,因为贸易的指标数据更多,因此使用贸易的指标。

其中,wi,tp 是指名义税前工资,τi,tp 是指工人的综合有效税率,包括收入税和社保费。πi,t 是指国家 i 在 t 年的贸易自由度,它是国家 i 和 j 之间平均双边进出口额度占国家 i 进口比例的标准化之后 (normalized by the absorption of country i in year t) 的加总。Zi,t 是一组控制变量,包括技能组成,政治制度,人口和经济因素。ηtp 是指年份固定效应,μip 是指国家固定效应。等式左边的 percentile 代表的是税收收入的百分位,通过这个式子能够衡量每个百分位收入上承担的税负比例。

3. OLS 回归结果

结论:1980-1993 全球化会减少不平等,1994-2007 全球化会增加不平等。随着收入上升,全球化对于税率的影响先为正后为负,那么就可以说是全球化通过增加税率进而不平等了。通过分组回归初步验证了税收的渠道作用。

值得注意的是作者通过使用图片展示这种分位数回归结果,十分清晰,优于通过表格展示回归结果。连享会之前也曾经发送过推文探究图示线性回归系数的几种方式,详见推文「图示线性回归系数」

cnssc install lxhget, replace
lxhget egger_aer_2019.zip, replace
unzipfile egger_aer_2019, replace

use "./Data/Main-Data", clear // FirstAuthor_2018_data.dta
drop if oecd==0
global xvars "primaryed secondaryed tertiaryed democracy"  // Control variables
global xvars "$xvars left right ln_rgdppc ln_pop ln_popxrgdppc" 

foreach v in mix log pareto {                           //  #1
  forvalues i =1/100{                                   //  #2
    ivreg2 relburden_`v' ln_trade $xvars diso* dyear*   ///
        if pctl== `i' & oecd == 1 & year < 1994,        ///
    	cluster(year iso) partial($xvars diso* dyear*)  //  #3-#5
    gen ols1_`v'coef`i'  =  _b[ln_trade]
    gen ols1_`v'error`i' = _se[ln_trade]
	
    ivreg2 relburden_`v' ln_trade $xvars diso* dyear*   ///
        if pctl== `i' & oecd == 1 & year >= 1994,       ///
    	cluster(year iso) partial($xvars diso* dyear*)  //  #6
    gen ols2_`v'coef`i'  =  _b[ln_trade]
    gen ols2_`v'error`i' = _se[ln_trade]
  }
}

/* === Notes: ===
#1: mix log 和 pareto 分别是作者通过对于收入的分布进行的不同假设构造的收入数据
#2: 这里的循环语句是为了方便对于收入分布每个百分位上的数据进行回归
#3: relburden - 收入的有效税率
    trade     - 自变量全球化程度
    primaryed等是控制变量,衡量劳动者的特征
    diso* 和 dyear* 分别是国家和年份固定效应
    pctl 是收入所处的百分位
#4: cluster() 的含义是同一个国家同一个年份内各个百分比的残差相关,不同的则无关
#5: partial() 是为了将外生变量的影响从其他的变量中排除出去。
#6: 本文以1993年为断点分两段分别回归,对断点的选择在后文也有讨论
*/

keep ols*
duplicates drop
gen id=1
reshape long ols1_paretocoef  ols2_paretocoef              ///
             ols1_paretoerror ols2_paretoerror             ///
             ols1_logcoef ols2_logcoef ols1_logerror       ///
             ols2_logerror ols1_mixcoef ols2_mixcoef ols1_mixerror ///
	           ols2_mixerror, i(id) j(bin)                     //  #1
gen pctl=bin 
drop id bin
foreach v in mix log pareto{
  foreach m in ols1 ols2{
    gen `m'_`v'CIu=`m'_`v'coef+1.654*`m'_`v'error         //   #2
    gen `m'_`v'CIl=`m'_`v'coef-1.654*`m'_`v'error         //   #3
  }
}
}
/* === Notes: ===
#1: 将数据转换成长型数据
#2: 计算得出系数的90%置信区间上限
#3: 计算得出系数的90%置信区间下限
*/

*------------------graph----begin---
twoway (rarea ols1_mixCIu ols1_mixCIl pctl, sort color(gs15))         /// #1
       (rarea ols1_logCIu ols1_logCIl pctl, sort color(gs14))         ///
       (rarea ols1_paretoCIu ols1_paretoCIl pctl, sort color(gs13))   ///
       (line ols1_mixcoef pctl, color(black))                         /// #2
       (line ols1_logcoef pctl, color(black) lpattern(_))             ///
       (line ols1_paretocoef pctl, color(black) lpattern(-)),         ///
       title(OECD: 1980-1993)                                         ///
       legend(order (4 "Mix" 5 "Log-normal" 6 "Pareto") cols(3))      /// #3
       name(ols1, replace)
/* === Notes: ===
#1: 选项rarea用于画出阴影。其中,
ols1_mixCIu是因变量的上限,ols1_mixCIl是因变量的下限,pctl是自变量。
sort保证数据在绘图之前按照x的大小排序。
color定义阴影的颜色,gs15-13灰度依次增加。

#2:选项line用于画出直线。其中,
ols1_mixcoef是因变量,线性回归的系数,pctl是自变量,收入所处的百分位。
color定义直线的颜色。
lpattern定义直线的种类。

#3:选项legend用于标注图例。其中,
order定义线段名称的出现和排列。
cols(3)定义图例中名称分三列展示。

*/
*------------------graph----over----

*------------------graph----begin---
#d ;
twoway (rarea ols2_mixCIu ols2_mixCIl pctl, sort color(gs15)) 
       (rarea ols2_logCIu ols2_logCIl pctl, sort color(gs14)) 
       (rarea ols2_paretoCIu ols2_paretoCIl pctl, sort color(gs13)) 
       (line ols2_mixcoef pctl, color(black)) 
       (line ols2_logcoef pctl, color(black) lpattern(_)) 
       (line ols2_paretocoef pctl, color(black) lpattern(-))
       , title(OECD: 1994-2007) 
       legend(off) name(ols2, replace) ;
#d cr         
*------------------graph----over----
grc1leg ols1 ols2, title(Figure 2) rows(1) legendfrom(ols1)
graph export "./Data/Results/Figure 2.png", as(png) replace

4. 工具变量结果

内生性问题的来源为反向因果。因为税率可能通过影响要素回报,消费,劳动力要素的自由流动等各种渠道影响全球化贸易。

4.1 第一个工具变量的构建

第一步:定义消费比例

πij,t 是国家 i 年份 t 的消费者对国家 j 的消费占双边的消费的比例。ej,t 和 ιi,t 可以看做两个国家的固定效应,比如国民收入水平,国内生产总值之类的。βij,t 是和国家特定因素无关的,国家对之间的控制变量,比如双方的地理位置差异和经济水平差异,在较长期来看是不变的。

第二步:将消费比例进行标准化 (除以从本国进口的)

第三步:定义 i 是出口,j 是进口,得到

这一步的目的主要是为了消除掉那些数据中不好估计的参数,也就是国家特定因素。

第四步:参数代换

因为 λi,tI 不受国家 i 或者国家 j 任何一个的劳动收入税影响,因此更不能可能受到个人工资所得分布的百分位的影响,故满足了工具变量和因变量不直接相关,即满足了外生性。构建过程的代码展示如下:


use "./Data/Instruments/Instrument-I-data.dta", clear // #1
gen exp2 = exp
gen imp2 = imp
rename level level2
rename imp ii
rename exp imp
rename ii exp
merge 1:1 exp year imp using "./Data/Instruments/Instrument-I-data.dta" // #2
drop _m

/* === Notes: ===
#1: 每一条观测值记录的只是国家A出口国家B的数据
#2: 让每一条观测值既包含国家A出口国家B数据,又包含国家A进口国家B的进口数据
*/

***********************************************************************
egen tot_imp = sum(level), by(imp year)   // #1
gen pi_ij = level/tot_imp                 // #2
gen op = (level+level2)/(2*tot_imp)       // #3
gen pi = pi_ij if exp == imp
egen pi_ii = mean(pi), by(imp year)       // #4
drop tot_imp pi
gen beta_ij = pi_ij/pi_ii                 // #5
************************************************************************
egen tot_imp2 = sum(level2),by(imp2 year) // #6
gen pi_ji = level2/tot_imp2               // #7
gen pi = pi_ji if exp2 == imp2
egen pi_jj = mean(pi), by(imp2 year)      // #8
drop tot_imp2 pi
gen beta_ji = pi_ji/pi_jj                 // #9
gen t = (beta_ij*beta_ji)                 // #10
replace t = 0 if exp == imp

/* === Notes: ===
#1: 计算出每个国家j一年的总进口量
#2: 计算出每条观测值上,国家i到国家j的出口量占国家j总进口量的比例
#3: 计算出每条观测值上,国家i和国家j进出口总量占2*国家j总进口量的比例
#4: 计算出每个国家每年自产自销占总进口量的比例
#5: 计算出国家i出口量比例与国家j自产自销比例的比值,用以衡量国家i的出口对国家j的重要性
#6: 计算出每个国家i一年的总进口量
#7: 计算出每条观测值上,国家j到国家i出口量占国家i总进口量的比例
#8: 计算出每个国家每年自产自销占总进口量的比例
#9: 计算出国家j出口量比例占国家i自产自销比例的比值,用以衡量国家j的出口对国家i的重要性
#10: 相当于上文工具变量构建的第三步,用以衡量国家i和j的贸易紧密程度
*/

replace op = 0 if exp == imp
egen open = sum(op), by(imp year)       // #1
replace open = ln(open)
egen beta = sum(t), by(imp year)        // #2
replace beta = ln(beta)
keep year imp open beta
duplicates drop
rename beta instr_trade
rename open ln_trade
rename imp iso

export delimited using "./Data/Instruments/Instrument-I.csv", replace
/* === Notes: ===
#1: 用除自身以外的国家与国家j的进出口量占2*国家j总进口量的比例,衡量国家j的贸易开放程度
#2: 相当于上文工具变量构建的最后一步,加总国家j与其他所有国家之间的贸易紧密程度作为国家j全球化的工具变量
*/

4.2 第二个工具变量的构建

原因:上一个工具变量的有效性很大程度上依赖于第一步中贸易的一般结构化模型的设定,因此为了保证结果的稳健性需要再找一个工具变量。

第一步:构建交易成本

pi,toil 是国家 i 在时间 t 的石油价格,dik 是国家 i 的最大的三个城市之一的 k 与其最近的港口的距离。

第二步:衡量方差

指标的优势在于,不依赖双边交易数据;通过衡量方差,比计算平均值更能够衡量交易集中程度。这一个工具变量由于贸易成本和全球化程度非常相关,因此满足了相关性。由于原油价格和个人工资所得分布的百分位不相关,因此满足了外生性。

4.3 第一阶段回归结果

估计的回归公式是:

φκ 分别是两种工具变量类型的系数,Zi,t 是指工具变量。

4.4 第二阶段回归结果

可以看出两个工具变量的回归结果和基准回归结果的差距不大,因此基准回归结果在克服了反向因果的内生性问题之后依然稳健。

4.5 对结构性断点年份选择

作者对于分组回归的时间断点进行了讨论。具体思路是通过测试 H0:γpreγpost 是否成立,发现 93/94 和 94/95 的 p 值是低于 0.05,并且由于 LIS 的微观数据恰好从 94 年开始,本文因此选取 93/94 作为时间的断点。

除了统计上的规律,作者也给出了经济学上的解释:在上世纪 90 年代中期,OECD 国家之间大量签署双边税收协定,因此客观上导致了全球化进一步地加大。

5. 渠道检验

通过以下的公式进行估计,同时采用了 OLS 和 IV 的方法。

其中 Ri,tr 是指政府税收收入,包括总收入,公司税收收入,工薪税,商品和劳务税收。

从以上回归结果中,我们可以发现,在 1980-1993 年,全球化减少了工薪税,1994-2007 年,全球化增加了工薪税,这主要是因为各国政府加重了对于中产阶级的税负,同时减轻了富人的税负。由此,上表提供了税收系统的中介效应的证据。

6. 稳健性分析

直接使用卢森堡收入调查的微观数据库:基准回归中的数据是通过插值法合成的,这里进行的稳健性检验中运用了 LIS 的原始数据,得到了类似的结果。

将样本替换为所有家庭类型:因为基准回归中的数据是只有单独的男性家庭。因此这里将所有的家庭都考虑进去,并且有税收计算器计算出来了每个百分位的平均的家庭的有效税率。最后,我们使用这些税收负担对公式进行重新估计。

用迁移自由度作为全球化的衡量指标:用迁移的数据来衡量全球化和贸易的数据比起来有两大劣势:

  • 数据缺失太多;
  • 迁移数据包含各种迁移类型,可能掩盖了真实的经济活动关系。

πij,tmig 是观测到的从 j 迁移到 i 的人员的比例。工具变量的构建和前文类似。最后观测到的结果是经济显著性更小,这样是解释得通的。

美国跨州迁移自由度和有效劳动收入税率:上文发现发达国家在全球化中通过减少富人相对的劳动收入税,增加中产劳动收入税进而增加了收入不平等。本节利用美国国内的州层面的数据检验了相应的渠道是否依旧成立。使用的数据来源于年度社会经济 (ASEC)和当代人口调查数据库 (IPUMS)。数据库中包括了个人的应纳税所得和联邦,州层面支付的税收。

另外,劳动人口跨州层面迁移的数据来源于美国税务局 (IRS)。本文利用州层面的人口迁移数据衡量贸易自由度。迁移的工具变量构建过程与上文中工具变量一的构建类似,因此不做赘述。研究贸易自由度对于收入的 50 个百分位上的人群的税收负担的影响:

其中,τs,tq 是州 s,时间 t,第 q 个收入百分位上人群总共负担的税负,ws,tq 代表应纳税所得额,πs,tmig 是指观测到的州 s 的流动性,流动性的计算和贸易自由度的计算遵循相同的逻辑,Zst 是州层面的控制变量。

从上图中,我们依然可以非常清晰地观察到在中等收入组的税收负担上升,高收入组的税收负担下降。

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 论文, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

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

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

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh