社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习视角下的因果推断

kaggle竞赛宝典 • 3 年前 • 392 次点击  

机器学习可以通过样本直接匹配以及提升倾向性得分(PSM)准确度来实现样本的精准匹配,使得样本对反事实预测的研究更具有随机化实验的特性。本文从匹配法、断点回归法、双重差分法、合成控制法四个方面讲解机器学习视角下的因果推断。

 

1 因果推断分析框架

 

1.1 结构因果模型与潜在结果模型

 

1.1.1 结构因果模型

结构因果模型(structural casual model, SCM)的因果关系有以下一系列非线性和非参数所组成的结构方程组来刻画:

其中,是我们关注的对象变量,是直接影响对象变量的父类变量,是无法观测的扰动因素。

纯理论建模在一系列前提假设的情况下由式(1)所构建的方程组进行均衡求解,为此会将式(1)进一步展开为以下线性形式的简约方程关系来进行从参数估计和参数检验:

其中所对应的变量,即对应式(1)中的父类变量。

 

1.1.2 潜在结果模型

潜在结果模型(potential outcom,PO)框架的因果效应被看作是实验中样本的实际结果与受到随机处理后所产生的潜在结果之间的差异,即在一个N个样本的随机试验中,若有n0个未被处理的样本和n1倍随机处理的样本,则饰演的无偏平均因果效应(average treatment effect,ATE)被定义为:

其中是观测样本的潜在结果,上标表示是否收到处理,我们只能观测到两者中的一个,因此此时的ATE的无偏估计量为:

这个模型框架后续被Rubin(1974,2005)拓展到非随机领域,形成了著名的“Neyman-Rubin”模型。假设用哑变量D表示是否收到政策干预,D = 1表示收到政策干预,其样本集合被称为处理组,D = 0表示没有收到政策干预(也就是我们之前文章谈到的LATE模型),其样本集合被称为控制组。实验组和控制组的潜在观测结果分为,则实际观测结果可表示为:,此时ATE的估计量为:其中为条件期望算子。如果我们更加关注参与者的平均因果效应(average treatment effect on the treated,ATT)或者非参与者平均因果效应(average treatment effect on the untreated,ATU),则可以通过下面两个公式分别得到ATT和ATU的估计量:

 

1.2 机器学习与因果推断框架

PO因果推断在实践应用中会进行一定程度的简化,例如采用线性化假定、设定通用函数等,从而构建实证模型来进行因果效应的估计,但是这种简化方式必然会带来结果的偏差,因此可以通过引入机器学习方法提升因果效应识别的效果成为了可能。而改进的路径体现在两个方面:

  • (1)加强样本匹配的随机性,即提升控制组和处理组样本之间匹配过程的随机性,
  • (2)提升反事实预测的准确度,即对控制组和处理组样本的不可观测效应进行准确预测

 

1.2.1 样本匹配随机性

在社会科学研究中,很难去真正随机化一个社会实验,因此就需要充分利用观测数据进行随机化条件的创造。Rosenbaum和Rubin提出了一种倾向性得分匹配(PSM)的方法将非随机化的观测数据尽量模拟成随机化实验的重要方法(本质就是将实验组和对照组原本流量不同的群体,通过PSM变成流量分布一致的)。

从理论上看,倾向性得分是在给定样本特征X时,不同样本接受处理的条件概率,即

倾向性得分有常规的两步法:

  • (1)使用Logit模型利用观测数据拟合回归模型,并用该回归模型对所有观测值计算一个范围0~1之间的拟合值,作为各观测样本的倾向得分估计值;因此可以考虑使用不同的机器学习模型学习更加准确的倾向性得分估计值
  • (2)基于倾向得分估计值对样本进行匹配后估计因果效应。

 

1.2.2 反事实预测

公式(4)说明了反事实的原因,即只能获取参与与不参与中的一个结果,我们也将这种问题叫做缺失数据问题。

除了上面说到的提升样本匹配随机性之外,可以利用已有的观测数据对未知项进行反事实预测,通过计算实际观测值与反事实观测值之间的差异来估计因果效应。

