作为数据科学家,发现面试时经常被问到Experimentation相关的问题,所以在网上找了很多相关学习资料。这个课程我个人还蛮喜欢的:A Crash Course in Causality: Inferring Causal Effects from Observational Data,帮助我打下了很多causal inference的基础。现在分享一下我做的一些笔记,希望大家一起进步都能拿到心仪的offer~.1point3acres
这次先分享Week 1的笔记,希望大家多多加米呀我会持续更新的!
因果效应 (Causal Effect) 的主要难点
很难确定究竟是 A 导致 B,还是本身更倾向 B 的人会选择 A,或者两者都有影响。示例:假设“绿地(green space)”与“人们锻炼更多”之间有相关性。究竟是绿地增加导致人们更爱运动,还是本身就爱运动的人会搬去有绿地的地方?解决思路:需要在时间顺序上仔细设计和观察变化。例如,如果可以在同一批原本就居住在某区域的人中观察到“绿地”变化之后运动习惯的变化,那么可以更好地排除“迁移选择”的干扰。这往往要求有针对性的实验或研究设计。
SUTVA (Stable Unit Treatment Value Assumption):1. 无干扰 (No interference):一个个体的处理与结果不会影响另一个个体的结果。例如,如果因为 Facebook 上有社交连接,或 Uber 司机和乘客之间存在关联,就可能出现“干扰”或“溢出效应(spillover/contagion)”。2. 单一版本的处理 (One version of treatment):如果处理A有多个不同版本,就不容易清楚地解释到底是哪一个版本导致效果。
一致性 (Consistency): the potential outcome under treatment A=a is equal to the observed outcome if the actual treatment received is A=a
可忽略性 (Ignorability / No unmeasured confounders):在给定预处理协变量 X 的情况下,处理 A 的分配与潜在结果独立。可以理解为:在同样的 X 条件下,A 像是随机分配一样。示例:比如说在我们得知只有三本书有ai study tools之后这三本书就是X 但是我们randomly assign这三本书的用户 所以我们的abtesting还是成立的。
正值性 (Positivity):对于每一个可能的 X,都有一定概率分配到 A=0 或 A=1。也就是说没有某个组必然只会接受 A=1 或必然只会接受 A=0,否则无法比较和估计因果效应。for every set of values for X (every level of X), treatment assignment was not deterministic。
常见分析方法与设计思路
标准化 (Standardization):通过对协变量 X 进行分层(stratification),再用各层在总体中的权重加权平均,得到总体平均处理效应。在实际问题中,如果X维度很多,就可能难以直接分层计算,因此需要更高级的方法,如配对(Matching)、倾向评分加权(IPTW, Inverse Probability of Treatment Weighting) 等等。
Incident user design(New user design):也叫“新使用者设计”,即只关注那些“刚开始使用某个干预”的人,方便找一个明确的研究起点,从而减少历史数据带来的混淆。难点:如何定义“刚开始”?以及若要对照没用的人,就需要确保他们的观察起点在可比的时间点。Active comparator:有时会用“积极比较组”,而不是“不做任何事情”的对照组,以减少由于人群选择不同行为而产生的混淆。示例:如果想研究“做瑜伽是否能降低血压”,可能需要与“做另外一种运动(如Zumba)”的人做比较,而不是与“不运动”做比较,因为完全不运动的人在各方面可能与运动人群本质不同。