1. 背景
准实验研究与随机对照试验的区别在于随机分配,准实验研究在无需随机安排被试时,运用原始群体,在较为自然的情况下进行实验处理的研究方法。
实验研究与准实验研究,其主要区别在于对实验的处理上,一个要精心地进行随机处理,另一个却不进行随机处理,只是“自然”地采用原始群体,缺少随机组合本身则潜在地影响着实验的内在效度和外在效度。
与真实验研究相比,准实验研究的精度虽然低些,但克服了真实验研究对实验环境过于理想化的不足,由于采用原始的组,在较为自然的环境下以类似实验的方法设计方案来进行研究,因此降低控制水平,增强现实性,增加了实验的外在效度,使实验结果易于推广。
比如对于打车行业来说,有时候无法实行随机实验对同一城市分配不同的策略,一般会先选择一两个城市来先推广看效果,这个时候为了评估推广效果,会通过筛选与推广城市在城市、人口特征等方面相似的其他城市作为控制组,这样两组对比看同一时间段的推广效果。
“统计相关性并不意味着因果关系”,天天和数据打交道的小伙伴们都很明白这个道理。不少数据分析的工作其实都围绕着这个问题,举一些例子:
- 在 feeds 流里刷到一个新推荐策略的内容的用户留存更高,他们的高留存是因为这个推荐策略导致的吗,这个策略究竟对留存的提升有多大效果?
- 上周投放了某游戏广告的用户登录率更高,他们的高登录率有多大程度是由广告带来的,有多大程度是由于他们本身就是高潜力用户?
在这些例子中,本质上,我们都是想要分析一个干预(Treatment)对一个结果(Outcome)有怎样的影响,想要探究其中的因果效应。大家熟悉的 A/B 测试是回答上面这些问题的黄金方式。但是,A/B 测试也有一定的局限性,例如:
- 需要花一定的时间实现,比较耗费人力;
- 需要占用足量的随机流量,并且需要持续一段时间以收集数据;
- 某些实验可能损害用户体验,例如给用户推荐一些并不匹配兴趣的内容;
- 当可做 A/B Testing 的选择太多时,往往难以全部都进行尝试。
鉴于 A/B Testing 的种种局限性,研究如何利用手边已有的历史数据进行 “因果分析” 变得无比重要。
观察研究中的因果推断利用的反事实理论就是和我们能够观测到的现实情况相反的一种状态(Rubin 1980)。在于反事实框架下进行因果推断的原理是这样的:变量 X 对变量 Y 变化的因果效应可以表达为,当 X 成立时 Y 的结果与 X 不成立时 Y 的反事实结果之间的差异,如果这种差异存在且在统计上显著,则称变量 X 对变量 Y 是有因果效应的,否则二者之间就不存在因果关系。在日常生活中,当自己生病了,然后去看了医生,结果病很快就好了,我们心里会这样来构造反事实,假如我没有去看医生的话,也许还没好呢,那么看医生的因果效应就被假设推测出来了,这是反事实理论的生活起源。
2. 因果效应估计原理 Causal impact

图 1 产品生产流程

图 2 时间序列趋势拆解
- 趋势,即在一定时间内的单调性,一般来说斜率是固定的。
- 周期性,与季节性很像,但是它的波动的时间频率不是固定的。因为其波动频率不固定,一般会与趋势一起分析而不做拆分,比如上图中 trend 曲线,跌落谷底之后又反弹,这种往复的运动,被称之为周期性。
- 季节性,固定长度的变化,就像春夏秋冬的温度变化一样。比如上图中每 12 个月就会出现一次周期循环,不同年中每个月的值都大致相等。
- 节假日,业务通常也会受节假日的影响最终反映在指标的波动上。为了在历史数据中识别出节假日的效应,模拟数据最好有一年的历史数据。
3. 案例
a <- read_excel('data.xlsx') #寻找控制组(相似时间序列) cor.test(as.numeric(a$metric_y, 3), as.numeric(a$metric_x1,3), method="pearson") cor.test(as.numeric(a$metric_y, 3), as.numeric(a$metric_x2,3), method="pearson")
本文在微信公众号是付费文章,设置付费是为了提高一点点门槛,让知识的质量更好。这也是促使作者写出更优质文章的一种方式,希望您看完能有所收获,感谢支持!

评论