因果推断(causal inference)是回归(regression)问题的一种特例吗?

论坛 期权论坛 期权     
匿名用户1024   2021-6-1 05:15   7285   5
题主是因果推断小白,今天听了一个机器学习和因果推断的讲座,之前一直有的疑问又冒出来了:机器学习训练的模型已经无法写成简单的函数形式了,为什么因果推断还是以线性模型为主。因果推断可以表示成某种特殊的回归问题吗?
把treatment variable W 也当作一种binary feature,和其他的features X 放在一起做回归,定义某种用f(X, W)预测Y的损失函数,treatment effect可以用f(X, 1) - f(X, 0) 估计。这样做的问题在哪里呢?

我理解在observational study里需要处理数据(例如propensity score matching / re-weighting)使之尽可能满足unconfoundedness的假设,我的问题是:
1. 这种处理是否可以通过选取某种目标函数解上述回归问题自然导出?
2. 除此之外,因果推断和上述回归问题还有什么本质区别吗?
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
有关回应  16级独孤 | 2021-6-1 05:15:32
题主 @张宏毅 这个一年前的问题真的非常的棒。当时Susan Athey那个讲座([3])我也在现场,不过确实也是听的懵逼状态。而最近在学习、研究和一些文献阅读之后对题主的这个问题有了一些新的理解,因此便想回过头来把个人的一些见解稍微说一说。这个回答下其实已经有非常深刻到位的回答了(如 @刘垚 @慧航 的回答 - 当然前面的回答直接在unconfoundedness条件下讨论,而我这个回答就更小白,主要来讨论什么是confounding variable及可能的一些处理办法),我这里算是一个比较简单的个人向补充吧(本回答主要参考的是一篇很好的入门级观点型文章[1]),内容上和 @LINN 的回答比较重合。
[h1]一、引子:一个例子[/h1]我们应该经常听说一个说法:因果关系并不是相关性,而回归分析只能研究相关性。这句话有一定的道理,却也不完全准确。真正要回答这个问题并不容易,所以我们先来举一个简单的例子。
假设你是一个品牌商,然后你对在城市
广告的人均资金投入
和实际的人均销售额
之间的关系感兴趣。那么一个最简单粗暴的办法就是用看到的实际销售数据跑一个回归模型:

其中
是一个误差项,
就是我们关心的回归系数(假设我们已经把数据都中心化了,这样可以不考虑偏移项-
的“截距”)。
当然跑回归需要数据:假设我们目前在两个城市有销售历史数据-北京和上海。然后我们观察到在上海我们的人均广告投入是1元,人均销售额是10元,而在北京我们的人均广告投入是1角钱,人均销售额是1元。很显然,如果我们直接用这两组数据回归,我们便会得到:

然而,这个式子似乎告诉了我们增加1元人均广告投入我们就能得到10元额外的人均销售额。这个理解真的对么?显然你肯定觉得有问题了,但关键的点在于,问题出在哪儿?
[h1]二、问题出在哪儿?[/h1]在上述问题中,显然我们首先应该想到嗯我们的回归模型太简单了嘛,肯定有其它很关键的因素(变量)没考虑到所以就变成一个简单粗暴的二元关系式了。比如说,假设其实我们是卖咸粽子的,而上海人民普遍大多是咸粽子党,相比大多是甜粽子党的北京人民本来就对咸粽子的兴趣大得多。在这种情况下,这个对“咸粽子的兴趣程度”其实也会影响我们的销售额
。另外,我们再假设我们的广告部门在做广告的时候本身也知道这点(这个是常识嘛),因此他们在广告投放的过程当中就是会在上海地区更卖力,而北京地区偷懒,因此这个对“咸粽子的兴趣程度”其实也会影响

像这样同时影响一个回归模型的

的变量(variable)我们就叫做confounding variable
。数学上来看,如果我们用
代表
的分布(数据量非常大的时候所趋近的统计规律),那么我们知道回归得到的系数
(Cov表示协方差/Covariance)。利用
,我们可以把上式(右边)变形成

也就是说,如果
,我们这个回归跑出来的
就是无偏的,能反应数据背后的统计规律,反之就不行了。
注意这里有个值得澄清的点:如果我们只是希望用回归模型去做预测(prediction),那么实际上前一节的二元回归可能也就行了。但是这往往不是我们的主要目的,事实上就跟前一节考虑的问题那样,我们想知道的是增加一些广告投入,对销售额的影响(变化)是怎样的。即某些回归模型的变量
改变对 结果
的影响

