查看原文
其他

倾向匹配分析深度(Propsensity matching analysis)

ca文献交流小组 计量经济圈 2019-06-30

   有很多现象和关联似乎显而易见,然而证明这些“简单”的现象和关联的过程,可能极其消耗人力和物力。在20世纪30年代之前,匹配法(也称控制法)在因果研究中占据了压倒性的地位,科学家认为只有将实验组和对照组的所有情况都尽可能接近,才能两组间的差异是否归于处理因素。但是,在要让实验组和对照组之前的特征(混杂)尽可能匹配,不仅难以操作,而且会消耗大量资源,尤其在很多情况下,很多因素是试验者难以去控制的。



随机化概念的起源



        在伊利诺伊大学的莫柔地块(University of Illinois , Morrow Plots),Fisher通过“分割地块实验”(( Split-Plot Experiment ),成功证明了一个在今天看来可能极其简单,但却耗费了几代科学家上百年努力的结论:土壤的质量是农业生产率最关键的决定因素(Soil quality is a vital component of agricultural productivity)。并开拓了如今广为人知的方差分析(ANOVA),将随机实验法纳入了因果分析的殿堂,成为因果分析的金标准。



为什么要做倾向值分析



        在卫生领域,随机临床试验(RCT)是应用随机实验法最典型的例子。为了证明某种处理(或因素)的作用,将研究对象随机分组并进行前瞻性的研究,可以最大程度上确保已知和未知的混杂因素对各组的影响均衡,阐明处理因素的真实效应。但RCT对研究对象严格的纳入和排除标准,无疑会影响研究结果的外推,同时费用和组织困难问题很多时候都是让人难以承受的。此外,很多研究问题无法做到随机,甚至有些情况下的随机是违反伦理道德的。

        而非随机对照研究(如观察性研究和非随机干预研究)能够较好地耐受RCT中存在的问题,在实际应用中更为广泛。如何利用非随机化研究的资料探究因果,一直是流行病学和统计学研究中非常关注的问题。传统的控制混杂的方法如分层、匹配等控制的混杂因素有限,多因素分析的方法在概念上“控制了其他因素,探究某一因素的影响”,依然无法控制混杂因素所导致的偏性。在这种情况下,倾向值分析(Propensity score analysis)的理论和实践不断丰富,并在流行病学、经济学、社会科学等领域得到广泛应用。

        举一个简单的例子。我们常认为重点学校的对于学生学习能力的提升是优于一般学校的。如果把学校类型视为处理因素,而结局指标为入学后成绩的改变量。那么不同学校间学生成绩改变量的差异,究竟是因为学校不同(处理因素,简单理解为师资、设施等条件的综合),还是因为考入重点学校的学生,本身就比一般学校的学生更聪明,更勤奋,家长的受教育水平更高,对教育的投资更大(混杂因素)?如果控制这些混杂因素以后,学校对成绩的影响,是否就会发生很大变化?学生进入何种学校学习(接受不同处理)的概率是不同的,受到了很多因素的影响,而这些因素同时可能也会影响结局,导致分析处理效应时的偏性。

        倾向值就是研究的个体在一定可观测到的协变量(混杂)存在的情况下,接受某种干预的可能性。而倾向评分析,就是利用倾向值从对照组中为处理组中的每个个体寻找一个或多个背景特征相同或相似的个体作为对照,使两组的混杂因素的分布也趋于均衡,实现类似于随机化设计中的随机分配干预的目的。



倾向值分析的步骤



经典的倾向值分析主要包括以下3步(上图来自推荐书目1,P85)

1. 寻找最佳的协变量,构建估计倾向值的模型。

        模型的因变量为是否接受处理,自变量通常是同时影响处理因素和结局的变量(混杂),或是在干预组和对照组之间分布不均衡的变量。倾向值的模型以logistic回归模型最为常见,构建理想的倾向值模型和以是否接受处理为因变量,找到最恰当的自变量组合的logistic回归其实在原理上几乎是完全一致的。模型系数的假设检验、拟合度、逐步法筛选变量等,此外,一种较新的自动选择的算法一般加速建模(GBM)法也可用于选择变量和构建模型。

        通过构建的模型,可以计算出每个研究对象的倾向值评分,它代表了研究对象接受处理的可能性。因此,具有相同倾向值的研究对象,在模型中的协变量是均衡可比的(而并非取值上完全一致)。

2. 匹配

        根据倾向值的结果,从对照组中选择1:M个倾向值接近的个体与处理组匹配。如果处理组和对照组在协变量的分布上差别较大,则倾向值的分布也会差别较大,所以有了共同支持域(common support)的概念(下图,推荐书目1,P97)。共同支持域可以理解为处理组和对照组倾向值得分相同的范围,在共同支持域内的进行匹配,可能两组间协变量的分布更均衡(涉及到算法的选择和设置等问题)。匹配的算法有有Nearest Neighbor Matching(最邻近匹配)、Full matching(完全匹配)、精确匹配(Exact Match)、Optimal matching(最优匹配)等。其中Nearest Neighbor Matching 和Optimal matching较为常用。不同算法各有优劣,实际应用中一般选择可以使匹配后的处理组和对照组协变量均衡,且研究对象丢失不多的算法。

3. 匹配后分析

        包括分层分析和多元分析等,不同研究采用的方法差别较大,可参照和自己方向类似的文献。



倾向得分匹配的命令


研究某项治疗、政策、或者其他事件的影响因素上很常见。对于经济、金融学领域来说,比如需要研究某个劳动者接受某种高等教育对其收入的影响,或者比如研究某个企业运用了某项管理层激励措施以后对企业业绩的影响。如果我们简单地将是否执行了某项时间作为虚拟变量,而对总体进行回归的话,参数估计就会产生偏误,因为在这样的情况下,我们只观察到了某一个对象他因为发生了某一事件后产生的表现,并且拿这种表现去和另一些没有发生这件事情的其他对象去做比较。这样的比较显然是不科学的,因为比较的基础并不同。


通俗地说,我们真正要做的是考虑,如果拿小明来说,小明读了研究生和小明没有读研究生,他的收入会差多少?可是小明已经读了研究生,我怎么才能估计出他要是不读研究生,他的收入会是多少呢?


于是,我们引入“倾向得分匹配”这样一种研究方法。英文叫Propensity Score Matching。这种方法能让我们从一大堆没有参加培训的人群中(也就是我们的总体样本的一个子集),对每个人读研究生的概率进行估计,然后选出和小明具有非常相似的去读研究生的概率,可是没有去读的同学小刚——作为小明的对照,然后再来看他们的区别。当样本中的每个研究生”小明“都找到了匹配的非研究生”小刚“,我们便能对这两组样本进行比较研究了。


1. 所以第一步,我们要对总体样本执行probit或者logit模型,然后估计出每一个观测对象读研究生的概率是多少。以probit模型为例,在stata中,执行以下命令:

probit [dependent var] [independent var]

其中,[dependent var]是一个0或1的二进制变量,1代表该对象读了研究生,否则是0。

2. 对每一个观测值,我们根据估计出来的probit模型,算出他读研究生的概率是多少。Stata中,执行如下命令:

predict pscore, p

其中,pscore是定义的记录每个观测对象概率的变量名称。

3. 使用psmatch2命令,让Stata帮你对于每个读了研究生的观测对象,找出一个与之具有最接近的概率值的,可是没有读研究生的观测对象:

psmatch2 [dependent var], pscore(pscore) noreplacement

其中,(pscore)是在第二步中生成的那个记录对象概率的变量,noreplacement是一个选项,使得任何读了研究生的观察对象的对照对象都具有唯一性,换言之,只能1对1匹配。

4. Stata会在你的数据中自动添加几个变量,其中_id是自动生成的每一个观测对象唯一的ID;_treated表示某个对象是否读了研究生,如果读了,_n表示的是他被匹配到的对照对象的_id;_pdif表示一组匹配了的观察对象他们概率值的差。

做好了这些,你就完成了一个最简单的1对1的倾向得分匹配。psmatch2还提供多种匹配方法,比如在一定的半径范围内的临近匹配、在一定概率阀值内的全部匹配等等。具体的可以在Stata中输入help psmatch2查看所有可用的选项。



倾向得分匹配的理论

倾向得分匹配的理论框架是“反事实推断模型”。“反事实推断模型”假定任何因果分析的研究对象都有两种条件下的结果:观测到的和未被观测到的结果。如果我们说“A是导致B的原因”,用的就是一种“事实陈述法”。而“反事实”的推断法则是:如果没有A,那么B的结果将怎样(此时,其实A已经发生了)?因此,对于处在干预状态(treatment condition)的成员而言,反事实就是处在控制状态(condition of control)下的潜在结果(potential outcome);相反,对于处在控制状态的成员而言,反事实就是处在干预状态下的潜在结果。显然,这些潜在结果是我们无法观测到的,也就是说,它们是缺失的。


PSM介绍

倾向得分匹配的理论框架是“反事实推断模型”。“反事实推断模型”假定任何因果分析的研究对象都有两种条件下的结果:观测到的和未被观测到的结果。如果我们说“A是导致B的原因”,用的就是一种“事实陈述法”。而“反事实”的推断法则是:如果没有A,那么B的结果将怎样(此时,其实A已经发生了)?因此,对于处在干预状态(treatment condition)的成员而言,反事实就是处在控制状态(condition of control)下的潜在结果(potential outcome);相反,对于处在控制状态的成员而言,反事实就是处在干预状态下的潜在结果。显然,这些潜在结果是我们无法观测到的,也就是说,它们是缺失的。

我们假定有N个个体,每一个处在干预中的个体i(i=1,2, ,N)都将有两种潜在结果( ),分别对应着未被干预状态和干预状态中的潜在结果。那么对一个个体进行干预的效应标记为 ,表示干预状态的潜在结果与未干预状态的潜在结果之间的差,即:

表示接受干预, 表示未接受干预,同时 表示所测试的结果变量。那么反事实框架可以表示为以下模型:

该模型也可以表示为:

这个模型表明,两种结果中的哪一种将在现实中被观测到,取决于干预状态,即D的状态。用ATT(Average treatmenteffect for the treated)来测度个体在干预状态下的平均干预效应,即表示个体i在干预状态下的观测结果与其反事实的差,称为平均干预效应的标准估计量,

很明显,反事实 是我们观测不到的,所以我们只有使用个体i在未干预状态下的观测结果 作为替代来估计个体在干预状态下的潜在结果——反事实。所以,给公式可以进一步表示为:

显然,这里需要到数据的随机性了。在实验数据中,个体是随机分配(random assignment)的,所以个体的所有特征在干预组和控制组之间是相等,也就无需考虑用 作为替代对反事实 进行估计时存在的偏差了,这里称为选择偏倚,换句话说,实验数据能够确保数据的选择偏倚为0,所以实验设计中,随机性能保证干预组和控制组之间的数据平衡。而对于观测数据,往往由于缺乏随机性,而导致干预组和控制组不仅仅在干预统计量上存在不同,还在第三方变量X(这个变量是可观测的)上存在区别。这时,我们必须要考虑到这些区别以防止出现潜在偏倚。


这时就要采用匹配的方式进行干预效应分析。匹配的目的在于确保干预效应估计是建立在可比个体之间的不同结果的基础上。最简单的匹配方式是将干预组和控制组中第三方变量X的值相同的两个个体进行配对分析。但是,如果X并不是某一个变量,而是一组变量时,最终简单的匹配方式也就不再适用,而是采用倾向得分匹配方式进行匹配。


最简单匹配方法的几个假设:

  1. 条件独立假设(conditionalindependence assumption or CIA):给定X后干预状态的潜在结果是独立的,换句话说,控制住X之后,干预分配就相当于随机分配。

  2. 共同支撑条件(common support condition):

对于X的每一个值,存在于干预组或控制组的可能性均为正,即

同时,第二个要求称为覆盖条件,即匹配组变量X需要在干预组和控制组上有足够的覆盖,即处理组每一个个体在控制组中都能找到与之匹配的X。

若X只有一个变量,则对于给定的X=x,ATT(x)的表达式为:

显然,X只有一个变量时,干预组和控制组针对X的匹配标准是清晰的:对于干预组个体和控制组个体,他们的X变量的值越近,这两个个体的特征也就越相似。


但,如果X不再只是一个变量,而是一组变量时,所谓“近”的判断标准也就变得模糊起来。针对这个问题,Rosenbaum and Rubin (1983)解决了维度问题,并证明了如果基于X相关变量的匹配是有效的,那么基于X变量组的倾向得分的匹配也将同样有效,从而奠定了PSM的理论基础。


这里,倾向得分是通过logist回归获得的,从而将X由多维降到了一维的水平。所以倾向得分中包含了X中所有变量的信息,综合反映了每个个体X变量组的水平。显然,倾向得分匹配的优势很明显——降维,它由单个变量(倾向得分)对个体进行匹配来代替了X所有变量为基础对个体进行匹配。


同样的,PSM的主要定理总结为以下几点:

定理一,倾向得分p(X)是一个平衡得分。有着相同倾向得分的两组个体之间的特征显然是平衡的。


定理二,如果条件独立假设依旧成立,那么潜在结果在倾向得分的条件下也将独立于干预状态。也就是说,只要向量X包含满足CIA的所有相关信息,那么倾向得分的条件作用也就等价于向量X中所有变量的条件作用。


所以,PSM的ATT(x)的表达式为:

为了估计ATT,需对p(X)在干预上的条件作用的分布取平均:



PSM的步骤

  1. 计算倾向值(采用logistic回归)

  2. 进行得分匹配

    得分匹配的几种方法:

    (1)最邻近匹配(Nearest neighbor matching, NNM)(是否使用卡尺 with or without caliper)

    以倾向得分为依据,在控制组样本中向前或向后寻找最接近干预组样本得分的对象,并形成配对。

    (2)半径匹配(Radius matching)

    设定一个常数r(可理解为区间或范围,一般设定为小于倾向得分标准差的四分之一),将实验组中得分值与控制组得分值的差异在r内的进行配对。

    (3)核匹配(Kernel Matching)

    将干预组样本与由控制组所有样本计算出的一个估计效果进行配对,其中估计效果由实验组个体得分值与控制组所有样本得分值加权平均获得,而权数则由核函数计算得出。

  3. 评定匹配后的平衡性

  4. 计算平均干预效果(ATT)

  5. 进行敏感性分析




推荐书籍与文献



        倾向值分析方法相对较新,近年来很多方法也发展迅速,本文只对起源和主要步骤进行介绍。在模型和算法选择,匹配后处理等方面有诸多细节,有需要的可以参照下列书目。

 1.《倾向值分析:统计方法与应用》

    对倾向值分析的起源、原理、应用和示例做了详细的介绍,并提供了数据和软件代码(Stata)。该书为译文,英文著作已在2014年推出第版《Propensity Score Analysis: Statistical Methods and Applications 2nd Edition》,对新的方法进行了更新,内容也更丰富,应该是目前关于倾向值分析最详细的教材。第二版的数据和代码见:http://ssw.unc.edu/psa/home

2. Randolph J J, Falbe K, Manuel A K, et al. A Step-by-StepGuide to Propensity Score Matching in R.[J]. Practical Assessment Research & Evaluation, 2014, 19.

        R软件MatchIt包的简易教程,对结果的讲解较详细,可实现常用倾向值分析的功能。

3. MatchIt: Nonparametric Preprocessing for Parametric Causal Inference

        R软件MatchIt包教程的详细版,对参数设置和原理进行了解释,并提供操作的语法示例。


4. 黄福强,杜春霖,孙梦辉,等. 倾向评分配比在SPSS软件上的实现[J]. 南方医科大学学报,2015,(11):1597-1601.


写在后面:各位圈友,咱们的计量经济圈社群里面资料和计量咨询都很多,希望大家能够积极加入咱们这个大家庭戳这里)。之后我们会逐步邀请社群里的圈友再直接建立微信群与圈圈对话,进去之后一定要看“群公告”,不然接收不了群信息。


提议

为了更好地促进计量经济圈成员学习因果推断计量方法,我们决定组建“causal effect”文献学习小组。里面主要是通过学习使用因果推断计量方法的经典文献,那让群里每个成员逐渐理解并掌握因果推断计量方法:treatment effects, RD, DID, DDID, Synthetic control等。






    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存