在PO框架下,因果效应识别问题被转化为了纯粹的精准预测问题,因而机器学习方法能够拼接样本内与样本外的精准预测能力,提升因果效应识别的准确性。下面展开具体说说。

 

2 基于机器学习的因果效应识别提升方法

 

2.1 匹配法

样本匹配是因果推断效应识别中极其重要的一环。比如,在社会研究中,双胞胎匹配是被看作最理想的配对样本(理解为实验组和对照组可比较),可以通过控制不可观测的个体因素而得到较为准确的因果效应。但是我们知道,在大多数问题中,这种完美的匹配样本几乎是不存在的。利用已有的观测数据,尽可能的提升样本之间的可比性,主要的方法有两种:

  • (1)通过协变量进行直接匹配
  • (2)通过PSM方法进行匹配

机器学习方法在上述两种方法中均能够被应用,并未匹配效果带来一定的提升。

 

2.1.1 直接匹配

使用协变量进行样本匹配的核心思想是构造一个基于多维协变量的标量距离值,通过设定卡尺(caliper)来筛选距离处理组较近的控制组样本来进行配对匹配,计算一下配对匹配估计量来作为因果效应的估计值:

其中表示样本t属于处理组,c(t)表示匹配上的控制组样本,Nt表示处理组样本数量。不过由于距离函数的多种多样和数据集的丰富性,因果效应的估计值也会有所区别

 

2.1.2 倾向性得分匹配PSM

参考上面说到的两步法。

 

2.2 断点回归法

断点回归法是一种较为特殊的因果效应识别方法,相比较其他方法:断点回归法在研究设计之初已经完成了控制组和处理组的样本匹配过程。

具体定义是指,当研究的样本对象分别位于断点附近的位置但却受到了不同的政策对待时,被天然的分为了控制组和处理组(比如英语四六级425分的要求)。因此样本在政策钱没有收到特殊的区分对待时,可以认为两个分组的样本的各个协变量特征方面是极其相似的。

断点回归估计主要分为两类:

  • (1)精确断点回归
  • (2)模糊断点回归

 

2.3 双重差分法

  • 控制组与处理组之间的样本因变量差异是第一重差分
  • 两个样本组的因变量差异在两个时期时间的差异是第二重差分

因此时间因素是双重差分法的重要因素,因此用于众多的经济学因果效应实证研究中。在AB测试中也常用于空跑期实验指标就存在天然显著的问题。

双重差分的一个前提假设是匹配后的控制组和处理组样本的因变量(或者说是指标)呈现出平行趋势,即没有政策干预的情况下,两个样本组的指标应该以相同趋势发生变化,表示如下:

当满足平行趋势假设前提时,反事实结果是可以被准确估计的,从而可以通过双重差分法求出参与者平均因果效应,表示如下:

所以当平行趋势假设无法得到满足的时候,公式(13)得到的因果效应就会存在误差,而且随着样本的时间长度增加,平行趋势假设的可能性就会不断下降。

 

2.4 合成控制法

合成控制法估计因果效应的核心思想与双重差分法一致。

其本质就是当一个对照组和处理组在上策略之前不具有很好的相似性(即指标显著),这个时候就需要对多个控制组进行合成,保证合成后的控制组和处理组具有很好的相似性,从而观察上策略之后的合成控制组和对照组的因果效应估计值。

假设有J个样本,样本1时唯一收到策略错误干预的处理组样本,剩余的J-1个样本均是控制组样本,合成控制法试图找出一组最优的非负权重的向量 且满足,控制组样本在经过最优权重向量加权后形成合成样本,该合成样本与样本1在收到干预措施前具有非常相似的性质(即没有上策略之前,指标不显著),对应的合成控制估计量可以表示为:

其中,下标t表示时间,Y表示结果变量。

通过公式(14)来看,双重查分匹配过程看作合成控制法的一个特征,即控制组中去一个样本的权重为1,其余样本的权重为0,就是双重差分法。

 

参考文献

[1]更精确的因果效应识别:基于机器学习的视角

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129055
 
392 次点击