因此,我们并不应该简单地把这里的问题看成“回归模型里缺了某些变量”。 事实上,对任何实际使用的回归模型,你都可以说它缺了某些变量。这里的问题实实在在的是,存在一个我们没有考虑的变量,同时影响着我们粽子的销售额
和投入成本
。而在我们简单的二元回归模型里,因为我们没有考虑这个confounding variable(因此它隐含在
里),使得

也会变得有相关性。在我们的粽子例子中,因为对咸粽子兴趣更大的城市会自然让该城市的广告投入和销售额增加,也就是说仅对

做回归会过高估计
变化对
的影响。
这便是因果推断的起点:如何通过已有的数据更准确的推断各种变量之间的因果关系(某些变量变化对结果的影响)
接下来我们就讨论一些可能有用的方法。
[h1]三、Difference in Differences(DiD)[/h1]当然目前为止我们还没有回答题主的问题。把DiD放在前面因为这个和题主的利用f(X,1)-f(X,0)估计treatment effect想法相似(这在实际中也是很powerful的一种想法)。当然要用DiD,一般我们需要所谓的纵向(longitudinal)数据, 即在一条时间线上不同点上的数据。
比如在我们的例子里,我们在两个城市一开始都有一段时间没有任何广告投入(
),然后比如3月我们在上海投放了一波广告(北京没有),4月我们在北京投放了一波广告(上海没有)。我们其实就可以把这个有没有投放广告看成是一种treatment,而在这样的数据情况下我们就可以来估计我们想要的因果关系。具体来说,我们考虑一段相似的时间段,如果这段时间段里没有投放广告,那么这段时间的销售额可以看成是“对照组”(control group)的数据,反之就是“投放组”(treated group)。我们记

时间段结束后投放组的销售额

时间段开始前投放组的销售额

时间段结束后对照组的销售额

时间段开始前对照组的销售额
那么我们确实可以将treatment effect(投放广告对销售额的作用)估计为:

