快捷搜索:  汽车  科技

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素下面尝试使用加权的方法来修正因果效应。首先通过下图找到逆概率加权(Inverse-probability weighting,IPW)的对话框。然后将因变量/结果变量放入Outcome variable一栏,将自变量/处理变量放入Treatment variable一栏,将混杂因素放入Treatment independent一栏。同时指定预测条件概率的方程类型,一般默认为logistic回归。然而,根据既有经验,我们已经可以明确一些混杂因素的干扰。譬如,一般而言,不吸烟的母亲年龄较大而母亲年龄较大婴儿体重也较重。这就使得年龄干扰了我们对母亲吸烟影响婴儿体重的因果效应的计算。下图中的简单检验也证实了我们的担忧。这两种方法的核心前提是一致的,即认识到混杂因素取值不同的个体进入处理组(而非控制组)的概率是不一样的。这种条件概率还有一个更加网红的名称:倾向值(propensity score)。

在因果推断中,混杂因素(confounder)指的是既和自变量相关又和因变量相关的变量。在存在混杂因素的情况下,直接观察自变量和因变量的共变关系会得出扭曲、错误或虚假的因果效应。在目前主流的科学哲学中,只有理想中的随机分组-对照实验(RCT)能够真正解决混杂因素的问题。这是因为随机分组能够使得已经认识到的或尚未认识到的混杂因素在处理组和控制组中平衡分布,从而使得处理/控制独立于混杂因素,而通过比较实验组和控制组的结果均值就可以求出干净的因果效应。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(1)

因果推论是统计中的核心

然而,在现实中,研究者仍然大量依赖于观察性数据。而大多数实验随机分组的有效性也会受到严重的质疑。这使得研究者必须直面混杂因素,并想法设法去修正被混杂因素干扰的因果效应。当然,上述情况在社会科学领域尤为突出。因此,社会科学的发展无疑就是一部人类不断"杀掉"混杂因素的史诗。

在回归分析中加入巨多的控制变量很可能是许多研究者面对混杂因素时最后的倔强。政文观止今天就给大家分享两种更直观、更高效且更易于理解和解释的混杂因素杀手——加权匹配

这两种方法的核心前提是一致的,即认识到混杂因素取值不同的个体进入处理组(而非控制组)的概率是不一样的。这种条件概率还有一个更加网红的名称:倾向值(propensity score)。倾向值可以通过以混杂因素为自变量的回归方程进行预测。在此基础上,加权的方法较为温柔,那就是用数学方法逆转上述预测值。譬如在处理组中给倾向值更小的个体更大的权重,给倾向值更大的个体更小的权重。这样,在重新构造后的处理组和控制组中,混杂因素变得平衡,均值比较就可以发挥因果推断的作用。与之相对的是,匹配的方法事实上非常暴力,那就是不断地找倾向值最相似的两个个体(分别来自处理组和控制组)进行匹配比较。那么,如果有些个体过于离谱导致找不到匹配的对象呢?那就直接丢弃。正因如此,Gary King有一句名言"Matching is pruning!"也有学者认为匹配就是最极端的加权方式(给予某些个体0权重)。

下面我们结合Stata及其自带的数据来分析一个实例。(可通过窗口File – Example dataset获取或键入命令:use http://www.stata-press.com/data/r15/cattaneo2.dta)

该数据描述了母亲是否吸烟(mbsmoke)对婴儿出生体重(bweight)的影响,同时还记录了很多混杂因素(母亲年龄mage,母亲是否结婚mmaried,母亲教育程度medu,是否为第一个孩子fbaby等)。如果不考虑混杂因素的影响,可以直接计算母亲吸烟和母亲不吸烟两组的婴儿体重均值,再通过比较来进行推断。结果如下图所示,母亲不吸烟的婴儿体重平均比母亲吸烟的婴儿体重多275.2519克,差异显著。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(2)

然而,根据既有经验,我们已经可以明确一些混杂因素的干扰。譬如,一般而言,不吸烟的母亲年龄较大而母亲年龄较大婴儿体重也较重。这就使得年龄干扰了我们对母亲吸烟影响婴儿体重的因果效应的计算。下图中的简单检验也证实了我们的担忧。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(3)

下面尝试使用加权的方法来修正因果效应。首先通过下图找到逆概率加权(Inverse-probability weighting,IPW)的对话框。然后将因变量/结果变量放入Outcome variable一栏,将自变量/处理变量放入Treatment variable一栏,将混杂因素放入Treatment independent一栏。同时指定预测条件概率的方程类型,一般默认为logistic回归。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(4)

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(5)

结果如下图所示,母亲不吸烟时,婴儿体重的潜在结果均值(POmean)为3402.621克,母亲吸烟对婴儿体重的因果效应被修正为-232.1279克。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(6)

类似地,我们也可以用倾向值匹配(Propensity-score matching)的方法来"杀掉"混杂因素。很多高级玩家喜欢用psmatch2等自由度更高的外部包来实现这一过程。事实上,高版本的stata已经内置一键式的倾向值匹配功能。我们可如下图所示找到相应的对话框,然后和ipw一样制定好变量与方程。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(7)

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(8)

结果如下图所示,倾向值匹配给出的因果效应为-203.9734克。可见,即使都依赖于个体进入处理组的概率,加权和匹配给出的因果效应仍然有所差别。其中的奥妙就留给读者自己去探索了。

数据分析怎么确定因果关系?如何在因果推断中去掉混杂因素(9)

值得注意的是,倾向值匹配一般只能应用于二分变量,即只有一个处理组和一个控制组的情况;而逆概率加权则可以适用于多分类变量,因此得到了越来越多研究者的青睐。

当然,基于被试进入处理组的概率来解决混杂因素的方法也有自身的问题和风险。首先,只有当混杂因素成功被识别和测量的时候,对条件概率的预测才是有意义的,否则倾向值本身也不值得信赖。在这方面,随机分组-对照实验仍然是因果推断的圣杯。其次,预测条件概率的方程把多维的混杂因素强行降为一维,因此有丢失信息的巨大风险。也正因如此,不少方法学家认为应当直接用所有混杂因素的马氏距离进行多维匹配。

撰文:陆屹洲

猜您喜欢: