大家都知道湖北和湖南是由于分别在洞庭湖北边和南边而得名。我的家乡是湖北省会城市——英雄城市武汉市,2019年人均收入11.55万(2020年人均GDP由于疫情大幅下滑)。如果我从武汉市开车南下,来到温泉圣地——湖北咸宁市,你可能发现人均GDP下降了,例如,下降到湖北2020年人均GDP的7.4万元,如果我继续开车南下,来到洞庭湖边,发现人均收入还在下降。当我跨过洞庭湖进入湖南省,发现收入下降了15%(湖南2020年年的人均GDP为6.3万元)。但是我仅仅只是打开车门,跑到湖南去买了一杯“茶颜悦色”,年收入少了1.1万元左右。
这是怎么回事?肯定不是因为买了一杯“茶颜悦色”而导致了收入的大幅下降,那是因为什么呢?湖北和湖南最明显的差别肯定就是省界线。省界线明确区分了湖北和湖南。但是,我们可以肯定的是,两湖地区人均收入的下降,肯定不仅仅只是因为边界线的距离。有一点还是可以想象得到,如果没有省界线,湖北湖南人的收入可能还是有差异,但差异非常有可能缩小,因此,边界线的划分可能对两湖地区的人均收入贡献较大。这就是断点回归的思想:比较边界线(断点)两侧的人均收入(结果变量),如果没有边界,人均收入可能非常接近。
自然界真的很神奇,非常的平滑:我从武汉回深圳,要么火车飞机4-5个小时,要么开车11个小时,我多么想“咻”得一下,瞬间传送到深圳,但是这是不可能,空间距离1200公里不多不少;参天大树总要经历播种、发芽、成长等一天天的成长过程,我们不能“拔苗助长”;财富积累也需要一步一步辛勤地劳动,暴发户是很少的;宇宙也非常的平滑,从地球到月球,到火星,都需要经历漫长的时间,除非遇到“黑洞”。因此,“罗马不是一天建成的”,精通计量,做出好的研究也是一样,需要持续数年,甚至数十载的静心积累与思考。
如果我们看到一个事物或现象出现“跳跃”、“尖峰”,或者其它奇怪的特征时,我们首先要质疑它们很可能不是自然的发展,而是人为的。那么,有趣的问题出现了,如果这些事物/现象仍然按照自然的方式发展(反事实),两者会有什么差异呢?这就是在探索人为干预的效应,这种人为导致的“跳跃”也是断点回归设计的核心内容。
下面,我们来看一个例子——酒精会害人吗?
我国法律法规并没有明确规定饮酒的最低年龄,只是明确禁止向未成年人销售酒精类饮品,例如酒。但是,过年的时候,家里的一些人为了逗孩子,会用筷子稍微蘸点白酒给婴幼儿常常,然后看到小孩子们辣得抽搐的表情,全家都乐呵呵的,这是为了活跃气氛,尚可。我自己不喝酒,但仍记得一句广告语:“某酒虽好,可不要贪杯哟!”
根据世卫组织统计,全球人们首次饮酒的年龄为12岁,大约有80%的粘人会在15岁前就开始定期饮用酒精类饮料。因为年轻人“很容易贪杯”,所以很多国家和地区都明确规定了最低饮酒年龄,例如,美国法定最低饮酒年龄21岁,巴西为18岁。那么,美国是否过于谨慎,应该降低法定最低饮酒年龄?还是其他国家应该提高法定最低饮酒年龄?如何判断这个问题,标准就是饮酒的社会影响是什么?有大多?Carpenter and Dobkin(2009)就从死亡率的角度研究了酒精类消费对死亡率的影响,也可以参见Carpenter and Dobkin(2011)对该问题的回顾。
从公共福利的角度来看,我们要秉持以人为本,希望尽可能地降低死亡率,而饮酒有可能会提高死亡率,所以就要限制酒精类产品的消费,最低饮酒年龄的法律法规就是这类政策措施。那么,法定最低饮酒年龄的规定对死亡率有什么影响呢?
但从饮酒这个事来说,任何年龄都可以尝试一下,例如,过年逗孩子。但法定最低饮酒年龄可能就让饮酒这件事在不同年龄间发生了某种“跳跃”。还记得吗?“跳跃”可能并不是自然形成的现象,很有可能是人为的。美国规定21岁才可以饮酒,所以21岁前不能公开饮酒,21岁后,饮酒的概率就大增了。这个时候,我们就可以使用断点回归来识别法定最低饮酒年龄对死亡率的效应。我们使用Matheus Facure Alves(2022)提供的饮酒数据,其中包括平均年龄(agecell)、所有原因造成的死亡率(all)、交通事故造成的死亡率(mva)、自杀的死亡率(suicide)。我们首先来看看,不同年龄段的死亡率:
//加载数据
use "/Users/xuwenli/Library/CloudStorage/OneDrive-个人/DSGE建模及软件编程/教学大纲与讲稿/应用计量经济学讲稿/应用计量经济学讲稿与code/RD/drinking.dta",replace
//作散点图,观测跳跃
* 所有的死亡率
twoway scatter all agecell, xline(21,lp(dash)) saving(all)
* 交通死亡率
twoway scatter mva agecell, xline(21,lp(dash)) saving(mva)
* 自杀死亡率
twoway scatter suicide agecell,xline(21,lp(dash)) saving(suicide)
graph combine all.gph mva.gph suicide.gph,col(1)
从图1可以明显看出,只要超过法定饮酒年龄21岁,所有原因导致的死亡率都“跳跃”般地上升了。这给了我们初步的、直观的经验证据。但对于评估最低饮酒年龄限制对死亡率的效应,这些证据还不够。
年龄是连续变化的,但是死亡率在21岁处跳跃,所以肯定有什么东西存在根本性的差异。
可以肯定的是,我们观察到的差异不仅仅只有年龄差异,还有就是21岁上下对饮酒的限制。这个就是断点回归背后的逻辑:仅仅比较断点两边的死亡率,如果没有这个21岁的断点,21岁上下的人可能具有基本类似的特征,如果死亡率存在差异,我们就可以认为是最低饮酒年龄政策引起的差异。因此,断点回归关注的是,断点处发生的处理/政策,在断点的一边,没有处理发生,而另一边有处理发生。
断点回归有几个核心的概念:
- 驱动变量(Running/forcing variable):决定是否接受处理的变量,例如,你的绩点在4.8以上,就可以保研,那么,绩点就是一个驱动变量。
- 断点(Cutoff):决定是否接受处理的驱动变量的阈值,例如,保研的断点就是4.8,在4.8以上就可以保研,4.8以下就没有保研资格;
- 带宽(Bandwidth):断点两边一定范围内的人基本类似,这个范围就是带宽,在这个范围以外的人可能就存在一定差异,例如,4.6、4.7绩点和4.8、4.9绩点的学生在综合素质方面可能差不多,而4绩点的学生可能成绩就差得较多。另一个例子就是比较洞庭湖两侧的人均收入,如果我们再开车往南走,可能就到了广东边,广东是全国最富裕的省份之一,所以这个时候距离洞庭湖太远了,也没有可比性,因为广东太富有了,所以我们将比较的对象限定在洞庭湖两边各100公里范围,来比较这个范围内的人均收入,这个100公里就是带宽。
因此,可以将断点看做是一个局部随机试验,得到局部平均处理效应LATE。所以断点研究设计关注:(1)驱动变量如何影响结果;(2)在带宽内,断点附近的观测值;(3)比较接受处理和未接受处理的结果,得到处理差异。
断点回归对数据的要求:第一,要求处理配置规则是已知的,明确的——平滑性假设:虽然,我们感兴趣的是处理变量对结果的效应,但实际上,我们估计的是断点的效应,然后,把这个效应(模糊断点下,部分)归于处理,因此,如果断点处还有其它东西变化,那么,就会很麻烦;第二,在一定带宽内,驱动变量在断点两侧是随机配置的,不被操纵,例如,期末考试的时候,总有一些学生找老师打分,如果“跑步分高”,那保研对学生未来的影响效应就识别不出来了;第三,设置断点值的人,不能根据接受处理的人来做出调整和响应;第四,大样本量是RDD的特征,因为要挑选一定范围内的样本来比较,因此,严重限制了样本量,会使得估计不精确,如果引入更多的数据,又会带来误差。实践中,可以在做断点回归前,先做做power分析来看看是否有足够的观测值来精确估计因果效应。
断点回归为什么好?从图2中就可以明显看出来,我们感兴趣的是,处理---结果的效应,但是驱动变量、控制变量都可能混淆处理效应,从而识别不干净,但是,理论上来讲,断点回归可以控制住“驱动变量”,从而关闭所有混淆因子路径,进而干净地识别处理效应。
那么,断点回归具体怎么做呢?且听下回分解!
未完待续。。。