即“差的差”DiD。当然这个式子看起来也是无比简单,而这个treatment effect实际就如题主所说的,完全可以用回归来估计(估计的时候甚至还可以加上更多的变量,比如季节影响啊天气啊等等),也可以像 @慧航 所说的用别的非参方法如bootstrap,或者神经网络:这些估计方法都只是“工具”,而不是模型。
注意实际上这里我们估计的是投放组真实的结果(投放广告之后的销售额)
和投放组的反事实(counterfactual,即投放组如果没有投放广告在时间段结束后的销售额的差
。并且还依赖了这样一个假设,即根据反事实,如果投放组其实没有投放广告,那么这个时间段投放组的销售额变化和对照组应当是一样的(数据采集的人们的行为是同质的-homogeneous):

[h1]四、控制实验(Controlled Experiments)和自然实验(Natural Experiments)[/h1]为了研究因果关系,如果有条件做“实验”显然是最直接的办法。当然实验大体也分为两种类型,一种是我们可以控制各种变量,另外一种就是其实并不能(比如很多医疗手术/用药的数据-人为想“控制”出一些“对照组”显然是不道德的)。
就拿我们的问题来说,实际上广告投放是我们完全可以控制的。相比前面的DiD,我们完全可以做的更好:我们完全可以在同样的月份,不同的城市里,根据顾客的资料信息将他们分成大致类似的两组,然后一组对他们进行广告投放一组完全不进行(对照和投放组),然后观察这个月份这两组消费者销售额的变化情况。
当然如果这并不现实,那么其实就如 @刘垚 所说的随机性(randomization)的重要性就更大了(随机性对估计treatment effect其实一直都很重要)。也就是说即使我们无法完美的有控制组和对照组的数据,是否可以自然观察到针对是否有treatment比较随机的结果(比如我们的广告投放是在固定的商场门口,然后来访问商场的顾客分布相当的随机无规律),以减小估计的误差。
[h1]五、工具变量(Instrumental Variable)[/h1]这也是计量经济学里非常常用的技巧。还记得前面卖粽子例子里我们说二元回归关系一个主要的问题是
其实同时跟
有相关性么?然而,如果我们可以找到一个工具变量,只通过变量
来影响结果
,那么我们就其实可以用这个工具变量作为“仪器”来“沿着”
独立于
运动地“测量”
的变化

如果我们把这个工具变量叫做
。在我们的卖粽子例子里,数学上就有


我们其实就有了两个回归模型。而我们注意到这两个回归模型结合在一起就给了我们:

这是一个对
的无偏估计
!而本质上我们就是利用了工具变量的特性将

的复杂影响给排除掉了(因为工具变量跟
是独立的)。而这种利用工具变量的回归分析有时也被称之为两阶段回归(two-stage regression; 留给大家思考:
的估计其实也可以看成是先做了一步回归,然后利用上一步回归的结果带入下一步回归中-那么这里具体是哪两步回归呢?)
当然,因果推断的招式很多,这里我只是浅尝辄止地谈了谈计量经济里用的比较多的几个方法,其它的像Regression Discontinuity之类的在某些场合也很有用(比如历史数据只有几个
和相应的
)。像Judea Peral几乎一己之力创造的基于贝叶斯网络和图模型的招式([2]),就完全落在另一个流派里了。我觉得,对因果关系的研究,从过去,到现在,直到将来都将一直会是人类科学研究的重点之一:比如说,究竟有哪些重要的因素,在何种影响和条件下,会促发某些癌症?反过来说,又有哪些关键的因素,条件,treatment,可以逆转癌症的扩散和恶化?时至今日,回归分析仍然是所有人类研究里最最常见的工具(也仍是目前因果推断研究的主流方法),而它伴随着现在的人工智能&机器学习热潮,又能带领我们在因果性的推断旅程里前进到何方呢?
[1] Varian, Hal R. "Causal inference in economics and marketing."Proceedings of the National Academy of Sciences 113.27 (2016): 7310-7315.
[2] Pearl, Judea.Causality: models, reasoning and inference. Vol. 29. Cambridge: MIT press, 2000.
[3] Susan Athey,Machine Learning and Causal Inference,MIT IDSS Distinguished Seminar Series, https://idss.mit.edu/calendar/idss-distinguished-seminar-susan-athey-stanford-university/ (国内观看需翻墙)
3#
有关回应  16级独孤 | 2021-6-1 05:15:33
我在第一次学习因果推断(causal inference)的时候也有这个疑惑。最近又在阅读一些关于因果推断的内容,试着回答一下。(所有讨论均基于unconfoundedness假设。)
按照我的理解,题主的想法可以写成:对于W=0和W=1两类数据分别用两个函数f(X,0) f(X,1)来做回归。(因为W是二值的,这样和题主说的f(X,W)应当是没有区别的。甚至可能会更好,比如一个高维的模型很容易忽略掉一维的W,因为在unconfoundedness假设下X的维数往往是非常高的。)有些时候会把这种解决因果推断的算法称之为预测模型(predictive model)。我印象中有很多关于因果推断的介绍会提到“Why naive predictive model doesn't work”之类的话题。下面的是我对这个问题的一点理解,不一定对:
事实上很容注意到,在两种情形下这一问题可以很直接使用回归模型解决。一种是我们可以同时观测到Y(1)和Y(0)。另一种情形是测试策略完全随机(randomized control trials),即测试策略W独立于Y(1),Y(0)。这两种情形下,平均因果作用(average treatment effect)可以轻易地通过样本来估计:Y_hat|W=1 -Y_hat|W=0。因果作用(individual treatment effect)可以通过回归模型估计:f(X, 1) - f(X, 0) 。
事实上在因果推断最核心的困难就是,对于每个X, 我们永远无法同时观测到Y(1)和Y(0)。完全随机测试事实上就是在模拟同时观测到Y(1)和Y(0)的情形。然而因果推断往往是基于观测数据的,完全随机测试是很难做到的。
如果考虑更合理的假设的话,有大量经典例子用于说明为何这种直接(naive)的预测模型并不总是奏效。简单来说就是处理机制(treatment assignment policy)W和Y具有相关性,如果不固定X的话。因此,直接分两类数据,W=0和W=1,对(X,Y)用naive的回归方法得到的估计是有偏的。我一时间没有找到合适的图,应该可以很容易找到一些直观的回归的例子说明这一点。
题主的问题1:那么能不能通过选取某种合适的目标函数,使得直接拟合f(X, 1)和f(X, 0)的方法奏效呢?我的理解是:可以是可以,然而并没有什么用。实质上就是你用回归的语言(选取某种合适的目标函数等等)把很多因果推断的方法重写了一遍。而这种重写之后的表述十分不自然,因为这个问题本质上和传统回归问题对数据的假设有所不同(下详述)。
以下都是我个人的理解(非常high-level且intuitive),或许也是对题主问题2的一种回答吧。
假如我们直接对(X,W,Y)做回归,我们的观测数据分布是
,其中
是我们的处理机制。在iid假设之下,我们的回归方法能够优化的损失函数实际上是这样一个损失函数:

(这里使用平方误差只是举个例子,关键是分布。)
而我们要估计因果作用(individual treatment effect)


对应于这个问题,我们的损失函数是
。稍作化简可以得到:

注意到这里w的部分和上式的不同。我们可以近似地(因为是不等号)认为,为了估计因果作用(individual treatment effect),我们想要优化的是当W|X服从一个均匀分布之下的目标。而我们的数据来源中W是服从我们的处理机制(treatment assignment policy)
的。这样就不是一个典型的iid假设之下的回归问题了。(这里也可以看到为什么完全随机试验下这个问题很容易地用回归的模型解决,因为此时W|X服从均匀分布。)
当然,我们有很多手段可以矫正这个分布去处理这个分布不合(distribution mismatch)的问题。如果用题主的话说就是选取某种合适的目标函数。事实上,整个因果推断中和counterfactual相关的讨论,几乎全部都可以视作是在解决这个问题。inverse propensity score/re-weight 就是一种非常自然的方法。如果我们非要在回归的框架下把inverse propensity score重写一遍也是可以的。但是没有太大的意义而且比较麻烦就是了。
而题主的第二个问题中的“本质区别”,如果按照我的理解就是因果推断中的数据分布是依赖于我们的处理机制的,而我们的损失函数却又是按照另一个分布计算的,这和回归问题中关于数据的iid假设非常不一样。
因此硬要说特例,也可以把因果推断(causal inference)看做是回归的特例。但并不是一个平凡的特例。一个或许不太恰当的比喻是:分类也是回归的一个特例,但是大家往往也单独研究分类问题。当“特例”本身具备太多自身独有的性质时,往往单独讨论更高效。
至于题主的另一个问题“机器学习训练的模型已经无法写成简单的函数形式了,为什么因果推断还是以线性模型为主。”因为:
1. 感觉统计和机器学习毕竟是两个community吧(笑)。统计领域关注的重点本来确实不太相同。研究因果推断的大部分还是在统计这个community里。我读到的因果推断的大部分文章还需要讨论error的asymptotic distribution/Gaussianity呢。如果用deep learning的model哪儿能干这个。所以以前这样的工作很少,更多的还是两个community不太相同的原因吧。
2.所以最近改变了啊(笑)。 最近出现了一些用更复杂的模型做causal inference的工作,尤其是一些也在机器学习的community里的人的工作。比如David Sontag在ICML‘17的这篇工作,基本上就是用一个deep nn去做回归。同时为了解决上述的distribution mismatch问题,从一个泛化误差界出发加入了一个惩罚项:generalization bounds and algorithms 。以及Stefan Wager的工作:讨论如果把任意准确度高的机器学习模型当做一个black-box的predictive model,如何能有效提升因果估计的准确度:[1712.04912] Learning Objectives for Treatment Effect Estimation


=====
再多说一点:我认为在机器学习领域中和因果推断最为接近的问题反倒不是回归,而是强化学习(reinforcement learning)和上下文老虎机(Contextual Bandit,我自己都无力吐槽,有更合适的中文表达请告诉我,笑)中的离策略方法(off-policy)。因为它们的核心挑战都是:当我的奖励反馈是"bandit feedback"--只有采用对应动作(action)才能观测到时,该怎么办?这和上面说的因果推断的核心困难的来源是一致的。因果推断的Y(i)对应强化学习中的奖励函数,因果推断中的处理(treatment)对应强化学习中的动作(action)。我们永远只能观测到对应的某种反馈而不是全部--因果推断中称之为潜在结果(potential outcome)而强化学习中把这种性质叫做"bandit feedback"。因果推断中的因果作用估计(treatment effect estimation)对应于强化学习中的离策略策略值估计(off-policy policy evaluation)。因果推断中的实验设计(experimental design)对应于强化学习中的离策略策略学习(off-policy policy learning)。而inverse propensity score的方法在强化学习中往往称为importance sampling。这两个领域才是讨论的问题其实相差不多,却在用两套完全不同的术语,摊手。
4#
有关回应  16级独孤 | 2021-6-1 05:15:34
因果效应归属为一类特殊的回归问题,处理对象的结果变量
与处理变量
之间存在因果效应可以视为结果变量与处理变量之间随时间变化的动态关系在treatment前后存在结构性断点/变化(Structural Break/Change)的一种情况,所以如果存在treatment  effect我们就可以用回归分析中structural break detecting的方法来检测因果效应,structural  break的大小就是treatment effects的大小。但是,反过来不成立,有structural break不一定意味着存在因果效应!

因此,在回归分析(Switching Regime Model)的框架下

以下我们来证明上述关系(逆推不一定成立!)。如果因果效应存在,我们尝试能否不构建结果变量
与处理变量
之间的关系式
来判断因果效应的大小(不构建reduced/structural form的原因在于规避model misspecification的风险、model assumptions以及异常值等等)。
一、动态关系建模
对于时间序列点
,我们考虑研究对象在时间序列轴
上的测量数据
,我们进而将这个随时间变化的演变系统简化为

     (1)
其中
为square integrable的实函数,0为
的列向量,

的结构性外生冲击,
为研究对象在时点
上的测量数据,m为样本容量。对于式(1),我们假设随机向量
的遍历稳态(Steady State)为
,满足
,且外生冲击满足
。我们考虑方程(1)在稳定态
处的一阶泰勒展开

      (2)
其中

的向量,
为函数

处求偏导的Jacobian矩阵,即矩阵的第(i,j)个元素为式(2)中第i个方程对
中的第j个元素的偏导数。定义

  ,  
  ,
     (3)
则式(2)可以转化为线性方程组

     (4)
于此,假设在以上研究对象之外,我们还对另外的研究对象感兴趣,并希望定量分析他们之间相互关系随时间的变化关系,那么由式(4),有

     (5)

      (6)
其中
分别为研究对象
自身演变的Jacobian矩阵。现在我们考虑将时间因素直接纳入分析中

     (7)

      (8)
我们考虑方程(7)、(8)对时间的导数:

,那么我们感兴趣的式(1)就转变为

      (9)
与式(1)相比,式(9)描述的是一个微分方程系统,我们试图构建微分方程来描述不同研究对象之间的相互作用关系是如何随时间的变化而变迁的。由式(4)易得

    (10)
其中
分别为两个研究对象随时间变化的稳态,即
,使得式(9)同时也满足
。同理,由式(4)、(5)、(6)可得


       (11)
以及

     (12)
由式(11)可得


       (13)
将联立式(13)代入到式(12)中,即可得到方程(9)的一组线性表达

     (14)
由此,不同研究对象之间的关系即可由上式(14)所示的一个微分线性随机过程来描述。值得注意的是,尽管式(2)被写为一个一阶线性系统,然而其实高阶系统与模型也可以包含入内,考虑如下任意
阶方程

     (15)
其中
为滞后阶数。事实上,式(15)也可以写为一阶的形式

简记为

      (16)
由此同理可得

      (17)

       (18)
我们将式(17)、(18)代入到式(14)中,最终得到

     (19)
由式(17)、(18),此时根据式(19),只要我们已知
之中的任意一个就可以求出另一个。基于式(19),我们可以做以下东西:
  • 构建不同研究对象自身随时间变化而变迁、演变的定量模型,对未来演变趋势做定量预测;
  • 构建几个不同研究对象之间的相互关系随时间演变、变化的动态模型,不仅可以对相互关系进行预测,还可以通过其中一个研究对象的演变预测其他研究对象未来的演变趋势;
  • 检验几个不同研究对象之间的相互关系随时间的演变是否存在结构性突变(Structural Breaks/Changes),自动侦测到结构突变点;
  • 定量评估研究对象之间的相互关系是否会受到外生因素随机冲击的影响,以及影响的大小。
二、结构断点/变化与因果效应
为了简便,我们考虑最简单的情形:完全随机实验下的处理效应估计(RCT),结论同样可以推广到观测研究(Observable   Study)的情形上。由上所述,我们构建起来的式(19)可以detect出结构断点,以下我们证明当因果效应存在的时候,这个结构断点其实就是treatment  effects,即如果treatment effects不为零,那么结果变量
与处理变量
之间潜在的Regime shift model在treatment前后一定有一个结构变化或断点。由式(7)、(8),我们考虑
自身演变是关于时间序列的一个二元函数


        (20)
通过OLS得到其中的参数后,我们分别对式(20)的时间
求导,得到


      (21)
于此,容易找到一个关系函数
使得式(19)成立

      (22)
由此,式(14)就转变为

      (23)
其中
。由式(22),将估计出来的参数代入进去,我们可以得到

      (24)

为接受treatment时我们关注的结果变量的拟合预测值。那么我们进而考虑回归模型

     (25)
通过OLS得到式(25)的参数后,对式(25)进行预测得到

       (26)
则我们可以得到以下命题:
命题   
(证明略)
由此可见,我们可以将treatment effect与structural break/change的switching regime model纳入到一起,二者之间有一个相互沟通的“桥梁”!
三、美国民主党参议员竞选实证研究
我们用一个真实的例子来验证上述推理,证明当存在treatment   effects的时候因果效应的估计可以用结构断点/变化检测的方法来做。我们从美国大学政治与社会联合研究会(ICPSR)收集到1914年至1990年间美国参议院参议员电子选举投票结果,以及从CQ选举投票及电子选举集合(lections  Collection)中收集到1990年至2010年间的参议院参议员选举投票结果;其余数据来源于美国参议员历史办公室(Senate  Historical  Office)。数据集包含两个变量:结果变量Y是美国民主党成员参选当期参议院参议员在全国各州获得的投票数,取值范围为0~100;原因变量X是民主党参选参议院同样职位时前一期获得的盈余,盈余等于民主党得票数减去最强竞争对手的得票数,取值范围为-100~100。盈余大于零时,民主党赢得选举,反之则输掉选举。由此,我们想要研究前一期选举的结果是否会对当期的选举结果造成影响,即检验美国宪法直接选举制度下选民的选举行为是怎样的,选票是怎样投出来的,投票的行为心理特征是什么。
采用本文提出的基于动态测量的结构断点检测新方法,最终得到分析结果:

图1 美国民主党参议员竞选当期、前期结果关系的结构断点/变化检验由图10左图与中图可见前一期美国民主党竞选参议院得票状况与当期竞选得票状况关系存在一个明显的结构性断点,且结构断点大概发生在x=595处附近。再结合图10中的右图可以发现,当前一期竞选结果盈余大于零时,当期竞选得票数有一个显著的上升过程。这表明在美国的参议院竞选活动中,参选主体之前的竞选结果会显著的影响其之后竞选的结果。这与采用断点回归(RD)方法得到的结果一致:

图2 美国民主党参议员竞选当期、前期结果关系的断点回归结果图1与图2的实证分析结果表明在定量实证研究中,因果效应可以被视为研究对象间相互关系存在结构性断点的一种特殊情形,当存在因果效应时,我们可以用结构变化的回归方法去进行分析
四、思考与展望:beyond structural & reduced form
众所周知,定量实证研究的范式分为两种:简约式与结构式。那么我们的问题是,除此之外,还有其他的范式来进行因果推断吗?
我认为随着大数据时代的到来,机器学习方法的发展,很可能还存在着一种基于理论关系的inference  free of model  specification的研究范式来进行因果推断,这种方法与范式不依赖于模型的设定、模型的假设并且对异常值、缺失值的干扰更加稳健。


References
Alonso  C, Gutierrez J, Recio T, A Rational Function Decomposition Algorithm by  Near-separated Polynomials, 19(6) Journal of Symbolic Computation,  527(2007)
Alonso C, Gutierrez J, Recio T, A note on separated  factors of separated polynomials , 121(3) Journal of Pure & Applied  Algebra, 217(1997)
Calonico, S., M. D. Cattaneo, and R. Titiunik,  rdrobust: An R Package for Robust Nonparametric Inference in  RegressionDiscontinuity Designs, 7(1) R Journal, 38(2015)
Social Research Center of the Michigan University, “Politics Data Sets”, https://www.icpsr.umich.edu/icpsrweb/, accessed September 7, 2019
US Government, “Art and History”, https://www.senate.gov/artandhistory/history/common/generic/Senate_Historical_Office.htm, accessed September 25, 2019
5#
有关回应  16级独孤 | 2021-6-1 05:15:35
题主问了一个非常好的问题,我先在正在做关于causal的research,想谈谈个人对于题主问题的理解
如果我理解正确的话,题主主要是在问可不可以把treatment(trt) 和其他变量一起扔到模型里然后预测我们的outcome。这涉及到非常重要的一个概念,causal structure,我看到别的回答有人提到了Judea Pearl的流派,这个问题用causal DAG回答是最好的,如下
假设我们有三个变量,trt W,outcome Y和另一个变量C,同时我们假设如下两种causal structure:
  • W——〉C——〉Y
  • W——〉C〈——Y
请原谅我用如此粗鄙的符号,第一个的意思是W cause C,C cause Y,第二个是W和Y共同cause C(common outcome),这里 W C Y都可以延伸为一组变量,不一定是三个变量,而这里所谓的cause也不一定是线性关系,可以是任何关系,比如C=exp(X),causal DAG是一种nonparametric的表述因果关系方式,更多关于causal DAG的信息可以去网上查阅
好了,言归正传,题主说想吧W C扔到模型里一起预测Y,这里就出现了问题,先说结论,如果事实是无论上述假设的第一种情况,题主都得不到正确的W和Y的关系
第一种情况,C是mediator,当我们用模型Y=f(C,W)的时候我们其实是condition on C,粗鄙的说,这样的模型和因果结构会导致estimated parameter for W并不significant,让题主以为W和Y没有关系,但其实W是间接cause Y的,如果只用模型Y=f(W)是可以得到正确的关系的estimated beta for W也应是statistically显著的
第二种,C是collider,这种情况下,如果我们用模型Y=f(W,C),会得到显著的W的beta,从而以为w和y之间有因果关系,这是因为当我们condition on一个collider的时候,我们打开了一个backpath,从W到Y,但那不是因果关系,而是一种association,正确的模型是Y=f(W),而这个模型会给出不显著的W,从而得到正确的关系
上述的讨论非常基本,而且只针对了两种causal structure,不论题主使用那种模型,都应该基于真实的causal DAG,否则模型所给出的estimation你将无法自信地解释
欢迎留言或私信提问
6#
有关回应  16级独孤 | 2021-6-1 05:15:36
从现代一点的视角来看,因果推断本质上是个矩估计问题,因为想做出因果性的论断必然要依赖于假设,而这些假设一般可以用矩条件表示。比如回归里假设随机扰动外生,那么相应的矩就是(Y - X \beta)*X = 0。唯一的问题是,在observational studies中,矩条件可能会包含一些不可直接观测的nuisance parameters——常见的比如propensity score和response surface——必须通过数据加以估计,这才是我们需要模型的地方。无论是线性模型还是fancy的机器学习模型,都是在一定假设下去对这些nuisance parameters做近似。在常见的假设下,我们有doubly robustness这个良好的性质,只要把propensity score和response surface中的一个搞对,就能得到无偏估计。线性回归不过就是试图用线性模型来逼近真实的response surface,并假设近似误差足够小,不影响估计的偏误。其他很多fancy的model,比如causal forest,matrix completion,做的事情差不多,只不过利用了高阶信息,误差更小而已。
回到问题上来,直接去学习处理组和控制组的response surface,或者把数据pool在一起去learn一个统一的response surface,当然是可取的做法。同样,propensity score也可以用机器学习估计。还可以把两部分结合起来,做成doubly robust estimator。但关键是这样做了之后,能不能保证估计量具有良好的性质,比如无偏,至少渐进无偏?答案并没有那么平凡,需要我们对算法的性质有足够的了解。这也就是近年来Chernozhukov和Athey/Imbens两个组一直在努力的方向。现在我们知道,Lasso和forest都是Ok的。如果做honest inference,即先split sample,用一半估计nuisance parameters另一半估计treatment effect,那大部分机器学习算法也都适用。这里的核心想法是,要对矩条件进行处理,使其对于nuisance parameters的估计误差稳健,从而在样本足够大的时候,对effect的估计不会受太大影响。
至于为什么大家平常还跑回归……一是很多时候回归足够informative,如果散点图都不显著,那做出来的结论一般比较可疑。二是受经济学的影响,很多人觉得模型应该是theory driven的,如果理论告诉我线性模型是对的,那当然还是用线性模型(更加efficient)。三是,至少对于社会科学家来说,你搞太fancy了,reviewer也看不懂,何必呢……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:136515
帖子:27303
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP