2/27/21 最近的学习笔记:贝叶斯方法分析因果关系
最近换到了新组,一下忙了起来。学习的事儿就有一点点拖延。好在目前差不多settle in了,可以再继续。不过感觉如果不有计划的规划一下时间,恐怕学习这种长期的事情就一直会拖欠着。所以还是要争取每周五把日历block一上午,专门用来学习,这样就没人能占用这个时间了。
上周突然想起之前经常有人提到的用贝叶斯方法做因果分析,自己之前完全没学过,所以还有点好奇。于是带着疑问去搜了搜。就主要想知道1)目前经济学应用微观的处理方法都是主要想解决selection on unobservable的问题,那贝叶斯是这类方法中的一种么?也是想主要解决这个问题?2)这个方法跟传统经济学的比,有什么优劣。在网上找到一个Duke大学统计系老师的tutorial,感觉讲的还挺清晰的。虽然如果有个实操案例(with codes)就更好了(嘿嘿,行,不要自行车了)。下面简单写一下我的理解。另,一个有意思的收获是看看现在的统计专业是怎么从不同角度理解和容纳经济学框架的。
1. 先回答我最关心的问题,贝叶斯方法并不能解决selection on unobservable的问题。而是需要假设treatment是随机抽选的。我的理解是baysian这个只是一个estimation的方法。但是DGP或者说outcome model需要自己假设。比如我的treatment assignment机制是non-compliance的experiment(课件最后讲了一下),那就是IV的方法跟Baysian inference的结合。如果我假设是fixed effect的模型,那就是fixed effect的outcome模型跟Baysian inference的结合,etc.
2. 好,问题来了,如果我有能力做一个randomize的实验,那最简单的就是试验后直接比一下outcome mean,或者用regression搞一下。那为啥非要用贝叶斯呢?tutorial里面说是这样滴:
1)说这个方法不用rely on large sample asymptotics,所以小sample也可以用?
2)可以得到individual causal impact-这点是超级给力啊,这个在业界经常很有需求。
3)没看懂😂
4)非常适合复杂的设定 sequential treatments,spatial and temporal data-不是太理解,普通non-baysian regression不能处理这些么
5)贝叶斯方法打开一个新天地,包括nonparametrics,model selection,model averaging之类。这个听上去好像有些道理,不过没有实际例子。
下面具体笔记。所有截图均来自:https://mbi.osu.edu/sites/default/files/2019-07/bayesian_causal_tutorial_ohiostate_june2019.pdf
文章最核心的论点,causal impact是一个missing Y的问题。W是0,1 treatment status,X是covariates。那对一个observation来说,只能看到W=1 或W=0. 和其对应的Y(1)或者Y(0). 然后问题就是怎么把missing的Y(0)和Y(1) 给simulate出来,根据观测到的数据。(就是我们平常说的find the counterfactual)

整体思路:四个变量Y(0), Y(1), W, X。假设他们都是realizatoin of random variables。有一个joint概率分布-Pr(Y(0), Y(1), W, X),theta是parameter。


得到causal impact需要知道Ymis,和thetaY。

怎么simulate missing Y。
方法一GIbbs Sampling
关于什么是Gibbs sampling,我又先去学习了一下MCMC (Monte Carlo Markov Chain) simulation。😂。这种sampling方法不是直接从posterior distribution里抽样,而是抽的是posterior conditonal的样本。然后把所有的post. conditional 都抽一遍。每次只有一个random variable。然后把这些样本集合在一起。MCMC理论保证说样本稳定以后,样本们的distribution就是posterior distribution。回主题。下面就是需要用Gibbs sampling来simulate Ymis,和theta。依据上面的原理,分别把Ymis和Theta当成random var的realization,然后把posterior conditonal都抽一遍。细节如下。

但是这个方法有一个问题,就是Y(0)和Y(1)从来不会被同时观测到,所以他俩的相关性也不知道。于是有了方法二。
方法二Transparent Parameterization
假设theta a是Y(0)和Y(1)的相关性。theta m是marginal distribution。然后下面举了regression adjustment的例子。比较容易理解。theta a = rho。


感觉以上就是这篇的精髓所在了,主要就是把missing Y搞出来。可以看到这里面确实能estimate出每个i的causal impact。然后课件简单说了下sample average和population average;再讲了用propensity score/covariates 去balance,这样能减少variance。如果纯粹是randomized的实验,那covariate balance不会减少bias(也没有bias),但是可以减少s.e。这里有两种方法,一种是把PS当成一个covariate加进去outcome model。另外的方法叫calibrated Bayes。把outcome model分成1)nonparametric function of PS,(2)parametric function of PS and covariates。另外还谈了feedback的问题。就是PS应该只反映treatment assignment机制,不被outcome影响。
下面举了个几个不同outcome model的例子。假设只有一个covariate。我感觉结论就是在common support好的地方,每个model的effect都差不多,se也小。但是不同functional form对缺少common support的地方结果就很不一样了。这种情况下,似乎GP更好一点?但是这么大的error bands,就算做出来这结果恐怕也没人敢用啊。。😂,这种如果在实际业务中,可能就选BART模型了。

slides最后又花了一堆时间介绍了non-compliance情况下的experiment和IV方法在Baysian inference下的应用。
欧了。大概总结一了下。虽然没有具体操作一个例子/看看codes。不过以后用起来也知道去哪里找,别人讨论的时候起码也知道人家在说啥😂。
Reference:
1. Bayesian Causal Inference: A Tutorial, Fan Li, Department of Statistical Science Duke University June 2, 2019 https://mbi.osu.edu/sites/default/files/2019-07/bayesian_causal_tutorial_ohiostate_june2019.pdf
2. Bayesian Inference: Gibbs Sampling, Ilker Yildirim, Department of Brain and Cognitive Sciences University of Rochester Rochester, NY 14627 August 2012 http://www.mit.edu/~ilkery/papers/GibbsSampling.pdf