推荐一篇2023年第6期《数量经济技术经济研究》上机器学习与合成双重差分主题文章
推荐一篇2023年第6期《数量经济技术经济研究》上机器学习与合成双重差分主题文章
文章题目
集体建设用地入市如何影响国有建设用地市场?——基于机器学习的新证据
作者:闫昊生 王剑飞 孙久文
1、简介
建立健全城乡统一的建设用地市场是当前中国土地制度改革的重要目标,文章使用机器学习与合成双重差分等方法,研究了农村集体建设用地入市对城镇国有建设用地市场的影响。
2、变量选择和数据来源
数据:
采用了 2007一2018 年的中国县域城市的面板数据和中国土地市场网相关数据,其中县域城市数据来源于中国县域年鉴
被解释变量。
选取土地出让金的对数作为被解释变量,在机制分析中将被解释变量替换成土地单位价格对数和土地供应面积对数,进一步探讨改革对于城镇国有建设用地市场结构的影响机制。
核心解释变量。
本文核心解释变量为是否成为集体建设用地入市改革试点。
控制变量
除模型设定中包括的固定效应外,本文还从县(市、区)层面控制了一系列的变量。具体包括地方财政一般预算支出、地方政府一般预算收入、年末金融机构贷款余额,以上变量均取对数,并进一步控制第一产业在 GDP 的比重、第二产业在 GDP 的比重。
3、机器学习
机器学习部分基于随机森林的土地价格测算,这部分相关信息请直接查看原文
4、合成双重差分
合成双重差分由Arkhangelsky 等(2021) 提出,References如下:
Dmitry Arkhangelsky, Susan Athey, David A. Hirshberg, Guido W. Imbens, and Stefan Wager. Synthetic Difference in Differences, 2019.
合成双重差分优点:
Stata合成双重差分专题PPT截图
相比于传统的合成控制和双重差分方法具有独特优势
相比与传统的合成控制方法,合成双重差分通过引入时间的权重,剔除政策出台前后时间因素导致的差异,降低了估计偏误,也提升了估计的准确性。
而相比于传统的双重差分方法,合成双重差分方法一方面使与处理组更相似的对照组具有更高的权重,另一方面也使与政策处理期更相似的政策处理之前的时间段具备更高的权重,从而使估计结果更具稳健性。
合成双重差分的实施流程具体如下:
第一,确定个体的权重。
第二,确定时间的权重。
第三,计算政策的处理效应。
总结如下
Stata合成双重差分专题PPT截图
基于个体权重和时间权重,利用加权的双向固定效应模型进行估计,得到政策的平均处理效应。
5、合成双重差分操作及应用
合成DID操作及Stata应用
sdid—Stata中合成双重差分
继Arkhangelsky等人(2021年)之后,该Stata包实现了综合双重差分估计过程,以及一系列推断和绘图过程。Arkhangelsky等人提供了一个使用R的代码实现,这里附带了一些材料:synthdid。这里我们提供了一个原生的Stata实现,主要是用Mata编写的。这个包扩展了原始R包的功能,允许非常简单地在多个处理阶段交错采用的上下文中进行评估(以及在原始代码的单个采用阶段)。
安装到Stata
ssc install sdid
语法格式
sdid Y S T D, vce(method) seed(#) reps(#) covariates(varlist [, method])
graph g1_opt(string) g2_opt(string) unstandardized graph_export([stub] , type)
选项含义:
Y:结果变量(数值)
S:单位变量(数字或字符串)
T:时间变量(数值)
D:处理的虚拟,如果单位被处理,则为1,否则为0(数字)
vce (): bootstrap, jackknife,安慰剂标准误差。
seed():伪随机数的种子定义。
reps(#):重复bootstrap和安慰剂。
covariates(varlist [, method]):用于调整y的协变量。应包含协变量的varlist,并可选用于调整方法的选项。在这种情况下,它可以遵循Arkhangelsky等人提出的方法进行“优化”,在这种情况下,它可以遵循Kranz, 2021 (xsynth在R中)提出的程序。在没有指定方法的情况下,默认使用“优化”。克兰兹已经证明投影法在许多情况下是可取的。在这个实现中,投影的方法通常要快得多。
graph:如果指定了该选项,将显示单位和时间权重以及结果趋势的图形,如Arkhangelsky等人的图1。
g1_opt(string) g2_opt(string):选项,用于修改上述图形的外观。G1为单位权重图,g2为结果趋势图。请求的选项必须遵循Stata的twoway_options的语法。
unstandardized:如果包含了控制,并且指定了“优化”方法,在找到最优权重之前,控制将被标准化为z分数。这避免了控制变量具有高度离散时的优化问题。如果指定了非标准化,则只需输入控件的原始单位。应该谨慎使用这个选项。
graph_export([stub], type):使用这个选项可以将生成的图形保存到磁盘。每个单位权重和结果趋势将分别保存为weightsYYYY和trendsYYYY, YYYY表示每个治疗采用期。每个治疗采用阶段将生成两个图表。如果指定了该选项,则必须指定type,它指的是一个有效的Stata图形类型(例如"。Eps ", ".pdf"等等)。可选地,可以指定一个存根,在这种情况下,它将被放在导出的图形名称的前面。
案例1
一个基于提案99 (Abadie et al., 2010)的例子,只有一个采用日期。加载Abadie et al.(2010)数据:
. use "C:\Users\Metrics\Desktop\prop99_example.dta"
使用sdid进行估计,导出权重和趋势图:
. sdid packspercapita state year treated, vce(placebo) seed(1213) graph g1_opt(xtitle("")) g2_
案例2
基于议会性别配额、议会中的女性和孕产妇死亡率的交错采用设计实例(Bhalotra等人,2020年)。数据加载:
use "C:\Users\Metrics\Desktop\quota_example.dta"
运行没有协变量和引导标准误差的估计
sdid womparl country year quota, vce(bootstrap) seed(1213)
以投影的方式使用协变量运行sdid
sdid womparl country year quota, vce(bootstrap) seed(1213) covariates(lngdp, projected)
R软件安装
当前的开发版本可以使用devtools从源代码安装。
devtools: install_github(“synth-inference / synthdid”)
R语言版本:Example
library(synthdid)
# Estimate the effect of California Proposition 99 on cigarette consumption
data('california_prop99')
setup = panel.matrices(california_prop99)
tau.hat = synthdid_estimate(setup$Y, setup$N0, setup$T0)
se = sqrt(vcov(tau.hat, method='placebo'))
sprintf('point estimate: %1.2f', tau.hat)
sprintf('95%% CI (%1.2f, %1.2f)', tau.hat - 1.96 * se, tau.hat + 1.96 * se)
plot(tau.hat)
References
Dmitry Arkhangelsky, Susan Athey, David A. Hirshberg, Guido W. Imbens, and Stefan Wager. Synthetic Difference in Differences, 2019.‘’